[Bug] Plugin git clone operations hang indefinitely and leak temp directories
Bug Description
Title: Plugin git clone operations have no timeout and leak
temp directories
Description:
Plugin fetching via git clone can hang indefinitely with no
timeout. When this happens:
- The git clone process runs forever (observed: 53+ hours,
3200+ CPU minutes at 135-146% utilization)
- ~/.claude/plugins/cache/temp_git_* directories accumulate
and are never cleaned up
- New Claude Code sessions spawn additional clone attempts
without checking for existing stuck processes
Reproduction:
- Uncertain what triggers the initial hang (possibly network
hiccup or GitHub rate limit during clone)
- Once stuck, the process persists across terminal sessions
Impact:
- Accumulated 22,000+ temp_git directories (~32GB disk
usage)
- Single git process consumed 53+ hours of CPU, nearly
brought down M4 MacBook Pro
Suggested fix:
- Add 60-second timeout to plugin git clone operations
- Clean up temp_git_* directories on session start if older
than N minutes
- Check for existing clone processes before spawning new
ones
Workaround:
# Kill stuck process
pkill -9 -f "temp_git_"
# Clean cache
rm -rf ~/.claude/plugins/cache
# Prevent recurrence (hourly cron)
(crontab -l 2>/dev/null; echo "0 find
~/.claude/plugins/cache -name 'temp_git_*' -mmin +60 -exec
rm -rf {} \; 2>/dev/null") | crontab -
Environment Info
- Platform: darwin
- Terminal: vscode
- Version: 2.1.27
- Feedback ID: b2e95441-bccb-4a3f-9b78-4be20752e8d3
Errors
[{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/chadthornton/.local/share/claude/versions/2.1.27 (expected in multi-process scenarios)\n at DUR (/$bunfs/root/claude:3589:2098)\n at jPA (/$bunfs/root/claude:3589:1209)\n at processT…
Note: Content was truncated.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗