Codex 配置不生效时,先别继续往 config.toml 里堆字段。
你可能改错了层级,也可能被 CLI 临时参数覆盖,或者把只能放在用户级的 Provider 配置写进了项目目录。
config.toml 在哪里
Codex 本地状态默认放在:
~/.codex/
常见用户级配置:
~/.codex/config.toml
项目中也可以存在:
<repo>/.codex/config.toml
但当前官方文档明确限制项目级配置覆盖这些内容:
openai_base_urlmodel_providermodel_providersprofile / profilesnotifyotel
因此 Provider、Base URL 这类配置应优先放在:
~/.codex/config.toml
改之前先备份
cp ~/.codex/config.toml ~/.codex/config.toml.backup
文件不存在时,先创建最小配置,不要复制一份几十行的“大而全模板”。
模型切换:先用一次性参数验证
当前 CLI 支持:
codex --model <VERIFIED_MODEL_ID>
也可以临时覆盖配置:
codex --config model='"<VERIFIED_MODEL_ID>"'
--config 的值按 TOML 解析,所以引号写错很常见。
临时覆盖很适合判断:到底是配置文件问题,还是模型本身不可用。
自定义 Provider 的最小结构
model = "<VERIFIED_MODEL_ID>"model_provider = "custom"[model_providers.custom]name = "My Provider"base_url = "https://<VERIFIED_BASE_URL>/v1"env_key = "PROVIDER_API_KEY"wire_api = "responses"
检查四件事:
model_provider和配置段 ID 对得上;base_url来自当前服务文档;env_key只写变量名;model是 API 真实模型 ID。
为什么项目配置“写了却没生效”
Codex 会从项目根目录向当前工作目录加载 .codex/config.toml,但只有在项目受信任时才加载。
同时,项目层不能覆盖 Provider / Base URL 等敏感项。
所以你把:
model_provider = "xxx"
写进项目 .codex/config.toml,当前版本可能直接忽略并给出启动警告。
AI Code With 当前 Codex 文档提供了:
- API Key 创建流程;
- Codex 专用 Provider;
- Responses 路线;
- Codex 专用接口。
接口是:
https://api.aicodewith.ai/chatgpt/v1
不过 AI Code With 当前示例同时包含一些没有出现在 OpenAI 最新 Codex Configuration Reference 里的字段。
因此文章不建议永久复制整段配置。
更稳的是:
- 先理解 Provider 配置结构;
- 打开 AI Code With 当前 Codex 专页;
- 核对当天 Endpoint、模型和认证字段;
- 删除当前 Codex schema 不识别的字段;
- 用一个最小请求验证;
- 在平台内检查调用记录。
配置不生效时按这个顺序查
- 先看
~/.codex/config.toml; - 检查当前命令有没有
--model或--config; - 确认项目是否受信任;
- 确认 Provider ID、Base URL 和模型 ID;
- 确认认证方式;
- 最后发一个最小请求验证。
相关阅读
- Codex API Key 怎么配置
- Codex 环境变量怎么配
- Codex auth.json 是什么
- Codex 怎么收费
资料来源
- OpenAI Advanced Configuration:https://developers.openai.com/codex/config-advanced
- OpenAI Configuration Reference:https://developers.openai.com/codex/config-reference
- AI Code With Codex:https://docs.aicodewith.com/zh/docs/codex-cli


