Several AI coding agents on one codebase, without stepping on each other

Run three agents on one repository and the trouble is rarely the code each one writes. It is that two of them edit the same file, one quietly overwrites the other, and a third builds on work that has since changed. 05 keeps them orchestrated: each one says where it will work, the others are told to stay out, and every change lands on its own.

What goes wrong without it

  • Two agents, one file. Both edit src/billing/retry.rs. Whoever saves last wins, and nobody is told.
  • Work built on sand. An agent finishes on a branch that was cut before another agent's change landed. Merged, it undoes or breaks the other change.
  • Nobody knows who is where. You find out an area was busy only when the result is wrong.
  • Leftovers. Every agent leaves a branch and a worktree behind, and soon nobody knows which ones matter.

How 05 keeps them apart

Every step is a fixed rule on file paths. Contents are never compared, and no model decides.

  1. Each agent claims an areaBefore its first edit, the agent declares its plan with a scope, such as src/billing/**. 05 seals it and treats the scope as a reservation for that agent session.
  2. A clash is caught at the planIf the new scope overlaps one another agent already holds, the agent is told straight away which task holds it, which agent declared it and what it is doing, so it can narrow its plan or wait. Policy can make this ask a person, or refuse the plan.
  3. And again at every editBefore each tool call, the agent's hook checks the files it is about to write. Inside another task's area, it is told to stay out or coordinate. If another session changed the file in the last 30 minutes, it is told to read that change before overwriting it.
  4. Each agent works apartEach agent works on its own branch and git worktree, so their files never mix while they work.
  5. The brief shows what is sharedIf another task also changed a file and that work is not in this change's base yet, the brief says so (OVERLAP) and says to rebase once the other work lands.
  6. Changes land one at a timeuse05 land moves a change onto its target branch only as a fast-forward of exactly what was checked. If the target moved since, it refuses and says to rebase, so nothing is merged over someone else's work.
  7. Nothing is left behindOnce a change has landed, its branch and worktree are removed. Branches your policy keeps, unmerged work and anything uncommitted are never touched.

You choose how strict

overlap = "warn"
The default. The agent is told and carries on; the brief records it.
overlap = "approval"
Working inside another agent's area waits for a person.
overlap = "deny"
An overlapping plan is not sealed, and edits inside another agent's area are refused.
reservation_idle_hours = 2
An area is released when its agent has been idle this long, so a stopped session does not block the rest. Finished work stops holding its area once it lands.

These live under [drift] in .05/policy.toml. An organisation floor can make them stricter for every repository, never looser.

What it does not do

05 does not start, schedule or prompt your agents. Run them however you like, with Claude Code, Codex, subagents or your own scripts; 05 keeps them in order. The live warnings cover every agent and worktree on one machine. Across machines, git still refuses a push that is not a fast-forward, and the brief still flags shared files, but agents are not warned while they work.

To set it up, follow get started with 05, then see the Claude Code and Codex hooks.

Try 05 on your own repositories

The source, install steps and docs are on GitHub. Questions, or want to tell us which agent and Git host you use? Email us. No forms, no cookies.