Run Claude Code, Cursor and Codex on one project without collisions
Give each agent its own git worktree or branch, so Claude Code, Cursor and Codex edit separate working copies and never clash in the same files. Then share one board so they agree on who works on what: an agent only starts the top task in Todo and claims it, so two agents don't take the same task. The worktree prevents file conflicts; the board prevents duplicate work. Token cost is measured for Claude Code only.

Start with a worktree per agent
The collision that actually hurts is two agents editing the same files at once. Git has the fix built in: give each agent its own worktree, a separate checkout of the repo on its own branch.
# one worktree per agent, each on its own branch
git worktree add ../proj-claude -b claude/task-a
git worktree add ../proj-cursor -b cursor/task-b
Point Claude Code at ../proj-claude and Cursor at ../proj-cursor. They now edit different working copies on different branches, so nothing one writes overwrites the other. When an agent finishes, merge its branch back and drop the worktree:
git merge claude/task-a # or open a pull request
git worktree remove ../proj-claude
A branch each, without separate directories, works too; the worktree saves you from stashing every time you switch. Either way, the point is the same: separate checkouts mean no mid-edit clashes, and the merge is where you reconcile the work on purpose.
Who works on what: one shared board
Worktrees keep agents out of each other’s files. They don’t decide who does which task. That’s what a shared board is for.
Connect Claude Code, Cursor and Codex to the same board and they stop keeping private lists. They read the same tasks, in the same order, and write back to the same cards. Two rules keep them from doubling up:
- Only the top Todo task is picked up. An agent starts the highest-priority task in Todo, not whatever it feels like. Backlog is held back until you move something into Todo.
- A claimed task is taken. Once an agent starts a task, it’s claimed, so the next agent moves to the next one. Two sessions never grab the same card.
Be precise about what this buys you: the board stops two agents taking the same task. It does not stop two agents editing the same file. If two cards touch the same code, you’re back to a merge, whichever tool wrote them, which is exactly why the worktrees above matter. Scope each task to a clear, separate piece of work and the two mechanisms line up: one card, one agent, one branch. For what an agent can do on the board, see working with agents.
Connect all three
Each agent connects in one click from the app. For the exact steps and how to confirm it worked, see connect Claude Code; Cursor and Codex follow the same pattern.
| Agent | Reads and moves cards? | Token cost measured? |
|---|---|---|
| Claude Code | Yes | Yes |
| Cursor | Yes | No |
| Codex | Yes | No |
Token cost is measured for Claude Code only. Pick the agent you want for a task, give it a worktree, move that task to the top of Todo, and let it run.
FAQ
How do I stop two agents editing the same files?
Give each agent its own git worktree or branch. Then each one edits its own checkout, so their changes land on separate branches and you merge them deliberately. A shared board does not do this; it stops them taking the same task, not touching the same file.
What does the board actually prevent?
Duplicate work. An agent starts the top task in Todo and claims it, so the next agent takes the next task. Two agents won't pick up the same card, but if two cards touch the same files, the board won't stop that; scope the tasks apart.
Is token cost tracked for all of them?
No. Token cost is measured for Claude Code only. Cursor and Codex can read and move cards the same way, but their work shows no cost figure.