HEADROOM
How many more AI agents can your Mac take?
A Matrix-style menu bar meter for agent fleets. Claude Code, Codex, Gemini CLI, Hermes and friends, across every terminal you have open.
curl -fsSL https://raw.githubusercontent.com/theluckystrike/headroom/main/install.sh | bash
Paste it in Terminal. On Apple silicon it installs the latest release in about 5 seconds, checksum verified, with no Gatekeeper prompt. On Intel it builds from source with the Xcode Command Line Tools. Needs macOS 13 or later. Got the zip from a browser instead? Here's how to open it.
What it does
Counts agents, not processes
One Claude Code session is a node process plus MCP servers, language servers and shells. Headroom folds each tree into one agent and measures its real memory footprint.
Counts every terminal
One session is one tty: a tab, a split, a tmux pane. Terminal, iTerm2, Ghostty, WezTerm, kitty, Alacritty, Warp, VS Code, Cursor and Zed all count the same way.
Answers one question
Can I start one more? The number on the right is how many more agents fit before the Mac starts swapping hard. It reads tight at 3 or fewer and danger at 0.
The math
# what Activity Monitor calls free available = total - (app memory + wired + compressed) # what one more agent will cost: mean physical footprint # of the running agent process trees, MCP servers included per_agent = clamp(mean(agent trees), 150M, 4G) # 600M if none run headroom = floor((available - reserve) / per_agent) # reserve 3G, 6G under pressure # danger when any of these hold danger = headroom == 0 or pressure == critical or (swap ≥ 85% and disk < 10G)
Measured on the author's 36 GB Mac: 29.1G used (11.6G apps + 3.7G wired + 13.8G compressed), 6.9G available, warning pressure so a 6G reserve, 37 agents at 249M each: 3 more fit. Minutes later: 0.
Knows these agents
- Claude Code
- Codex
- Gemini CLI
- Hermes
- Aider
- opencode
- Goose
- Cursor Agent
- Amp
- Copilot CLI
- Droid
- Crush
- Qwen Code
No network, no telemetry. Reads only the names, arguments and memory of your own processes. Polls every 2 seconds; the rain pauses on Low Power Mode and when the screen sleeps.