claude-code - 💡(How to fix) Fix [BUG] Disabled plugin state in ~/.claude/settings.json survives uninstall + reinstall

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

When a plugin is Disabled via /plugin → Disable, the false value persists in ~/.claude/settings.json under enabledPlugins. Subsequent claude plugin uninstall + claude plugin install cycles do NOT touch this key — so the freshly reinstalled plugin loads in a Disabled state without any user signal explaining why slash commands aren't working.

Root Cause

When a plugin is Disabled via /plugin → Disable, the false value persists in ~/.claude/settings.json under enabledPlugins. Subsequent claude plugin uninstall + claude plugin install cycles do NOT touch this key — so the freshly reinstalled plugin loads in a Disabled state without any user signal explaining why slash commands aren't working.

Fix Action

Workaround

Edit ~/.claude/settings.json and flip the entry to true (or delete it), then /reload-plugins.

RAW_BUFFERClick to expand / collapse

Summary

When a plugin is Disabled via /plugin → Disable, the false value persists in ~/.claude/settings.json under enabledPlugins. Subsequent claude plugin uninstall + claude plugin install cycles do NOT touch this key — so the freshly reinstalled plugin loads in a Disabled state without any user signal explaining why slash commands aren't working.

Repro

  1. Install any marketplace plugin (using sig@signal as example): claude plugin install sig@signal
  2. Verify slash commands work (e.g., /sig:status).
  3. Disable via /plugin → Disable → settings.json now has enabledPlugins["sig@signal"]: false.
  4. Uninstall: claude plugin uninstall sig --scope user -y. → manifest entry removed, cache directory removed. → enabledPlugins["sig@signal"]: false STILL present in settings.json.
  5. Reinstall: claude plugin install sig@signal. → /reload-plugins reports success, but /plugin shows the plugin as Disabled. → /sig:* commands don't autocomplete.

Expected

Uninstall should remove the corresponding enabledPlugins entry, OR reinstall should reset it to true, OR an explicit user prompt during reinstall should surface "We detected a prior Disabled state; reset to Enabled?"

Workaround

Edit ~/.claude/settings.json and flip the entry to true (or delete it), then /reload-plugins.

Environment

  • Claude Code: 2.1.121+ (the version that introduced claude plugin CLI subcommands; the bug existed pre-2.1.121 as well via the /plugin slash-command path)
  • macOS — but the underlying settings.json mechanism is platform-independent

Adjacent issues

This sits in the same install-state cluster as:

  • #56740 — /plugin install short-circuits on stale gitCommitSha
  • #62497 — /plugin interactive menu has no Uninstall verb

Origin

Surfaced while building /sig:doctor, an install-state diagnostician for the Signal plugin. Full troubleshooting write-up with detection logic + remediation steps: https://github.com/InsightRiot/signal/blob/main/docs/install-troubleshooting.md#symptom-3

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [BUG] Disabled plugin state in ~/.claude/settings.json survives uninstall + reinstall