Launching many threads into new worktrees at once failed most of them: concurrent fetches of the base lost the ref lock, branch and path names collided, and concurrent writes to the shared Git config failed on its lock. Retry hit the same collisions again. Concurrent fetches of one ref now share a single running fetch. A taken branch or path gets the next `-1`, `-2` suffix, the same style renames use, while Git stays the arbiter. Config writes and branch renames take a per-repository lock, so checkouts stay concurrent and concurrent renames pick distinct names. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Jake Leventhal committed on 10/23/2026, 6:56:21 PMparent5bb54a0
4 files changedLine totals unavailable