[Bug] Plugin git clone operations hang indefinitely and leak temp directories

Resolved 💬 3 comments Opened Feb 1, 2026 by chadthornton Closed Feb 4, 2026

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:

  1. The git clone process runs forever (observed: 53+ hours,

3200+ CPU minutes at 135-146% utilization)

  1. ~/.claude/plugins/cache/temp_git_* directories accumulate

and are never cleaned up

  1. 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.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗