Plugin TUI shows plugin as enabled that CLI reports as disabled/not found
Bug
The /plugin TUI and claude plugin list CLI disagree about a plugin's enabled state. A plugin showed as ✔ enabled in the TUI but:
- Did not appear in
claude plugin listoutput at all claude plugin disable skills@skills-marketplacereturned "already disabled"- No entry existed in any settings file (
~/.claude/settings.json,.claude/settings.json,.claude/settings.local.json)
The plugin continued to show as enabled in the TUI across sessions until the marketplace was uninstalled and the plugin cache directory (~/.claude/plugins/cache/skills-marketplace/) was manually deleted.
Steps to reproduce
- Install the
skills-marketplacemarketplace (https://github.com/jamesrochabrun/skills, commit 2482c17) - Install
anthropic-prompt-engineerfrom that marketplace - Disable it:
claude plugin disable anthropic-prompt-engineer - Open
/pluginTUI → a separate plugin calledskillsfromskills-marketplaceshows as✔ enabled - Run
claude plugin list→skillsdoes not appear - Run
claude plugin disable skills@skills-marketplace→ "already disabled" - TUI still shows it as enabled
Context
The marketplace has both a marketplace.json (listing individual plugins) and a plugin.json (defining a catch-all plugin named skills) in its .claude-plugin/ directory. The TUI may be discovering the plugin via the plugin.json while the CLI only tracks plugins listed in marketplace.json.
Expected behavior
TUI and CLI should agree on plugin state. If a plugin cannot be managed via CLI, it should not appear as enabled in the TUI.
Environment
- Claude Code v2.1.76
- macOS Darwin 23.6.0
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗