[Bug] Plugin cache prevents per-project installation when globally cached

Status Closed — not planned
Reported on v2.0.76
Maintainer reply None cached
Activity 7 comments · opened Dec 25, 2025 · closed Feb 17, 2026

Bug Description

  1. Plugin gets cached globally in ~/.claude/plugins/cache/
  2. Plugin gets enabled only in the project's .claude/settings.json
  3. When you try to install in another repo, CLI sees it's cached and says "already installed"
  4. But it's not actually enabled for that project

The CLI should either:

  • Install to enabledPlugins in the current project (even if cached)
  • Or ask "Install at user or project level?"

Environment Info

  • Platform: darwin
  • Terminal: WarpTerminal
  • Version: 2.0.76
  • Feedback ID: 3f82e983-8ef7-4afa-bc33-9db61435be23

Errors

[{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/isaaclyon/.local/share/claude/versions/2.0.76 (expected in multi-process scenarios)\n    at XZR (/$bunfs/root/claude:2430:2165)\n    at fUA (/$bunfs/root/claude:2430:1885)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-25T05:24:55.323Z"},{"error":"Error\n    at <anonymous> (/$bunfs/root/claude:46:64184)\n    at <anonymous> (/$bunfs/root/claude:60:10259)\n    at emitError (node:events:43:23)\n    at <anonymous> (/$bunfs/root/claude:59:3470)\n    at emitError (node:events:43:23)\n    at <anonymous> (node:_http_client:248:22)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:62:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-25T05:25:14.925Z"},{"error":"Error\n    at <anonymous> (/$bunfs/root/claude:46:64184)\n    at <anonymous> (/$bunfs/root/claude:60:10259)\n    at emitError (node:events:43:23)\n    at <anonymous> (/$bunfs/root/claude:59:3470)\n    at emitError (node:events:43:23)\n    at <anonymous> (node:_http_client:248:22)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:62:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-25T05:26:02.807Z"},{"error":"Error\n    at <anonymous> (/$bunfs/root/claude:46:64184)\n    at <anonymous> (/$bunfs/root/claude:60:10259)\n    at emitError (node:events:43:23)\n    at <anonymous> (/$bunfs/root/claude:59:3470)\n    at emitError (node:events:43:23)\n    at <anonymous> (node:_http_client:248:22)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:62:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-25T05:26:20.037Z"},{"error":"Error\n    at <anonymous> (/$bunfs/root/claude:46:64184)\n    at <anonymous> (/$bunfs/root/claude:60:10259)\n    at emitError (node:events:43:23)\n    at <anonymous> (/$bunfs/root/claude:59:3470)\n    at emitError (node:events:43:23)\n    at <anonymous> (node:_http_client:248:22)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:62:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-25T05:27:00.774Z"},{"error":"Error: Request was aborted.\n    at _createMessage (/$bunfs/root/claude:458:3157)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-25T05:27:53.623Z"},{"error":"Error\n    at <anonymous> (/$bunfs/root/claude:46:64184)\n    at <anonymous> (/$bunfs/root/claude:60:10259)\n    at emitError (node:events:43:23)\n    at <anonymous> (/$bunfs/root/claude:59:3470)\n    at emitError (node:events:43:23)\n    at <anonymous> (node:_http_client:248:22)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:62:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-25T05:28:03.177Z"},{"error":"Error\n    at <anonymous> (/$bunfs/root/claude:46:64184)\n    at <anonymous> (/$bunfs/root/claude:60:10259)\n    at emitError (node:events:43:23)\n    at <anonymous> (/$bunfs/root/claude:59:3470)\n    at emitError (node:events:43:23)\n    at <anonymous> (node:_http_client:248:22)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:62:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-25T05:28:20.498Z"},{"error":"Error\n    at <anonymous> (/$bunfs/root/claude:46:64184)\n    at <anonymous> (/$bunfs/root/claude:60:10259)\n    at emitError (node:events:43:23)\n    at <anonymous> (/$bunfs/root/claude:59:3470)\n    at emitError (node:events:43:23)\n    at <anonymous> (node:_http_client:248:22)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:62:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-25T05:28:35.729Z"},{"error":"Error\n    at <anonymous> (/$bunfs/root/claude:46:64184)\n    at <anonymous> (/$bunfs/root/claude:60:10259)\n    at emitError (node:events:43:23)\n    at <anonymous> (/$bunfs/root/claude:59:3470)\n    at emitError (node:events

Note: Error logs were truncated.

View original on GitHub ↗

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