agent canvas
08.2026A desktop canvas where several AI coding CLIs run as real processes and work as one team.

A Tauri desktop app that runs several AI coding CLIs at once, each one a real child process in its own terminal on a canvas, wired to whichever others I connect it to. Claude Code, Codex, Gemini CLI, opencode, Qwen Code and Crush all reach the same local server, without a per-tool adapter for any of them.
architecture
Each node on the canvas is a real AI coding CLI running as its own child process in its own terminal, and the node shows that CLI's own interface rather than a transcript of it, so permission prompts, slash commands and mode switches all work from inside the app. A local server, the Bus, reaches every agent as a real MCP server over stdio and gives it 16 tools: peer discovery, messaging, a shared task board where a claim is exclusive, shared memory, and a question that blocks the agent until I answer it. Nothing is pushed across a wire and nothing scrapes terminal output. The wires decide what each agent is allowed to see.
how i built it
- Ran every CLI as a real child process in its own terminal, so its native interface, permission prompts and slash commands keep working inside the app.
- Exposed the Bus to each agent as a real MCP server over stdio, which is why six different CLIs reach it without a per-tool adapter.
- Made visibility follow the wires: an agent can tell another node exists, but reading what that node is doing takes a connection.
- Capped self-started agents at 8 under a turn budget, so two agents talking in circles overnight stop before they become a bill.
- Gave each agent its own git worktree so concurrent edits never collide.
results
- 183 tests pass across the React frontend and the Rust backend.
- Four self-verifying examples fail on a fresh checkout until the agents actually do the work, including a two-heads example that starts failing the moment the wire between the pair is deleted.
- GitHub Actions builds the macOS, Windows and Linux bundles.