[BUG] Disabled plugin state in ~/.claude/settings.json survives uninstall + reinstall

Resolved 💬 1 comment Opened May 29, 2026 by brettvt-insightriot Closed Jul 1, 2026

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

  1. Verify slash commands work (e.g., /sig:status).
  2. Disable via /plugin → Disable → settings.json now has enabledPlugins["sig@signal"]: false.
  3. Uninstall: claude plugin uninstall sig --scope user -y.

→ manifest entry removed, cache directory removed.
enabledPlugins["sig@signal"]: false STILL present in settings.json.

  1. 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

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗