enabledPlugins in settings.json not persisting across restarts

Open 💬 1 comment Opened May 29, 2026 by homeboygm

Bug Description

Plugins installed via the plugin system show as disabled after every Claude Code restart, even though enabledPlugins is correctly set in ~/.claude/settings.json.

Steps to Reproduce

  1. Install a plugin: /plugins install caveman
  2. Enable the plugin in /plugins menu
  3. Verify ~/.claude/settings.json contains:

``json
{
"enabledPlugins": {
"caveman@caveman": true
}
}
``

  1. Restart Claude Code
  2. Plugin shows as disabled in /plugins menu

Expected Behavior

Plugins should remain enabled after restart since enabledPlugins is set in settings.json.

Actual Behavior

Plugins revert to disabled state on every restart, requiring manual re-enabling via /plugins menu.

Environment

  • Claude Code version: latest
  • OS: macOS (Apple Silicon)
  • Plugins affected: caveman, context-mode, andrej-karpathy-skills

Additional Context

Both ~/.claude/settings.json and ~/.claude/plugins/installed_plugins.json have enabledPlugins set to true, but the plugin system appears to use a separate internal state that overrides these settings on startup.

Setting skillListingBudgetFraction: 0.03 in settings.json also does not resolve the issue.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗