通用配置勾选会不生效,还会被之前的配置覆盖 Codex CC Switch
Quick fix
升级到 CC Switch v3.17.0 及以上可修复 Codex 通用配置合并失效;若仍被旧快照覆盖,先切到其他供应商再切回以触发自愈。
Symptom
Section titled “Symptom”通用配置勾选不生效根因:旧版 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)等。
升级到 CC Switch v3.17.0 或更高版本,修复旧版 smol-toml 合并导致 Codex 通用配置失效的问题。
如果升级后仍被旧 provider 快照覆盖,先切换到另一个 Codex 供应商,再切回当前供应商,触发对 `providers.settings_config` 的快照自愈,剥离旧的 `[mcp_servers]`。
在 CC Switch 的 MCP 管理面板中删除已卸载但还保留的历史 MCP(例如 codegraph),避免每次保存时被回写。
如果需要保留 Codex 插件或桌面设置,先将其手动导入到“通用配置”,不要只依赖 live `~/.codex/config.toml`。
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”本页汇总自 21 个真实 issue
- #956[Bug][macOS 26.2] Codex Provider 修改已保存,但切换后 MCP 配置被改回旧内容
- #1440更新之后,所有配置都不写入,还会清除配置
- #2614codex开启1m上下文失败
- #2656codex通用配置问题
- #28443.15.0版本 会导致codex会话历史异常丢失
- #3356Codex 配置好供应商后点击启动后,无法覆盖config.toml,只有启用后,再重启软件才会写进去
- #3548关于codex的base_url配置
- #3668CC-Switch 写入的 config.toml 和 model-catalog 格式不被 Codex 识别,导致 /model 不显示第三方模型
- #4317Codex配置覆盖问题(已关闭问题重复报告)
- #4468打开 codex 应用增强模式时,启动第三方 api,会有一套旧配置覆盖掉当前配置
- #4697[Bug] Codex 普通 MCP 配置会被旧 provider 快照/CCS MCP 表回写,导致用户修改失效
- #4699Codex 普通 MCP 配置会被旧 provider 快照/CCS MCP 表回写,导致用户修改失效
- #4713[Bug] 从 OpenAI Official 切换到第三方 Provider 再切回后 Codex 卡在重连/需重新登录
- #4856历史配置覆盖新配置
- #4970[Bug] openai_chat + routing: model catalog generated but Codex desktop doesn't display models
- #4971[Bug] openai_chat + routing: model catalog generated but Codex desktop doesn't display models
- #5049插件仍然无法在供应商切换后保留安装
- #5149[Bug] 切换 Codex 供应商会覆盖 config.toml,导致 Codex Desktop 的插件与桌面设置丢失
- #5430RFC: Codex Provider configuration ownership, session routing, model mapping, and outbound proxy / Codex Provider 配置所有权、会话路由、模型映射与出站代理
- #6344[Bug] Codex 的 MCP 服务器只有导入没有写入,面板开关不会写入 ~/.codex/config.toml
- #6556[Bug] Codex 桌面 App 使用第三方供应商时完全不提供 web_search 工具(同配置 CLI 正常)
- 通用配置勾选了也没用,每次切换后手写配置还是被剥离,怎么办?
- 升级到 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。本站不分发任何软件。