手动修改的 MCP 配置文件被 cc-switch 覆盖 - cc-switch
Quick fix
cc-switch 采用全量写入机制,需通过「通用配置」同步插件,并升级至 v3.13.0 修复 MCP 跨应用泄漏。
Symptom
Section titled “Symptom”每次重新打开 cc-switch 或执行任何 MCP 操作时,我的修改都会被覆盖,配置恢复到 cc-switch 数据库中的旧版本。cc-switch 对本地配置文件(如 `~/.claude/settings.json`、`~/.claude.json`)采用单向全量写入(DB → live)机制。切换 Provider 或触发同步时,cc-switch 会用数据库快照直接覆盖本地文件,导致外部手动修改、`enabledPlugins` 和 `hooks` 丢失。官方确认这是设计决策,推荐使用「通用配置」管理共享插件。此外,在 v3.13.0 之前,MCP 同步未严格绑定应用可见性,导致配置跨应用泄漏。
对于插件和 Hooks 丢失问题,使用「通用配置」功能在供应商之间传递共享配置,而非直接修改本地文件。
cc-switch UI 操作路径 编辑供应商 → 通用配置面板 → 「从当前供应商提取」新建供应商时勾选「写入通用配置」对于 MCP 跨应用泄漏问题,升级 cc-switch 至 v3.13.0 或更高版本,该版本改进了 per-app 同步机制。
避免在 cc-switch 外部直接手动修改被托管的配置文件(如 `~/.claude.json`),所有 MCP 增删改应在 cc-switch 界面完成。
Affected Versions
Section titled “Affected Versions”Toolcc-switch
Versionv3.13.0 修复了 MCP 泄漏,全量覆盖为当前设计
PlatformsWindowsmacOSLinux
Source Issues
Section titled “Source Issues”本页汇总自 4 个真实 issue
- 为什么我在 `~/.claude/settings.json` 里配置的插件切换供应商后不见了?
- cc-switch 对 settings.json 采用全量写入机制,切换时会用数据库快照覆盖本地文件。请通过「通用配置」功能提取和同步插件配置。
- 我在 cc-switch 关闭了 OpenCode 的显示,为什么它的 MCP 还是泄漏到了 Codex?
- 这是 v3.13.0 之前的 Bug,禁用 UI 显示并未阻止启动期的后台导入。升级至 v3.13.0 后,每个 MCP 服务器已具备独立的 per-app 启用标志。
大模型无法发现任何工具 - Codex升级 cc-switch 至 3.16.1 以上版本,并修改 cc-switch-model-catalog.json 将 DeepSeek 模型的 supports_search_tool 设为 false。502 Bad Gateway Codex 代理接管覆盖 config.toml关闭全局代理改规则模式直连127.0.0.1,或升级cc-switch避免全量覆盖config.toml。Failed to parse Hermes config升级 cc-switch 至 v3.16.3+ 以修复 CRLF 换行导致的配置追加 bug,或手动删除 config.yaml 中的重复键。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。