Free 4-page guide

Git Worktrees

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.

Free 4-Page Guide

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

The 5 git worktree add commands that spin up 5 isolated working folders off the same repo — no cloning, no setup churn
The Ghostty tab layout (with bell-features config) that gives you per-tab visual notifications without any system sound
The Claude Code Stop hook in settings.json that fires a tab indicator every time any Claude finishes a turn
Cleanup commands and the 3 gotchas (branch conflicts, node_modules, .env files) that bite if you don't know about them upfront

Get instant access

Free. No spam. Unsubscribe anytime.

01
What You Get
The 5 git worktree add commands that spin up 5 isolated working folders off the same repo — no cloning, no setup churn
The Ghostty tab layout (with bell-features config) that gives you per-tab visual notifications without any system sound
The Claude Code Stop hook in settings.json that fires a tab indicator every time any Claude finishes a turn
Cleanup commands and the 3 gotchas (branch conflicts, node_modules, .env files) that bite if you don't know about them upfront
02
The Details

What's inside

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

Developers running Claude Code (or any AI coding assistant) who are tired of waiting on a single session
Engineers juggling multiple features in flight who clone repos instead of using worktrees
Solo builders who want to ship 5 features in the time it takes to ship 1 — without context-switching pain

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.

Ready to get started?

Free 4-page guide. No spam. Takes 30 seconds to unlock.

Get the free guide →

More guides

The Hook Formula

4-page guide · Free

The Two-Way Door

4-page guide · Free

R2 vs S3

6-page guide · Free

Autonomous Agents vs Workflow Agents

7-page guide · Free

10 Claude Skills Every Dev Needs

5-page guide · Free

More guides dropping as they ship.