name: worktree-clean description: Use when removing a git worktree and cleaning up its associated local branch from the main repository. argument-hint: [worktree-path] allowed-tools: Bash
worktree_path = $ARGUMENTS
Remove a local worktree and delete its associated local branch. If no argument is provided, list worktrees and ask which to remove.
Local Only
Remote branches carry invisible state — open MRs, CI pipelines, review comments, deployment triggers — and deleting one can auto-close an MR silently. The user owns remote-branch deletions.
Submodules
Submodule git state under .git/worktrees/{name}/modules/{submodule} is cleaned up with the parent worktree — no separate step.
When Removal Resists
git worktree remove fails on unclean state; git branch -d fails on unmerged branches. Trivial leftovers (build artifacts, debug logs, already-pushed-or-merged work) justify forcing autonomously. Substantive uncommitted or unmerged work — describe what you found and let the user decide.
Run git worktree prune after removal to clear stale internal references.