In git worktrees, .git is a regular file containing a gitdir: pointer back to the main repository — not a directory. The -d check caused list and cleanup to silently skip all worktrees, reporting "No worktrees found". Changed to -e (exists) which handles both cases. Fixes #158 Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>