Running three coding agents at once is easy. Keeping track of them is not. Each has its own terminal, its own approval prompts and its own idea of the repo. On October 8, 2026, a tool called AgentPlane launched to solve that: a local web app that puts Claude Code, Codex, Cursor and dozens of other agents in one place.
HuggingNews reported the launch as coming from Karan Vaidya and Lucas Meijer, quoting a post by Vaidya (@KaranVaidya6): "Run any coding agent (Claude Code, Codex, OpenCode, Cursor and more) side by side on your own machine, each in its own copy of your repo." We could not open that X post. Our primary source here is the repository README at composio-community/agentplane, which we read in full.
What is AgentPlane, in one table?
| Question | Answer from the README |
|---|---|
| What is it? | "A local control plane for coding agents" |
| Agents | Claude Code, Codex, Cursor, Gemini, Pi and 35+ other agents |
| Where agents run | Your own machine, in your project folder or, optionally, in isolated git worktrees |
| License | Apache-2.0 |
| Status | "Early and moving fast; expect breaking changes" |
| Stack | Node 24+, pnpm, a local server on port 3773, React 19 and Vite UI, SQLite |
| Repo | composio-community/agentplane (created October 6, 2026) |
| Install | pnpm install, then pnpm dev, or pnpm build and pnpm start |
How does AgentPlane work?
A single local Node server owns everything: agent processes, git and state. The browser UI is only a client. Close the tab and the agents keep running. Reopen it and it catches up. The README describes this flow.
Browser
| one WebSocket (127.0.0.1 only, origin-checked)
v
apps/server -- orchestrator --+-- Claude: Agent SDK query() -> your claude binary
+-- Codex: codex app-server (JSON-RPC over stdio)
+-- Pi: pi --mode rpc (JSON lines over stdio)
+-- OpenCode: opencode serve (HTTP + SSE)
+-- everything else: ACP over stdio
v
SQLite: append-only event log + projections; git refs for checkpoints
Each agent gets an adapter that maps its native stream onto a shared timeline of messages, reasoning, tool calls, approvals, questions, plans and errors. State is event sourced: each change is a sequenced event committed with its projection in one transaction, and clients load a snapshot and then apply events by sequence number.
The agent table in the README shows how each one connects:
| Agent | How AgentPlane talks to it |
|---|---|
| Claude Code | Claude Agent SDK, using your installed claude |
| Codex | codex app-server over JSON-RPC |
| Pi | pi --mode rpc plus an injected approvals extension |
| Cursor, Grok, Gemini CLI, Qwen Code, GitHub Copilot, Goose, Devin, Amp, Kimi | ACP (Agent Client Protocol), from PATH or the ACP registry |
| OpenCode | opencode serve, an HTTP API and event stream on a random port with a random password |
| 27 more (Cline, Auggie, Kilo, Factory Droid, Mistral Vibe and others) | ACP, through the registry |
Registry agents run through npx, uvx or a downloaded binary, unpacked under ~/.agentplane/tools and checked against the registry's sha256 when one is provided.
What can you do in the app?
The README's feature list is long. These are the parts that change daily work.

- One inbox. Everything waiting on you across all threads, oldest first, plus what finished since you looked.
AandDapprove or deny the top request. - One permission policy. "Always allow" saves a project rule (a command family like
pnpm test, all file edits or one tool) that applies to Claude, Codex, Pi and every ACP agent. Chained or redirected commands never match. - Switch agents, keep context. An agent dropdown in the thread header moves a thread between agents between turns. Each agent keeps its own native session per thread. A new agent gets the thread so far (messages, commands with output, edits with diffs, plans, denied requests) within a budget.
- Every turn is a checkpoint. Before and after each turn the working tree is snapshotted in hidden git refs, leaving your index and branches untouched. You see "3 files changed +12 -4", a per-file diff and a Revert button that undoes only that turn.
- Steer while it works. Messages sent mid-turn queue up. Steer hands a message to the running turn for Claude, Codex, Pi and OpenCode. Other agents are stopped and get it next.
- Ship from the thread. Commit, push and open a pull request in one dialog, with your own git identity, hooks and
ghlogin. - Open in your editor. VS Code, Cursor, Zed, Windsurf, Sublime, JetBrains or Xcode, with each changed file opened at its first edit.
- A terminal per thread.
Cmd+Jopens shells in the thread's folder or worktree, with its ownPORT. - Keyboard first.
Cmd+Kis the command palette.Option+UpandOption+Downswitch threads. - Fast starts. Agents are started while you open a thread or type. The README's examples: Claude 6.5s to 2.9s to first output, Codex 7.7s to 2.4s.
Worktrees in under a second
Threads work in your project folder by default. Tick "Isolate in a git worktree" and a thread gets its own worktree, with gitignored .env files copied and node_modules cloned copy-on-write (APFS clonefile, reflinks on Linux). The README reports 561 MB of dependencies in 0.6 seconds, no reinstall. Each thread gets its own PORT range so dev servers do not collide. An agentplane.json can run a setup command, such as { "setup": "pnpm install --offline", "copy": ["config/local.yml"] }. Worktrees live under ~/.agentplane/worktrees/<project>/<id> on a branch named agentplane/<id>.
This matters because the launch coverage says "each in its own copy of your repo." In the README, a worktree is optional and a per-thread choice, not the default.
How does it connect to GitHub, Linear and Sentry?
The README has a Composio section. Add a Composio API key in Settings and:
- Every agent gets the same tools for GitHub, Linear, Slack, Sentry and 1000+ apps through one MCP endpoint injected into Claude, Codex and ACP sessions. Agents show a connect link the first time they need an app.
- Automations turn trigger events (a new Linear issue, a Sentry alert, a failing check) into threads with a prompt template. They stream over Composio's realtime channel, so no public URL is needed. A "Test with a sample event" button runs one on demand.
That fits the coverage that says AgentPlane triggers agent tasks from GitHub issues, Linear tickets or Sentry alerts. The repo lives under the composio-community organization. For background on MCP, see what MCP is.
How safe is it to let agents run locally?
The server "can run agents and shells as you," so the README treats every request as hostile until proven otherwise.

| Control | What the README says |
|---|---|
| Access | Only signed-in browsers. The session cookie is HttpOnly and SameSite=Strict. Requests must name 127.0.0.1 or localhost and come from the app's own origin. Pages cannot be framed |
| Private state | ~/.agentplane is owner-only (0700). Settings and the database are 0600 |
| Keys | OpenRouter and Composio keys never go back to the browser or onto an agent's command line. Agents reach Composio through a local proxy that adds the key |
| Repo code | A project's setup command waits for your OK in the thread |
| Phone | A paired phone can chat, approve and steer, but cannot open terminals or editors, commit, push or change settings |
| Always allow | Rules cover a command family, never a chained or redirected command. For programs that run arbitrary code (node, python, npx, bash, find) a rule covers only the exact command |
Each thread has one of three modes:
| Mode | Claude | Codex | Pi, OpenCode and ACP agents |
|---|---|---|---|
| Supervised | default (asks via the UI) | untrusted plus read-only sandbox | Ask for everything but reads |
| Auto-edit | acceptEdits | on-request plus workspace-write sandbox | Edits allowed, ask for the rest |
| Full access | bypassPermissions | never plus no sandbox | Allow everything |
The README's advice for full access is short: "Use full access in a worktree." We agree. For comparison, see how Codex handles approvals in our guide to Codex auto-review.
What about credentials and terms?
"Agentplane never handles your agent credentials. It runs the unmodified agent CLIs you installed and signed in to yourself." It does not offer a Claude.ai login or touch OAuth tokens, and it says it is not affiliated with Anthropic or OpenAI. An optional single OpenRouter key lets some agents run without their own login. The README's table says OpenCode, Pi, Grok (when not signed in to xAI), Qwen Code (when not signed in) and Goose can use it. Claude Code, Codex, Copilot, Cursor, Gemini CLI, Antigravity, Kimi, Amp and Devin use their own sign-in. It also notes that Google no longer lets Gemini CLI use personal Google accounts, so use a GEMINI_API_KEY or Antigravity.
AgentPlane or AgentsInTheCloud?
On the same day, Lucas Meijer posted a thread that opens: "I wanted: no lock-in to one AI lab, cloud agents that can't touch my laptop, to stay connected to the code, even when I don't write it by hand. For months I've done all my coding in a tool that does exactly that. Today I'm shipping it. It's free." The tool in his thread is called AgentsInTheCloud (agentsinthecloud.com, repo lucasmeijer/AgentsInTheCloud, MIT license). HuggingNews tied that thread to AgentPlane. We could not confirm the link, because the README and the thread name different tools. So treat them as two tools until the authors say otherwise.
| Question | AgentPlane (README) | AgentsInTheCloud (Meijer's thread and site) |
|---|---|---|
| Where agents run | Your machine: your folder or worktrees | Isolated cloud environments on a server, including "your own computer in a closet" |
| Isolation unit | Thread, optionally a worktree | A remote dev environment per task, each with its own agent, browser, terminals and VS Code |
| Secrets | Keys stay on the server and out of agent command lines | A proxy swaps in the real GitHub token, API key or SSH key on the way out, so secrets never enter the workspace |
| Agents | Claude Code, Codex, Pi, OpenCode and 35+ via ACP | Any agent, any model, any subscription; the thread shows Claude Code and Pi |
| Extras | Inbox, per-turn revert, Composio triggers | Mobile, "land" to merge and delete a workspace |
| License | Apache-2.0 | MIT |
| Setup | Node 24+, pnpm, build from source | A one-line install script for a Mac or a server; the site suggests Tailscale for a remote server |
If your main worry is "an agent touching my laptop," AgentsInTheCloud's approach fits. If your worry is "too many agent windows and approval prompts," AgentPlane's inbox fits. HN had a thread on AgentsInTheCloud with a single comment when we looked. It said the site "doesn't do it justice" and that the tool looks well thought out. One comment is not a reaction, so we do not draw conclusions from it. We found no Hacker News thread for AgentPlane itself.
How does it compare with other options?
| Option | Model | Notes |
|---|---|---|
| AgentPlane | Local web control plane for many CLIs | Open source, early, approvals and checkpoints in one UI |
| Claude Code desktop and cloud threads | One vendor's agent, with panes and cloud sessions | See Claude Code Projects beta |
| OpenCode desktop | One open agent with tabs and worktrees | See OpenCode desktop tabs, sessions and worktrees |
| Pi and Pi Durable | Minimal harness you extend | See Pi 1.0 |
| Plain terminals and tmux | Manual | No shared inbox or revert |
The reason to run more than one agent is cost and fit. Different agents are good at different jobs, and subscriptions have separate limits. A control plane helps only if the review step stays cheap, which is why the inbox and checkpoints matter more than the agent count.
How to try it
- Install Node 24+ and pnpm. Sign in to at least one agent CLI (for example
claudeorcodex) in a terminal. - Clone
composio-community/agentplane, then runpnpm installandpnpm dev. The server runs on port 3773 and the UI onhttp://localhost:5173. For a one-process build, usepnpm buildandpnpm start. - Open the launch link the server prints. It signs that browser in, and the link changes each start.
- Add a project and start a thread. Pick Supervised mode first.
- Tick "Isolate in a git worktree" for anything risky.
- Try one hand-off: ask Claude Code for a plan, then switch the thread to Codex and compare.
- Optional: add a Composio key and a test automation.
The README uses pnpm, so follow it as written. We have not run AgentPlane ourselves.
Limits and open questions
- Early software. The README says to expect breaking changes. The repo is days old, with very few stars.
- Source install only. We saw no packaged release in the README, only build-from-source steps.
- Node 24+ and pnpm required. That is a modern toolchain.
- Agent quality varies. Switching agents carries context, but the receiving agent only sees a summary within a budget.
- Full access is dangerous. The README itself says to use it in a worktree.
- Launch details are second-hand. The author attribution and "free" claim come from HuggingNews coverage of an X post we could not open. The license and features come from the repo.
- Some vendors restrict third-party harnesses. AgentPlane drives official CLIs and says it does not touch OAuth tokens, but check each vendor's terms.
Bottom line
AgentPlane takes a boring but real problem, supervising several coding agents, and gives it one inbox, one permission policy, per-turn revert and optional worktrees, all on your own machine. It is early, built from source and young. If you already juggle Claude Code and Codex, it is worth an afternoon in Supervised mode. If your priority is keeping agents off your laptop entirely, look at AgentsInTheCloud as well.
Related reading
- Claude Code Projects beta and cloud threads
- OpenCode desktop tabs, sessions and worktrees
- Codex auto-review
- Pi 1.0 and Pi Durable
- What is an agent harness?
- CUA Spaces and cross-computer agents
- What is MCP?
Sources
- composio-community/agentplane README (Apache-2.0)
- Lucas Meijer's AgentsInTheCloud thread on X, agentsinthecloud.com, Hacker News item
- HuggingNews summary (cites Karan Vaidya's X post, which we could not open)
Details are accurate as of October 9, 2026, and come from the repository README at that date. The project changes fast. Check the repo before you install.
