Learn/Multi-agent · 6 min · updated 2026-08-03

The agent inbox: how parallel coding agents talk to each other

An agent inbox is a message queue between AI coding sessions, used to hand off work, warn about collisions and pass context. What belongs in it, what does not, 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

ChannelDirectionUsed for
InboxOne session to one sessionHandoffs, requests, collision notices
RadarBroadcast, automaticWho is editing what, right now
Team messagesOne person or agent to the teamDecisions 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.

Questions

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.