疑难排查 · Codex CLI
Codex config.toml 报错——可用的 model_providers 配置
~/.codex/config.toml 格式错误时 Codex 无法加载:未知的提供商名、错误的 wire_api、缺失的配置节。自定义提供商所需的确切结构。
你看到的报错
codex config.toml error为什么会发生
- model_provider 指定的提供商没有对应的 [model_providers.<name>] 配置节——引用和配置节必须使用同一个标识符。
- TOML 语法错误:未闭合的字符串、节标题打错,或从 JSON 粘贴过来的带逗号和花括号的值。
- wire_api 与端点实际提供的协议不匹配,请求按错误的协议成形。
- 编辑的文件不是 Codex 读取的文件——通过 --profile 传入的 profile 文件有特定的预期位置和文件名。
如何解决
- 让提供商标识符在两处保持一致:model_provider = "apitoken" 必须对应 [model_providers.apitoken]。
- 面向 Responses API 端点使用 wire_api = "responses"——本网关的 OpenAI 兼容层同时提供 Responses 和 Chat Completions。
- 校验文件是合法的 TOML:字符串加引号、每行一个 key = value、节标题用方括号。
- 运行 codex --profile <name> 并观察它报告加载的是哪个文件;改那个文件,别改长得像的。
最小可用 profile
model = "gpt-5.6-sol"
model_provider = "apitoken"
[model_providers.apitoken]
name = "apiToken.sale"
base_url = "https://openai.api.apitoken.sale/v1"
wire_api = "responses"
env_key = "APITOKEN_API_KEY"相关搜索
unknown model providercodex model_providers not working
常见问题
为什么 Codex 说我的模型提供商是未知的?+
model_provider 的值必须与同一文件中的某个 [model_providers.<name>] 配置节完全一致。任何一边打错字都会让查找失败。
wire_api 应该填 responses 还是 chat?+
端点提供什么就填什么。本网关的 OpenAI 兼容层接受 Responses API——wire_api = "responses"——也接受 Chat Completions。
base_url 需要带 /v1 吗?+
针对本网关的 Codex profile,需要:文档给出的值是 https://openai.api.apitoken.sale/v1,与文档完全一致。