From holyclaude
Cleans up local Git branches marked [gone] (deleted on remote) by removing associated worktrees and deleting branches. Lists branches/worktrees first and reports results.
How this command is triggered — by the user, by Claude, or both
Slash command
/holyclaude:clean_goneThe summary Claude sees in its command listing — used to decide when to auto-load this command
## Your Task You need to execute the following bash commands to clean up stale local branches that have been deleted from the remote repository. ## Commands to Execute 1. **First, list branches to identify any with [gone] status** Execute this command: Note: Branches with a '+' prefix have associated worktrees and must have their worktrees removed before deletion. 2. **Next, identify worktrees that need to be removed for [gone] branches** Execute this command: 3. **Finally, remove worktrees and delete [gone] branches (handles both regular and worktree branches)** ...
You need to execute the following bash commands to clean up stale local branches that have been deleted from the remote repository.
First, list branches to identify any with [gone] status Execute this command:
git branch -v
Note: Branches with a '+' prefix have associated worktrees and must have their worktrees removed before deletion.
Next, identify worktrees that need to be removed for [gone] branches Execute this command:
git worktree list
Finally, remove worktrees and delete [gone] branches (handles both regular and worktree branches) Execute this command:
# Process all [gone] branches, removing '+' prefix if present
git branch -v | grep '\[gone\]' | sed 's/^[+* ]//' | awk '{print $1}' | while read branch; do
echo "Processing branch: $branch"
# Find and remove worktree if it exists
worktree=$(git worktree list | grep "\\[$branch\\]" | awk '{print $1}')
if [ ! -z "$worktree" ] && [ "$worktree" != "$(git rev-parse --show-toplevel)" ]; then
echo " Removing worktree: $worktree"
git worktree remove --force "$worktree"
fi
# Delete the branch
echo " Deleting branch: $branch"
git branch -D "$branch"
done
After executing these commands, you will:
If no branches are marked as [gone], report that no cleanup was needed.
npx claudepluginhub ajsai47/holyclaude/clean_goneCleans up local Git branches marked [gone] (deleted on remote) by removing associated worktrees and deleting branches. Lists branches/worktrees first and reports results.
/clean-gone-branchesPrunes remote references, deletes local branches marked [gone], removes associated worktrees, and reports removed items or notifies if none exist.
/bcleanSafely cleans up local Git branches without open PRs and stale worktrees based on age threshold. Supports --dry-run, --force, --days N, --help options.
/worktree-cleanCleans finished git worktrees by removing directories for safe (merged, no uncommitted changes) ones, pruning references, and reporting removed/kept items.