The agent inbox: how parallel coding agents talk to each other
A message queue between AI coding sessions, for handing off work and warning about collisions. What belongs in it, and how it differs from a shared chat.
An agent inbox is a per-session message queue that lets coding agents send each other short, structured messages while they work. It exists because parallel agents share a repository but not a context window. Without a channel between them, the only way one session learns what another did is to read the diff after the fact.
What goes in an inbox
- Handoffs. "The migration is on
feat/schema, the API layer is yours." - Collision notices. "I am rewriting
parseConfig, do not touch it." - Findings. "The retry logic assumes the old error shape; whoever owns the client will hit this."
- Requests. "Can you land your branch first? Mine depends on it."
What does not belong is code. An inbox is metadata: who is doing what, and what the next session needs to know. Passing code through it duplicates the repository, and the repository is already the place where code lives.
Inbox, radar and chat
| Channel | Direction | Used for |
|---|---|---|
| Inbox | One session to one session | Handoffs, requests, collision notices |
| Radar | Broadcast, automatic | Who is editing what, right now |
| Team messages | One person or agent to the team | Decisions humans need to see |
The distinction matters because the failure modes differ. A radar that requires anyone to post is a radar that goes stale, so it should be emitted by hooks as edits happen. An inbox that fills with broadcast noise gets ignored, so it should be addressed and quiet.
Why an agent reads its inbox at all
Agents do not poll. The practical pattern is to inject the count into the response of whatever tool the agent calls next: a line saying two unread messages are waiting, with the instruction to read them. That way the inbox reaches the model through a surface it is already using, and no separate loop is needed.
In Aura this is what the session-level messaging does. Sentinel messages go between agent sessions, team messages go to people, and both are announced in the next tool response rather than waiting for the agent to ask.
Keeping it useful
Two rules hold up over time. Messages should be about coordination, not status, because status is what the radar and the task board are for. And every message should name a symbol, a file or a branch, so the reader can act without a reply. "Working on auth" is not a message; "I own src/auth/session.rs until my branch lands" is.
See also: collision detection and handing context between agents.
What is an agent inbox?
A message queue between coding agent sessions. One agent leaves a note — I am rewriting this module, this interface changed, here is the context you need — and another reads it when it starts. It is how sessions that never overlap in time still coordinate.
How do AI coding agents communicate with each other?
Through shared state rather than conversation: a message queue, a task board, or the repository itself. Direct agent-to-agent chat is rarely worth it — a durable note that the next session reads on startup survives context limits and crashes, which a conversation does not.
What should one agent tell another?
Decisions and constraints, not narration. What was changed and why, what is now assumed, what is deliberately unfinished, and which files are mid-edit. The test is whether a session starting cold could act on the message without reading the transcript it came from.
Aura Crew vs Claude Code Loops: the autonomous work-loop, compared
Claude Code names four loop types: turn-based, goal, time, proactive. Aura Crew is the same idea with proof, collision-safety and any agent you like.
Autonomous coding agent loops, explained: turn-based, goal, time, and proactive
An agent repeating cycles of work until a stop condition is met. The four loop types explained, when to use each, and how to keep the quality up.
How to run multiple coding agents in parallel without merge conflicts
Several AI agents at once collide on shared files. The fix: a worktree per agent, a live team radar, and zone claims so no two ever touch one symbol.
Goal-based agent loops: giving a coding agent a definition of done
A goal-based loop iterates until a success criterion is met. The trick is a deterministic definition of done — tests, a score, a proof — not a guess.