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

Resolved 💬 7 comments Opened Dec 25, 2025 by isaaclyon 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 ↗