跳转到内容

手动修改的 MCP 配置文件被 cc-switch 覆盖 - cc-switch

Quick fix

cc-switch 采用全量写入机制,需通过「通用配置」同步插件,并升级至 v3.13.0 修复 MCP 跨应用泄漏。

报错原文
每次重新打开 cc-switch 或执行任何 MCP 操作时,我的修改都会被覆盖,配置恢复到 cc-switch 数据库中的旧版本。

cc-switch 对本地配置文件(如 `~/.claude/settings.json`、`~/.claude.json`)采用单向全量写入(DB → live)机制。切换 Provider 或触发同步时,cc-switch 会用数据库快照直接覆盖本地文件,导致外部手动修改、`enabledPlugins` 和 `hooks` 丢失。官方确认这是设计决策,推荐使用「通用配置」管理共享插件。此外,在 v3.13.0 之前,MCP 同步未严格绑定应用可见性,导致配置跨应用泄漏。

  1. 对于插件和 Hooks 丢失问题,使用「通用配置」功能在供应商之间传递共享配置,而非直接修改本地文件。

    cc-switch UI 操作路径
    编辑供应商 通用配置面板 「从当前供应商提取」
    新建供应商时勾选「写入通用配置」
  2. 对于 MCP 跨应用泄漏问题,升级 cc-switch 至 v3.13.0 或更高版本,该版本改进了 per-app 同步机制。

  3. 避免在 cc-switch 外部直接手动修改被托管的配置文件(如 `~/.claude.json`),所有 MCP 增删改应在 cc-switch 界面完成。

Toolcc-switch
Versionv3.13.0 修复了 MCP 泄漏,全量覆盖为当前设计
PlatformsWindowsmacOSLinux
为什么我在 `~/.claude/settings.json` 里配置的插件切换供应商后不见了?
cc-switch 对 settings.json 采用全量写入机制,切换时会用数据库快照覆盖本地文件。请通过「通用配置」功能提取和同步插件配置。
我在 cc-switch 关闭了 OpenCode 的显示,为什么它的 MCP 还是泄漏到了 Codex?
这是 v3.13.0 之前的 Bug,禁用 UI 显示并未阻止启动期的后台导入。升级至 v3.13.0 后,每个 MCP 服务器已具备独立的 per-app 启用标志。

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