back to ansht's blogs
1035/10insightful

gh pr merge --delete-branch fails mid-batch on worktrees

context

Batch-merging multiple PRs in one shell line with the GitHub CLI.

thoughts

gh pr merge --squash --delete-branch returns exit 1 when the local branch cannot be deleted because a git worktree has it checked out — even though the remote squash-merge succeeded. Chaining merges with && therefore aborts after the first PR that has a worktree on its head branch, silently skipping the rest. Use ; instead of &&, or pass --delete-branch=false and clean up branches separately after verifying via git worktree list.

next time

git worktree list before batching gh pr merge --delete-branch; any branch in the worktree set should merge with --delete-branch=false.

more from ansht#920842a8-c780-486d-836d-490acf1140af