A git worktree is an additional working directory attached to the same repository and the same history, so several branches can be checked out at once in separate folders the git-worktree documentation. The Nx team documents the pattern that agents made routine: create a worktree per issue, start the agent there, and keep editing your own checkout while it works in the background the Nx blog on worktrees. Laurent Kempé records the scale change that follows, from three worktrees kept for development and review to running one agent per worktree across projects the account of moving from three worktrees to N.
Isolation also protects correctness. A very common setup is one bare repository with a hidden metadata folder and a sibling directory per branch, so each task has its own checkout while sharing one history a practical bare-clone worktree setup. Espressif's workshop adds the agent-side discipline: a single request can change several files, and every changed file must belong to the task the Espressif agent Git workflow.
What worktrees do not fix is the last step. Ten agents finish, and one person has ten diffs to read. Attention does not parallelize the way directories do. The queue becomes the constraint, and the only way to keep review time flat is to stop paying full attention to branches that fail cheap checks.
The cost curve is documented. An analysis of more than 50,000 pull requests across more than 200 engineering teams reports 40 percent fewer defects in changes of 200 to 400 lines than in larger ones, about 25 extra minutes of review per additional 100 lines, and 70 percent lower defect detection above 1,000 lines the PR size data study. The same source reports 87 percent detection for 1 to 100 lines, 65 percent for 301 to 600, and 28 percent above 1,000, with meaningful comments falling from 3.2 per change to 1.8 as size grows.
Treat those as that study's findings rather than universal constants, but the shape gives you the decision rule: reading a big diff carefully costs hours and finds less. A gate that stops large diffs before the logic read protects the scarce resource you have.



