[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
- Install a marketplace plugin (e.g., from https://github.com/jamesrochabrun/skills)
- Install a plugin from that marketplace (e.g., )
- Uninstall the marketplace:
- Observe: The individual plugin ( from that marketplace) still shows as in TUI
- Run → the plugin does not appear (correct)
- 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:
- TUI discovery: Scans directory directly, loading any or files found
- 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
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗