Opening a terminal does not use the complete configuration - CC Switch
Quick fix
Extract through the "shared configuration" panel and tick write, so a full overwrite does not lose plugins and other shared config.
Symptom
Section titled “Symptom”通过打开终端的这个功能打开claude,没使用完整的配置,只会覆盖env的api相关字段,这些在env外自定义的不会生效。Opening claude through the open-terminal feature does not use the complete configuration — it only overwrites the api-related fields of env, and anything customized outside env does not take effect.
cc-switch tried field-level merging in v3.11.0, but it introduced complicated state conflicts and was rolled back to full overwrite in v3.11.1. So when you launch Claude Code through "open terminal", the tool overwrites only the API-related environment variables and does not preserve provider-specific non-API configuration (plugins, hooks, and so on).
The project addressed this with a "shared configuration" mechanism: extract plugins, hooks, and other shared configuration into the shared configuration, and leave "write shared configuration" ticked by default when switching or creating a provider, so that configuration carries across providers and is not wiped by the full-overwrite logic.
Go into cc-switch settings and edit the current provider configuration.
Find the "shared configuration" panel and click "extract from current provider" to pull out the plugins and other non-API configuration.
When creating or switching a provider, make sure "write shared configuration" is ticked (it is by default) so that shared configuration is preserved.
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”This page is distilled from 2 real issues
- Why did my plugin configuration disappear after opening a terminal?
- Because cc-switch uses a full-overwrite strategy and keeps only the API-related fields. Use the "shared configuration" panel to extract them and tick "write shared configuration" to preserve plugins and other shared config.
- Could it do field-level merging instead of full overwrite?
- Not planned for now. v3.11.0 tried field-level merging but introduced state conflicts, so v3.11.1 rolled it back. The recommended way to manage shared settings today is the "shared configuration" mechanism.
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.