Plugin interactive uninstall does not clean up settings.json entry

Resolved 💬 2 comments Opened Jun 3, 2026 by MASTERGROOT Closed Jun 6, 2026

Bug

Uninstalling a plugin via the interactive plugin menu (browsing to the plugin and choosing uninstall) leaves stale entries in two places:

  1. .claude/settings.json — plugin entry remains with its previous value (true)
  2. ~/.claude/plugins/installed_plugins.json — plugin entry for the project remains in the registry

The /plugin uninstall <name> CLI command cleans up both correctly.

Expected behavior

After uninstalling a plugin by any path, its entry should be removed from both .claude/settings.json and installed_plugins.json.

Actual behavior

  • Uninstall via /plugin uninstall <name> CLI command: ✅ cleans up both files fully
  • Uninstall via interactive plugin menu: ❌ both settings.json and installed_plugins.json entries remain

Repro steps

  1. Install a plugin for a project: /plugin install <name>
  2. Confirm entry appears in .claude/settings.json as true and in ~/.claude/plugins/installed_plugins.json
  3. Open the plugin menu interactively and choose uninstall for that plugin
  4. Inspect .claude/settings.json — entry still present and still true
  5. Inspect ~/.claude/plugins/installed_plugins.json — project-scoped entry for the plugin still present

Environment

  • Claude Code CLI
  • macOS

View original on GitHub ↗

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