[Bug] Marketplace plugins re-fetched repeatedly despite valid cached version
Bug Description
Title: Marketplace plugin fetch triggered repeatedly despite cached version existing
Description:
Marketplace plugins are re-fetched on nearly every operation (hook invocation, mcp list, etc.) even when a valid cached version
exists at the expected path.
Observed behavior:
- safety-net@cc-marketplace cached at ~/.claude/plugins/cache/cc-marketplace/safety-net/0.7.1
- Every claude mcp list command (and hook trigger) spawns new git clone to temp_git_* directory
- Multiple Claude processes = multiple simultaneous clones (no deduplication)
- Result: 2,000+ temp_git directories per hour, 13GB+ disk usage
Expected behavior:
- Cached plugin should be used without re-cloning
- Update checks should compare git refs, not start fresh clones
- Simultaneous fetch requests should be deduplicated
Workaround:
# Disable marketplace version
# In ~/.claude/settings.json: …
"safety-net@cc-marketplace": false
# Use local symlink instead
git clone https://github.com/kenryu42/claude-code-safety-net.git ~/Projects/claude-code-safety-net
ln -sf ~/Projects/claude-code-safety-net ~/.claude/plugins/safety-net
Related: Separate bug exists for stuck clones having no timeout (reported earlier)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗