Codex 无法加载 config.toml?引号、重复配置与文件位置排查
Codex 提示无法加载 config.toml 时,先处理本地配置解析。文件读不进去,通常还没有进入正常模型请求阶段;此时充值或换模型不一定有帮助。

图:按本文操作要点制作的说明图,不是后台或调用成功截图。

图:本站公开文档中的Codex 配置目录中的认证与配置文件。原图沿用 AI.c 标识,仅用于识别操作位置;界面和权限以当前后台为准。
先保留原文件
复制原配置作为备份,记下错误行号和信息。不要直接删掉整个配置目录,因为里面可能有历史、凭据或其他工具设置。
确认编辑的是当前用户实际使用的配置。Windows 注意文件没有变成 config.toml.txt;在 WSL、远程终端或容器中运行,则要检查对应环境中的文件,不能只改宿主机。
常见语法问题
| 情况 | 处理方式 |
|---|---|
| 中文引号 | 改为普通英文双引号 |
| 同一层重复键 | 合并为一个值 |
| 同一表重复声明 | 把相关字段合并 |
| JSON 逗号与大括号 | 按 TOML 格式改写 |
| 占位符未替换 | 使用真实可用模型 ID |
特别注意表头后的字段属于该表。把顶层 model_provider 随手放到 provider 表下面,会改变字段位置。
用最小配置定位
OuraiC 基础例子可以只保留 model、model_provider 和对应 provider 表。先验证最小配置,再逐项合并原有设置。这样能定位是哪一项导致错误,而不是同时改十多个字段。
如果 provider 顶层写 ouraic,表名也应是 [model_providers.ouraic]。名称不一致时,即使语法正确,也可能选不到想要的配置。
可选检查 TOML 语法
Python 3.11 及以上可执行下面的本地检查,不会请求 API:
from pathlib import Path
import tomllib
path = Path.home() / ".codex" / "config.toml"
with path.open("rb") as f:
config = tomllib.load(f)
print("TOML 语法可解析")
语法可解析不代表每个配置字段都被当前 Codex 版本支持,还需对照官方配置参考。
下一步怎样判断
解析错误消失后,再处理认证、协议和模型权限。401 与 TOML 解析是不同阶段的问题。修复后重新启动工具,并用短消息和本站日志确认实际调用。
基础配置见 Codex 配置教程。升级工具后,应核对字段是否仍适用,不从不同年份的教程拼接大量未知选项。