Your agents, working together.
Most tools run agents in isolation. CodeGrid's Agent Buslets one agent message and read another's pane — so Claude can hand a task to Codex, read its reply, and keep going. All on one canvas. Native. Local. No tmux.
you › Ask Codex to add an export button, then review its work.
→ list_agents — found codex on pane 2
→ message_agent(codex, "Implement an Export button…")
… Codex works in its own pane …
→ read_pane(codex) — "Done. Added ExportButton.tsx + wired the handler."
claude › Codex finished. I reviewed the diff — looks good, with one tweak I applied.
Three tools. Endless workflows.
list_agentsSee every agent CodeGrid is running — who to talk to.
read_paneRead another agent's recent output, cleanly.
message_agentType a request into another agent's pane and get its reply.
Set up in 30 seconds
Spawn Claude, Codex, Gemini — each in its own pane on the canvas.
One click in onboarding (or one command) wires the bus into every agent.
Ask one agent to delegate to, review, or coordinate with another — in plain English.
Why it's built in, not bolted on
CodeGrid already owns every pane's terminal — so the Agent Bus talks to your agents directly over a local socket. No tmux to wrap your agents in, no second multiplexer leaking its own keybindings, no daemon.
Your agents stay visible side by side while they collaborate, and everything stays on your machine. It works with Claude, Codex, Gemini, and Cursor — mix and match.