Patterns for coordinating work between multiple AI agents.
Work Assignment
Assigning and Claiming Work
Assign work to a specific agent, or claim it atomically for yourself:
Checking Assigned Work
Handoff Patterns
Sequential Handoff
Agent A completes work, hands off to Agent B:
Parallel Work
Multiple agents work on different issues:
Fan-Out / Fan-In
Split work, then merge:
If bd-epic carries a size/effort label, see Labels for keeping it off the parts.
For structured epic fan-out, bd swarm creates and tracks a swarm molecule
from an epic (bd swarm create, bd swarm status).
Agent Discovery
Beads has no agent registry — assignees are plain strings. To see which
agents are active, group in-progress work by assignee:
Conflict Prevention
Atomic Claims
--claim is atomic: when multiple agents pull from the same ready queue,
the first claim wins, and repeating a claim you already hold is idempotent.
Prefer claiming over assigning when agents self-select work:
Merge Slots
Serialize conflict-prone work (such as merge-queue conflict resolution) with
a merge slot — an exclusive-access primitive only one agent can hold at a
time. Each project has one merge slot bead, named from the issue prefix
(e.g. bd-merge-slot):
Communication Patterns
Via Labels
Coordinating Across Repositories
Agents can coordinate work that spans repositories:
Multi-repo routing, aggregated views, and contributor/team workflows are
covered in Routing and
Multi-Repo Migration.
Best Practices
- Clear ownership - Assign or claim work so every issue has one owner
- Document handoffs - Use comments to explain context
- Use labels for status -
needs-review, blocked, ready
- Avoid conflicts - Claim atomically; use merge slots to serialize
conflict-prone work
- Monitor progress - Regular status checks
- Sync at session end - Run
bd dolt push so other agents see your
updates