No warning when enabledPlugins references a plugin that is not installed

Resolved 💬 3 comments Opened Mar 9, 2026 by wphillipmoore Closed Mar 13, 2026

Summary

When a plugin is configured in project settings (enabledPlugins: true) but not actually installed (missing from installed_plugins.json), Claude Code provides zero feedback that the plugin is not loaded. Skills silently don't exist, tab-completion doesn't work, and there is no error or warning anywhere.

Reproduction

  1. Configure a project .claude/settings.json with extraKnownMarketplaces and enabledPlugins pointing to a valid plugin
  2. Do NOT run /plugin install for the plugin
  3. Start a Claude Code session in the project
  4. Attempt to use a skill from the plugin: /my-plugin:my-skill
  5. Result: Unknown skill: my-plugin:my-skill
  6. Check /plugin Errors tab: no errors shown
  7. No warning at session start that an enabled plugin is not installed

Expected Behavior

At minimum one of:

  • A warning at session start: "Plugin 'my-plugin@my-marketplace' is enabled but not installed. Run /plugin install my-plugin@my-marketplace to install it."
  • An entry in the /plugin Errors tab indicating the plugin is enabled but not installed
  • The Unknown skill error message should suggest checking if the plugin is installed

Impact

This creates a confusing failure mode where everything appears configured correctly (marketplace registered, plugin enabled, cache populated) but nothing works. Users have no diagnostic path to understand why skills aren't loading. The gap between "enabled" and "installed" is not surfaced anywhere in the UI.

Combined with the fact that extraKnownMarketplaces does not prompt installation (see related issue), this means a team can roll out plugin configuration to dozens of repos and have it silently do nothing for every user.

Environment

  • Claude Code CLI (latest)
  • macOS

View original on GitHub ↗

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