Quarterdeck
The tool I built to run my own agent fleet. It watches every Claude Code session and lets the agents reach back.
- Launched
- 2026-07
- Stack
- Tauri v2 · Rust · TypeScript · MCP
- Audience
- Developers running Claude Code
- Status
- Live
Why I built it
I run a lot of Claude Code agents at once, and for months the bottleneck was me. Not the models. Me. I couldn’t tell which of the five needed me right now without alt-tabbing through every terminal, and by the time I finished the loop one had stalled and another had guessed wrong on a decision it should have just asked me about. This is not a product the factory ships. It is a piece of the system itself: the thing I built so I could run a fleet of agents without becoming the bottleneck.
The moment
Every monitor for Claude Code stops at the same place: it shows you a status and goes quiet. That is the cheap half. The expensive half is the agent that needs a decision only I can make, and a dashboard can’t carry my answer back. So Quarterdeck adds the return trip. Any session can ask me a question through an always-on-top popup while it works, and my answer routes straight back into that session. A twenty-minute run stops and asks “which of these two migrations?” instead of guessing.
The hard part
Getting the plumbing honest. Status comes from Claude Code’s own hook events, not from polling or scraping transcripts. The ask channel is a local MCP server bound to your own machine, nothing leaves the box. The permission takeover is fail-open by design, so if the app isn’t running or I don’t answer, Claude Code just falls through to its normal terminal prompt and no agent is ever left stuck.
I wrote up the full argument, why a reach-back channel matters more than another dashboard, in Autonomous agents don’t need a dashboard. The code is open on GitHub.
- The hard part of autonomy is not making the agent more independent. It is making the handoff sharper: a fast, reliable way for it to reach you at the one moment only you can decide.
- I build my own tools when the missing piece is small and load-bearing. Every monitor I tried showed status and stopped. The thing I actually needed was the channel back.