跳转到内容

通用配置勾选会不生效,还会被之前的配置覆盖 Codex CC Switch

Quick fix

升级到 CC Switch v3.17.0 及以上可修复 Codex 通用配置合并失效;若仍被旧快照覆盖,先切到其他供应商再切回以触发自愈。

报错原文
通用配置勾选不生效

根因:旧版 CC Switch 在前端用 smol-toml 对整份 Codex `config.toml` 做 parse → merge → stringify,这条路径对嵌套表(如 `[mcp_servers.<id>.tools.<tool>]`)处理不稳,会丢注释、打乱键序,导致“通用配置”勾选后写出的内容被剥离或覆盖(#2656)。此外 CC Switch 把 provider 快照(`providers.settings_config.config`)与 `mcp_servers` 表作为真源,在切换 provider、重启或接管本地路由时会回写 live `~/.codex/config.toml`,用户后续在 Codex 中修改或删除的 MCP、插件、桌面设置会被旧快照复活(#956/#4697/#4699/#5149/#5049)。

这些报告并非完全同一个 bug:v3.17.0 已将合并迁移到后端 toml_edit,修复了通用配置嵌套表问题;但 #6344 在 3.19.2 仍报告 MCP 面板开关不写入 `[mcp_servers]`,说明 MCP 写入路径尚未完全覆盖。#1440 的 v3.12.0/3.12.1 清空配置只留 base_url 是另一条早期路径。其余变体包括模型目录缺少 `model` 字段或 `models` 数组导致 /model 不显示(#3668/#4970/#4971)、`model_provider` 被强改导致会话历史丢失(#2844,已在 v3.16.0 修复)、1M 上下文从 catalog 读取而非顶层配置(#2614)等。

  1. 升级到 CC Switch v3.17.0 或更高版本,修复旧版 smol-toml 合并导致 Codex 通用配置失效的问题。

  2. 如果升级后仍被旧 provider 快照覆盖,先切换到另一个 Codex 供应商,再切回当前供应商,触发对 `providers.settings_config` 的快照自愈,剥离旧的 `[mcp_servers]`。

  3. 在 CC Switch 的 MCP 管理面板中删除已卸载但还保留的历史 MCP(例如 codegraph),避免每次保存时被回写。

  4. 如果需要保留 Codex 插件或桌面设置,先将其手动导入到“通用配置”,不要只依赖 live `~/.codex/config.toml`。

ToolCodex
Version3.12.0 - 3.19.2(受影响范围;v3.17.0 修复通用配置合并路径,MCP 面板写入问题在 3.19.2 仍报告)
PlatformsWindowsmacOS

本页汇总自 21 个真实 issue

通用配置勾选了也没用,每次切换后手写配置还是被剥离,怎么办?
升级到 CC Switch v3.17.0 或更高版本;如仍异常,切换一次其他供应商再切回当前供应商,触发旧快照清理。
为什么我在 Codex 中删掉的 MCP 保存后又恢复了?
因为 CC Switch 的 MCP 管理面板里还保留着历史记录,每次保存会重新写回。进入 MCP 管理删除该条目后再保存。
切换供应商后 Codex 插件消失,怎么保留?
将插件配置手动导入到 CC Switch 的通用配置中,使其保存到数据库,切换或重启后才会恢复。
为什么升级后 config.toml 里只剩一个 base_url?
这是 v3.12.0/v3.12.1 的早期写入问题,升级到 v3.16.1+ 或 v3.17.0 修复;若仍有问题,检查通用配置是否有内容并重新保存。

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