/project

whirr/[v0.3.10]

whirr logo

> cat README.md

macOS system dashboard for your terminal. No sudo, no mouse.

We spent years in fancy web UIs. Now we're back in the terminal, hours a day. So I wanted the machine in the window I already live in. Not another app to alt-tab to.

Then I added what I keep losing track of. Localhost servers, because I run a few projects at once and always forget one. Claude sessions, because I run several agents in parallel and I want to know which one is cooking the machine. Why only Claude Code? My opinion on Claude Code is well known.

Does it make your Mac faster? No. Does it tell you what's eating it, without asking for your password? Yes.

whirr running: cpu, temp and power up top, processes sorted by cpu underneath, dev servers and claude sessions at the bottom. tab between cards, k to kill.

install

brew install scoobynko/whirr/whirr

no homebrew, or homebrew is shouting at you about Xcode:

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/scoobynko/whirr/releases/latest/download/whirr-installer.sh | sh

rust toolchain:

cargo install whirr

Then run whirr.

Apple Silicon only. Intel Macs don't expose the power channels this reads, so there'd be nothing to show.

keys

keywhat it does
tabmove between cards
move inside one
c msort processes by cpu, by memory
oopen a dev server in your browser, or jump to the terminal a claude session runs in
kkill it. asks first
ssettings: theme, accent, background, fan
qquit whirr

it stays cheap

Under 0.5% CPU. Under 25 MB. Left running all day.

The process table is read with raw libproc calls. About 1 ms a pass, instead of the 35 ms a full sysinfo refresh costs. Three sampler threads at 2, 5 and 10 seconds. The screen redraws only when something changed.

one network request

Once a day whirr asks crates.io if there's a newer version, and says so in the footer if there is. Nothing else leaves your machine. Run it with --no-update-check and there are no requests at all.

> ls connect/

github crates.io

>cookies: analytics + session replay. details