Spawn, watch, approve, and orchestrate AI coding agents — from one cockpit.
brew install --cask srjn45/tap/warden
macOS via Homebrew · Linux via deb / rpm · go install & source
Works with Claude Code, Codex, Antigravity, Cursor, Aider, OpenCode, Crush, and Goose.
TUI + web. See every agent's status at a glance.
Chain dependent agents into a DAG — analyze → implement → review.
A real ledger of tokens kept out of context, plus per-model cost governance.
Daemon, CLI, TUI, web, MCP. No database.

Framed panes, live agent detail, scrollable sessions, approvals inbox — all in the terminal.

A URL-routed dashboard with a Cockpit home, live SSE fleet, grouping, and a one-click attention queue — in the browser.

CPU, memory, context fill and fleet size per agent and fleet-wide — plus the tokens-saved trend and per-model cost, from the savings ledger.
Chain dependent agents into a DAG — outputs flow downstream, fan-out and fan-in resolve automatically, and the web UI renders the live graph.
brew install --cask srjn45/tap/warden # macOS — Linux: deb / rpm / source, see Install
warden doctor # preflight checks
warden start "fix the flaky nightly test" A native Android app for warden — spawn, watch, and talk to agents, plus a full terminal and on-screen key bar, over Tailscale or your LAN.
Sideloading: Android will ask you to allow installs from your browser the first time — that's expected. A Play Store listing is on the way.
The cockpit showed six agents, all orphaned. `ps` showed six agents, all alive, happily working. Nothing had crashed. The bug wasn't in my code — it was in which tmux server my code was talking to. Three isolation footguns, and how each one bites.
Read post →I restarted the daemon and the cockpit came up with an empty fleet. tmux still had every agent, alive and mid-task. The append-only store had lost nothing — but it loaded zero records, because a segment rotation had corrupted the index over data that was sitting right there intact.
Read post →I kept spawning more coding agents than I could track. So I built warden — a single Go binary that spawns, watches, and prices a whole fleet from one cockpit, whatever agent backend you run.
Read post →