[Bug]: Plugin TUI enabled state diverges from CLI - ghost plugin entries persist after uninstallation

Resolved 💬 3 comments Opened Mar 17, 2026 by RewFa-CEO Closed Mar 20, 2026

Bug

The TUI and CLI disagree about a plugin's enabled state after marketplace uninstallation. This creates confusion and leaves ghost entries in the TUI.

Steps to reproduce

  1. Install a marketplace plugin (e.g., from https://github.com/jamesrochabrun/skills)
  2. Install a plugin from that marketplace (e.g., )
  3. Uninstall the marketplace:
  4. Observe: The individual plugin ( from that marketplace) still shows as in TUI
  5. Run → the plugin does not appear (correct)
  6. Try to disable via CLI: → "already disabled" (but TUI shows enabled)

Expected behavior

When a marketplace is uninstalled, all plugins from that marketplace should be automatically removed from the TUI, or the TUI should reflect the accurate CLI state (disabled/not found).

Actual behavior

  • TUI shows plugin as
  • CLI shows plugin as not found/already disabled
  • The discrepancy persists until manually deleting

Root Cause Analysis

The issue stems from different discovery mechanisms:

  1. TUI discovery: Scans directory directly, loading any or files found
  2. CLI tracking: Uses for enabled plugin registry

When a marketplace is uninstalled:

  • CLI removes entries from settings.json (correct)
  • TUI still finds residual files in directory

Code Location

  • TUI plugin discovery: Likely in or similar
  • CLI plugin registry: Uses as source of truth

Environment

  • Claude Code v2.1.76
  • macOS Darwin 23.6.0 / Linux

Labels

  • bug
  • area:plugins
  • area:tui

View original on GitHub ↗

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