A keyboard-first terminal TUI to monitor & run dozens of real Claude Code agents — 10 live at once, every session saved and instantly resumable — with live cost, context, and sub-agent tracking. No GUI. No Electron. No prefix keys.
Open source · self-hosted · made in the USA 🇺🇸
No telemetry. No network service. No account beyond your own Claude login. Auditable, local-only, and yours to theme.
macOS & Linux developers using Claude Code who run more than one agent at a time — and want fleet-level awareness without babysitting each tab. If you're terminal-first, keyboard-first, and want your tooling open and self-hosted, this is built for you.
Every session is a real claude subprocess. Everything is measured, not simulated.
Per-agent token, cost, and context-window tracking straight from Claude's own usage — with weekly spend and budget caps.
See when an agent spawns parallel sub-agents, with fan-out count and folded token accounting. No other tool shows this.
Each card answers "does this need me, when, and what next" — todo burndown plus a status-driven next-action verb.
Drop into a full PTY view of any agent — scroll history, toggle stats and tools panels, send input — then pop back to the grid.
Permission prompts surface on the card and route to a keystroke. Cycle plan / auto / acceptEdits modes without leaving the fleet.
Every session's identity, cost, and context survive a shutdown. Close the terminal tonight, reopen tomorrow, and resume a dozen conversations — mid-thought — with one keystroke.
Broadcast a prompt — or a /slash command — to every targeted session at once, and resume all active sessions with a single keystroke after a restart.
Move a running session between Claude models — Opus for the hard part, Sonnet for the grind — without losing the conversation. The context rides along; only the model changes.
The catalog syncs from the source — the Models API and the claude CLI itself. When Anthropic ships a new model, it shows up in your picker automatically. Opus 5 did.
Recorded from real sessions — zoom into an agent, the fleet dashboard, and live theme cycling.
:resume-all brings every session back at once.
Not a generic multiplexer, not a native app — a TUI that understands Claude Code agents. Runs alongside tmux and over SSH.
| tmux | cmux | Mission Control | |
|---|---|---|---|
| What it is | multiplexer | macOS GUI app | terminal TUI |
| Runs anywhere (SSH, any terminal) | ✓ | local macOS | ✓ |
| Purpose-built for Claude Code | ✗ | ✓ | ✓ |
| Per-agent cost / context tracking | ✗ | ✗ | ✓ |
| Sub-agent fan-out awareness | ✗ | ✗ | ✓ |
| Resume all active sessions | ✗ | ✗ | ✓ |
| Broadcast slash commands to all agents | ✗ | ✗ | ✓ |
| No prefix keys, zero config | ✗ | ✓ | ✓ |
| No GUI / no Electron | ✓ | native | ✓ |
| Open source & self-hosted | ✓ | ✓ | ✓ |
Requires Node 20+, the claude CLI on your PATH, and a 24-bit-color terminal.
# Run it now, no install npx @bluearch/mission-control # …or install the mc command globally npm install -g @bluearch/mission-control mc
📦 Published on npm as @bluearch/mission-control. Homebrew tap planned.
# From source (contributors) git clone https://github.com/xxyjoel/ba-mission-control.git cd ba-mission-control npm install && npm start