I built a CLI to drive every AI coding agent from one interface A developer built agentproto, a daemon and CLI that unifies the lifecycle of multiple AI coding agents—Claude Code, Codex, Hermes, opencode, and Mastra—under a single interface with durable supervision, policy gates, and orchestration. The tool addresses the fragmentation of managing multiple agent CLIs by providing a common start/prompt/monitor/kill lifecycle and a supervision layer that persists beyond terminal sessions. The daemon itself is an MCP server with approximately 90 tools for agent lifecycle, orchestration, and monitoring. TLDR; I got tired of babysitting N terminal tabs of five different coding-agent CLIs. So I built agentproto — one daemon that drives Claude Code, Codex, Hermes, opencode, and Mastra through the same lifecycle, and actually supervises them. I have a confession: at any given moment I have Claude Code, Codex, and Hermes running in parallel terminal tabs, and I cannot remember which flag spawns which, which one eats --prompt , which one needs --cwd vs cd , and which one will hang forever if I close the laptop lid. simonw described the feeling on Hacker News recently — "Today I have Claude Code and Codex CLI and Codex Web running, often in parallel" — and called it a real jump in I didn't have a good answer. So I built one. It's called agentproto . It is one daemon and one CLI that drives any coding-agent CLI — Claude Code, Codex, Hermes, opencode, Mastra, and a few more — through the same start / prompt / monitor / kill lifecycle, so you stop memorizing five different CLIs. On top of that lifecycle it adds the supervision layer people keep hand-rolling by hand: durable policy gates, nested orchestration, and multiplexed fan-in monitoring. MIT, no paid tier, the daemon itself is an MCP server. This is the story of why it exists. The sharpest signal while I was building this came from other people independently re-inventing the same primitives in tmux scripts. On r/ClaudeAI, Confident Chest5567 posted a writeup of orchestrating agents via tmux panes with a watchdog that resets dead sessions — "a swarm of agents that can keep themselves alive indefinitely." In the same thread, That last sentence is the thesis. The orchestration and the supervision should live outside the agent — in a daemon, not in a tmux script you babysit by hand, and not baked into one vendor's CLI. When I read it, I realized agentproto was just the canonical implementation of what people were already gluing together with tmux + Redis + sleep loops that die when the terminal dies. And then there was grim io on HN, in a thread about parallel agent workflows: "I'm not convinced there is any hope for a productive, long-term, burnout-free parallel agent workflow. Not while they need even the slightest amount of supervision/review." That is the single sharpest statement of the el duderino 50 on r/ClaudeCode tried to build a supervisor agent that "reliably blocks Claude if it detects red flags" and reported back: "can't really get it to work reliably. It seems like communication and coordination between agents is pretty poorly supported." That is the exact gap a durable DIAGRAM: one daemon, N adapters, policy gates The shape is simple: agentproto daemon . It owns sessions, the event bus, the policy registry, the orchestration gateway. It survives your terminal closing. policy:passed / policy:failed fires on the event bus — no polling. Gate a commit on human approval: commit-ready → human ack → daemon stages and commits. This is the primitive IssueConnect7471 built a Redis watchdog to approximate, except it does not die when your terminal dies.The daemon is itself an MCP server — roughly 90 tools covering agent lifecycle, session introspection, orchestration, MCP composition, tunnels, cron, eval reporters, filesystem, terminal/PTY, browser-as-target, and scheduling. You script it from code, from another agent, or from cron. No terminal needs to be attached. npm i -g @agentproto/cli agentproto serve agentproto sessions start claude-code --cwd . --prompt "refactor the payments module" If you've used any coding-agent CLI, that's the whole learning curve. agentproto run