跳转到内容

配置不生效:MCP 未导入与环境变量被覆盖

Quick fix

cc-switch 采用全量覆盖设计,手动改的配置需通过“通用配置”提取保存;MCP 需手动导入;环境变量需勾选“写入通用配置覆盖”。

报错原文
自己写进去setting.json的其它选项在切换后丢失

cc-switch 在切换供应商时采用全量覆盖方案,而非字段级合并。v3.11.0 曾尝试字段级合并,但因状态冲突在 v3.11.1 回滚。设计上,请求地址和 API Key 是供应商独有的,其他共享配置(如插件、hooks、MCP)需通过「通用配置」功能在不同供应商之间传递。若用户手动编辑 settings.json 或通过 Claude marketplace 安装了插件,但未在 cc-switch 中提取到数据库,切换或重启后这些配置会被覆盖。MCP 方面,旧版本只在首次安装时扫描,v3.9.0 增加了手动导入按键。环境变量配置需勾选“写入通用配置覆盖”才能生效。此外,配置目录(如 WSL 与 Windows 原生目录)不会同时切换,只作用于指定目录。

  1. 打开 cc-switch,进入供应商编辑页面,找到「通用配置」面板,点击「从当前供应商提取」,将插件、hooks 等共享配置读取到数据库。

  2. 新建或切换供应商时,确保勾选「写入通用配置」(默认勾选),以保留插件等数据。

  3. 若使用 MCP,点击 v3.9.0 及以上版本提供的「手动导入」按键,将已有 MCP 配置导入数据库。

  4. 若依赖环境变量配置,在 cc-switch 中勾选“写入通用配置覆盖”,或注释/重命名原配置文件,避免被 cc-switch 写入的配置覆盖。

Tool未知
Version3.11.1 - 3.12.2
PlatformsWindowsLinux
为什么切换供应商后我的插件配置不见了?
因为 cc-switch 采用全量覆盖设计,插件等共享配置需通过「通用配置」提取并勾选「写入通用配置」才能保留。
能否合并 JSON 而不是完全替换?
v3.11.0 曾尝试字段级合并,但因状态冲突回滚。目前设计为全量覆盖,暂不计划改为字段级合并。
MCP 配置不生效怎么办?
v3.9.0 之前只在首次安装时扫描 MCP,新版增加了手动导入按键,请点击导入。
环境变量配置被 cc-switch 覆盖怎么办?
勾选“写入通用配置覆盖”,或注释/重命名原配置文件,让环境变量优先生效。
配置了 WSL 目录后,Windows 原生目录还生效吗?
不生效。cc-switch 设计上只切换指定目录,不会同时切换多个目录。

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。