worktree
Manage git worktrees for parallel work on multiple branches simultaneously. Use when you need to work on two features at once without stashing or branch-switching.
Files1
View on GitHubSKILL.md.claude/skills/worktree/SKILL.md
GitHubWorktree Skill
Manage git worktrees for parallel, isolated work.
When to use
- Need to review a PR while working on a feature
- Running a long test suite on one branch while developing on another
- Comparing behavior between two branches side-by-side
- Agent team work where each agent operates on a separate branch
Create a worktree
# Create a worktree for an existing branch
git worktree add ../project-feature feature/my-feature
# Create a worktree for a new branch
git worktree add -b feature/new-thing ../project-new-thing main
List active worktrees
git worktree list
Remove a worktree (when done)
# 1. Confirm the work is committed or merged
# 2. Remove the worktree
git worktree remove ../project-feature
# Force remove if needed (work is intentionally discarded)
git worktree remove --force ../project-feature
Prune stale worktree references
git worktree prune
Rules
- NEVER remove a worktree without confirming all work is committed
- Each worktree has its own working directory — changes don't bleed between them
- Worktrees share the same git history — commits on one branch are visible from all
- Name worktrees consistently:
../project-<branch-slug>
For agent team workflows
When spawning multiple subagents for parallel work:
- Create one worktree per agent before spawning
- Give each agent its worktree path as its working directory
- After all agents finish, review each worktree's changes
- Merge or cherry-pick as needed
- Clean up all worktrees after merge