All plugins show disabled: Claude Code
Quick fix
Upgrade to CC Switch v4.0.0 or later; it replaces only routing fields and preserves plugin configuration.
Symptom
Section titled “Symptom”在 Claude Code 执行 `/plugin list`:全部 8 个插件显示 `✘ disabled`。In Claude Code, run `/plugin list`: all 8 plugins show `✘ disabled`.
CC Switch 3.x rewrites the entire `~/.claude/settings.json` with a provider template when switching providers or enabling or disabling routing. When the template contains only `env`, fields such as `enabledPlugins` are removed, so Claude Code shows the plugins as disabled. Similar reports describe configuration being overwritten at startup and provider settings being overwritten by restored values. Older guidance recommended saving and passing through fields such as plugin settings via “General Configuration.”
The maintainer said v4.0.0 rewrote the configuration write method to replace only key fields such as the address, credentials, model, and protocol while preserving the rest. Therefore, v4.0.0 fixes this issue.
Upgrade CC Switch to v4.0.0 or later, and get the installer from the official Releases page.
If you are still using 3.x, add `enabledPlugins` to `~/.claude/settings.local.json`, then run `/reload-plugins` in Claude Code. The reporter verified that this temporary workaround restores plugin status.
In 3.x, you can also use “Edit Provider” → “General Configuration” → “Extract from Current Provider” to save general fields, then select “Write General Configuration” when switching to or creating a provider.
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”This page is distilled from 5 real issues
- #2644开启全局路由时候,每次切换供应商都会重新覆写掉 ~/.claude/settings.json 文件,导致安装的插件之类的全部会丢失
- #3008`ccswitch` unexpectedly rewrites the active provider/model configuration in `~/.claude/settings.json`
- #3044ccswitch启动后,直接串改了~\.claude\settings.json
- #4096Switching provider may overwrite previous provider's settings_config in database
- #6871[Bug] Claude Code 插件全部显示 disabled:CC Switch 整文件覆盖 ~/.claude/settings.json 导致 enabledPlugins 丢失
- How can I restore plugin configuration after a provider switch clears it?
- Upgrade to CC Switch v4.0.0 or later. If you are still using 3.x, add `enabledPlugins` to `~/.claude/settings.local.json` and run `/reload-plugins`.
- How can I preserve general configuration, such as plugin settings, when switching providers?
- On the provider edit page, open “General Configuration,” extract the fields from the current provider, and select “Write General Configuration” when switching to or creating a provider.
- Could older versions also overwrite settings.json at startup or exit?
- Issue reports describe the entire file being overwritten at startup, during switching, and on exit or restore. The maintainer said v4.0.0 now replaces only key fields and preserves the rest of the configuration.
Related problems
Section titled “Related problems”This is an unofficial community wiki with no affiliation to the cc-switch authors or the project itself. Its content is compiled from the project's public GitHub issues. This site distributes no software.