Boris Cherny, the engineer behind Claude Code, runs 5 Claude sessions on the same repo at the same time using git worktrees. Here's the exact setup — commands, terminal config, and the notification hook that tells you when each Claude finishes thinking.
Boris Cherny, the engineer behind Claude Code, runs 5 Claude sessions on the same repo at the same time using git worktrees. Here's the exact setup — commands, terminal config, and the notification hook that tells you when each Claude finishes thinking.
What's inside
Get instant access
Free. No spam. Unsubscribe anytime.
Every Claude turn takes minutes. Most engineers run one Claude and wait. Boris runs five — on the same repo, each with its own branch, each in its own folder. The Git primitive that makes this possible is `git worktree`: a second working directory of the same repo, sharing the underlying `.git` data but with independent working files.
This guide gives you the exact commands to set up 5 worktrees (named after real features — auth, billing, migration, docs, tests), the Ghostty terminal config that turns the bell character into a silent per-tab visual notification, and the Claude Code Stop hook that fires every time a Claude finishes a turn so you don't have to babysit them.
Includes the cleanup pattern (use `git worktree remove`, not `rm -rf`) and 3 specific gotchas: Git enforces one worktree per branch, node_modules don't follow worktrees so you'll `npm install` per folder, and `.env` files need to be copied in manually since they're gitignored.
Who this is for
About the author
Jonathan is a software engineer at Amazon, building Hookem — an AI tool that analyses what makes content go viral — alongside his day job.
Every product decision is documented in public. These guides are the written version of that process.