The FrontMania conference was pretty big on AI, I guess thatâs to be expected in 2026, the state of IT being as it isâŠ
I was there to see what others are doing with AI and to give a lightning talk myself, which was also an AI session, disguised as a git talk: âGit Worktreesâ.
Too Many Claudes
Git worktrees and merge queues at FrontMania Utrecht 2026

My Lightning Talk
When submitting my sessions, I also submitted âGit Worktreesâ as a lightning talk but it didnât mention anywhere how many minutes that would be. A lightning talk is 10 minutes right⊠Nope, turns out that at FrontMania, itâs 20!
No one is waiting for a deep-dive on git worktree (I think?), so I decided to also cover merge queues which was, for me, the next bottleneck when working with multiple agents. This decision also squarely positioned the talk in the AI corner đ
The Dark Factory
A week earlier at itenium, we did a technical session on âThe Dark Factoryâ. Which is basically three lightning talks combined.
- Guardrails & Backpressure: The boring part. Probably the most important part.
- Worktrees & Merge Queues: Scaling up the Claude Code chat windows.
- A Graph + A Loop: Do the two previous steps and a Dark Factory suddenly isnât so far fetched anymore.

All three decks are on dev.itenium.be/Presentations.
Life Was Good
Before the AI craze I lived happily in my terminal:

Then Claude entered the scene. create-react-app, which was already deprecated for years, finally went out the window for bun and vite as Claude modernized all my projects and helped me set up all the backpressure and guardrails. For me, life became better still: I was delivering more while simultaneously doing the things I had been postponing for years, you know stuff like replacing moment.jsâŠ
Two Claudes, One Checkout
Once I started talking with multiple Claudes, things started breaking:
- A Claude doing a
checkoutor acommit, interfering with the work of another Claude - Trying to verify one Claudeâs work while the others trigger compilation errors and hot reloads
They usually noticed and fixed it. No harm done, but it was wasteful in both time and tokens.
Enter git worktree
You already have the fix. git worktree shipped over a decade ago: a branch checked out in its own directory. They share the same .git folder, making it vastly superior to a separate clone.
git worktree add ../my-feature -b feature
git worktree list
git worktree remove ../my-feature
A useful thing I learned while creating the session: a .worktreeinclude will copy files (think your .env) to the worktree. Itâs part of the Claude Code harness or can be installed as a git extension.
At this point you need to move away from npm as you donât want to be waiting on an npm install after each worktree creation⊠I picked Bun, but switching to pnpm solves the problem as well, without requiring code changes. They both hardlink the dependencies in your node_modules making installation a matter of seconds.
Main Has Moved
Then things started going out of control. Two Claudes became four, then four became six.
And a new bottleneck showed up: A feature is ready on its worktree, the agent wants to merge to local main but main moved. So the agent does a rebase, build, test⊠and after all that main moved again. And again. At some point I was looking at 4 agents in exactly that loopâŠ
Until they just gave up, sat there doing nothing and waited for me to give the go ahead âyou can merge nowâ. Not very efficient.
The Merge Queue
The fix is to serialize the landing. Once an agent is done, it drops its branch on the merge queue and moves on to something else.
Not a new idea: big monorepo teams hit this long before AI. Bors solved it in 2013, GitHub has merge queues and GitLab calls it merge trains.
Iâm on GitHub but these were private repos and in that case, merge queues are a paid feature⊠It was also around that time that I read Fences, not Sandboxes by Steve Yegge and instead of just building a merge queue, in true AI Scope Explosion-style, I suddenly found myself building a Dark Factory.
Extras
Other interesting reads