[Bug] Plugin install command reports success but fails to persist plugin data
Bug Description
Title: Plugin install reports success but doesn't actually install plugins (v2.0.59)
Environment:
- Claude Code version: 2.0.59
- Installation method: Homebrew
- OS: Linux 6.8.0-101-generic
Description:
The claude plugin install command reports "Successfully installed" but plugins are never actually installed. The installed_plugins.json file is not created/updated and the cache directory
remains empty.
Steps to Reproduce:
- Clear all plugin data:
rm -rf ~/.claude/plugins/cache/*
rm -f ~/.claude/plugins/installed_plugins.json
rm -rf ~/.claude/plugins/marketplaces/*
rm -f ~/.claude/plugins/known_marketplaces.json
- Add marketplace:
claude plugin marketplace add anthropics/claude-plugins-official
# Output: ✔ Successfully added marketplace: claude-plugins-official
- Install a plugin:
claude plugin install pr-review-toolkit@claude-plugins-official
# Output: ✔ Successfully installed plugin: pr-review-toolkit@claude-plugins-official
- Check installation:
cat ~/.claude/plugins/installed_plugins.json
# Result: File doesn't exist
ls ~/.claude/plugins/cache/
# Result: Empty directory
Debug log evidence:
Found 0 plugins (0 enabled, 0 disabled)
0 marketplaces, 0 installable plugins, 0 uninstallable plugins
Loaded plugins - Enabled: 0, Disabled: 0, Commands: 0, Agents: 0, Errors: 0
Expected behavior:
- installed_plugins.json should be created/updated with the plugin entry
- Plugin files should be cached in ~/.claude/plugins/cache/
- /plugin command should show installed plugins
Actual behavior:
- Install command returns success
- No files are written
- /plugin command returns nothing
- Debug log shows 0 plugins loaded
Environment Info
- Platform: linux
- Terminal: gnome-terminal
- Version: 2.0.59
- Feedback ID: fef5c990-6643-48a1-be73-8efcd11cf5dd
Errors
[{"error":"Error\n at PS (/$bunfs/root/claude:173:1143)\n at <anonymous> (/$bunfs/root/claude:174:10086)\n at emit (node:events:92:22)\n at endReadableNT (internal:streams/readable:862:50)\n at processTicksAndRejections (native:7:39)\n at request (/$bunfs/root/claude:176:2147)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-07T21:27:09.249Z"},{"error":"Error\n at PS (/$bunfs/root/claude:173:1143)\n at <anonymous> (/$bunfs/root/claude:174:10086)\n at emit (node:events:92:22)\n at endReadableNT (internal:streams/readable:862:50)\n at processTicksAndRejections (native:7:39)\n at request (/$bunfs/root/claude:176:2147)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-07T21:28:20.541Z"},{"error":"Error\n at PS (/$bunfs/root/claude:173:1143)\n at <anonymous> (/$bunfs/root/claude:174:10086)\n at emit (node:events:92:22)\n at endReadableNT (internal:streams/readable:862:50)\n at processTicksAndRejections (native:7:39)\n at request (/$bunfs/root/claude:176:2147)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-07T21:28:35.577Z"},{"error":"Error\n at PS (/$bunfs/root/claude:173:1143)\n at <anonymous> (/$bunfs/root/claude:174:10086)\n at emit (node:events:92:22)\n at endReadableNT (internal:streams/readable:862:50)\n at processTicksAndRejections (native:7:39)\n at request (/$bunfs/root/claude:176:2147)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-07T21:29:19.545Z"},{"error":"Error\n at PS (/$bunfs/root/claude:173:1143)\n at <anonymous> (/$bunfs/root/claude:174:10086)\n at emit (node:events:92:22)\n at endReadableNT (internal:streams/readable:862:50)\n at processTicksAndRejections (native:7:39)\n at request (/$bunfs/root/claude:176:2147)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-07T21:29:35.390Z"},{"error":"Error\n at PS (/$bunfs/root/claude:173:1143)\n at <anonymous> (/$bunfs/root/claude:174:10086)\n at emit (node:events:92:22)\n at endReadableNT (internal:streams/readable:862:50)\n at processTicksAndRejections (native:7:39)\n at request (/$bunfs/root/claude:176:2147)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-07T21:29:50.738Z"},{"error":"Error\n at PS (/$bunfs/root/claude:173:1143)\n at <anonymous> (/$bunfs/root/claude:174:10086)\n at emit (node:events:92:22)\n at endReadableNT (internal:streams/readable:862:50)\n at processTicksAndRejections (native:7:39)\n at request (/$bunfs/root/claude:176:2147)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-07T21:30:07.898Z"},{"error":"Error\n at PS (/$bunfs/root/claude:173:1143)\n at <anonymous> (/$bunfs/root/claude:174:10086)\n at emit (node:events:92:22)\n at endReadableNT (internal:streams/re
Note: Error logs were truncated.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗