enabledPlugins in settings.json not persisting across restarts
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
- Install a plugin:
/plugins install caveman - Enable the plugin in
/pluginsmenu - Verify
~/.claude/settings.jsoncontains:
``json``
{
"enabledPlugins": {
"caveman@caveman": true
}
}
- Restart Claude Code
- Plugin shows as disabled in
/pluginsmenu
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.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗