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.
- 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. - 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.
- 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.
- Each agent works apartEach agent works on its own branch and git worktree, so their files never mix while they work.
- 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. - Changes land one at a time
use05 landmoves 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. - 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.
Keep reading
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.