Multiple branches checked out at once, no stash gymnastics.
Spoiler: git worktrees have shipped since 2015. The internet only just woke up to them because everyone is running parallel Claude Code agents and finally needs more than one checkout per repo.
The Setup
A worktree is a second working directory pointing at the same .git folder. Different branch, different files on disk, zero conflicts with your main checkout. Switching is instant — you just cd.
# from inside your main repo
git worktree add ../velocity8.5-feat-gallery feat/gallery
git worktree add ../velocity8.5-hotfix hotfix/footer-globe
# list them
git worktree list
# kill one when you're done
git worktree remove ../velocity8.5-hotfixThe Money Pattern
This is how I run parallel agents across the Aidxn portfolio sites. Two worktrees, two Cursor windows, two Claude Code sessions. One agent is refactoring the RadialGallery while the other ships a Netlify deploy fix. Behold:
# create a worktree per agent task
git worktree add ../v8-agent-a feat/agent-a
git worktree add ../v8-agent-b feat/agent-b
# open each in its own Cursor window
cursor ../v8-agent-a
cursor ../v8-agent-b
# merge sequentially when both are green
git checkout main
git merge --no-ff feat/agent-a feat/agent-bThe Catch
Hooks get weird. Husky, lefthook, anything that writes to .git/hooks assumes a single working directory and can step on itself across worktrees. Node modules don't share either — you'll npm install per worktree, which adds up on big projects. Use pnpm if you can.
The Verdict
Worktrees are the cheat code for multi-agent workflows. They cost nothing, they ship in vanilla git, and they make git stash obsolete for context switching. If you're not using them in 2026, you're stashing your way through a problem git already solved.