Parallel worktrees

Three features at once, each on its own branch.

Put two agents in one checkout and sooner or later they edit the same file. overvibe new --worktree gives each helper its own git worktree, on a new branch ov/<name> made from your HEAD. When a helper stops, the session that started it gets the branch, the commit count, any uncommitted files and the command to merge it.

Free and open sourceRuns on Mac and LinuxYour own Claude and Codex logins
A coordinator starts its helpers with overvibe new --attach, and they work nested under it in the sidebar
Recorded on a demo machine: the Claude helper works on its own ov/ branch while Codex and agy run beside it.

Two agents in one checkout write a diff nobody planned

One session rewrites a file the other is halfway through, or runs the tests on a mix of both changes. Then you spend the afternoon working out which hunk came from which agent.

Helpers sharing one checkout
  • Both agents edit the same files
  • Tests run against half of each change
  • One branch with everyone's commits mixed in
One worktree per helper
  • Each helper gets its own folder beside the repo
  • Each one commits on its own ov/ branch
  • The merge command comes back when it stops

From one ask to merged branches

You type

Build the CSV export and the login rate limit in parallel, each in its own worktree, and merge them when they're done.

  1. 1Give the coordinator the list

    Features that don't depend on each other. Two or three is a good start.

  2. 2A helper per feature

    Started with --worktree and --attach, so each sits under the coordinator on its own branch.

  3. 3They commit on their branches

    Your own checkout stays where you left it, and you can keep working in it.

  4. 4Each stop brings a branch back

    Branch, commits, uncommitted files and the merge command arrive in the coordinator.

  5. 5Merge, one at a time

    With the tests between merges. The worktree and branch stay until you or the coordinator remove them.

Behind it, one flag per helper. The coordinator adds --worktree whenever two helpers would edit the same repo. Codex helpers take it too. Read the CLI reference

$ overvibe new --attach --worktree --cwd . --name "shop: csv export" \
    --prompt "Add CSV export to the orders page and commit. When done, run: overvibe send \"$OVERVIBE_SESSION\" \"<summary>\""
$ overvibe new --attach --worktree --tool codex --cwd . --name "shop: rate limit" \
    --prompt "Add a rate limit to POST /login and commit. When done, run: overvibe send \"$OVERVIBE_SESSION\" \"<summary>\""

Skip the worktrees when

there's one feature, or the second job only reads. A reviewer that leaves your files alone can share your checkout, and one agent on one branch is easier to follow than three.

Questions

Where do the worktrees go?

Beside the repo, in <repo>.worktrees/<name>, each on a new branch ov/<name> from the folder's HEAD.

Who cleans them up?

You do, or the coordinator once you say so. Overvibe never deletes a worktree or a branch on its own.

How many helpers can run at once?

A session can have 8 running children by default, 3 levels deep. Settings > Spawn limits changes both. Sessions you start yourself aren't capped.

Other ways to pair agents up

Split your next feature list across branches

Install Overvibe, start a coordinator in your repo, and ask it for one worktree per feature.

The Overvibe app: a coordinator with its Codex and Gemini (agy) helpers in the sidebar, each with its status, and one session waiting on you