Codex 配置文件路径:三系统定位 config.toml

先用 `/debug-config` 确认 Codex 实际读取的配置层,再修改 provider、模型和接口地址;改错用户目录、项目未信任或被更高优先级覆盖都会导致配置不生效。

Codex 配置文件、作用域与优先级主题示意图
主题示意图,不代表当前界面或实际调用结果
直接答案30 秒定位:Codex 的用户配置默认是 ~/.codex/config.toml;Windows 对应 %USERPROFILE%\.codex\config.toml。如果设置了 CODEX_HOME,用户配置目录会随之改变;可信项目还可使用仓库内的 .codex/config.toml。先在 Codex 中运行 /debug-config 查看实际加载层与来源,备份后再修改 provider、Base URL 和模型名。

Codex 配置文件路径快速对照

Windows默认 %USERPROFILE%\.codex\config.toml。PowerShell 先检查 $env:CODEX_HOME,有值时改看该目录下的 config.toml。
macOS默认 ~/.codex/config.toml。先检查 $CODEX_HOME;如果没有设置,再检查当前用户的 .codex/config.toml。
Linux默认 ~/.codex/config.toml;服务器上先确认运行 Codex 的系统用户,再检查 CODEX_HOME。
项目级配置可信项目可使用仓库内的 .codex/config.toml 保存项目规则;个人凭证和只适用于本机的 provider 配置不要提交到仓库。
设置了 CODEX_HOME用户配置目录会被覆盖。先检查该环境变量,再用 /debug-config 判断正在读取哪一层。auth.json 是认证存储,不等同于常规配置文件。

适合谁,不适合谁

适合:需要切换 provider你知道当前服务的 Base URL、模型名和接口协议。
适合:排查配置解析问题需要确认 TOML 层级、名称和字符串格式。
不适合:从旧截图猜字段动态模型名、路径和协议可能变化,应从当前控制台复制。
不适合:把 Key 写进仓库配置文件和示例不得包含可用密钥。

开始前准备

  1. 当前控制台给出的 Base URL、模型名和 Codex 配置说明。
  2. 能够启动 Codex,并可在会话中运行 /status 与 /debug-config。
  3. 现有配置文件备份;不要覆盖用户其他 provider 设置。
  4. 一个安全的最小测试目录。
第三方配置边界下面的 provider 结构来自本机已验证配置,但模型名、路径和可用范围仍以你的当前控制台为准。

完整步骤

01

30 秒定位并备份配置文件

先检查 CODEX_HOME,未设置时再用默认用户目录;同时检查当前可信仓库是否有 .codex/config.toml。进入目标项目启动 Codex,运行 /debug-config 回读已加载的层与来源,再备份准备修改的文件。Windows 可运行 Test-Path $env:USERPROFILE\.codex\config.toml,macOS/Linux 可运行 test -f ~/.codex/config.toml。

02

确认作用域和 provider 名称

项目规则可放项目级配置;个人 provider 与凭证留在用户范围。顶层 model_provider = "api" 必须能找到 [model_providers.api] 区块,名称不同会导致选择错误。

03

填写当前 Base URL 与协议

不要重复附加路径。本文核验环境使用 wire_api = "responses",其他服务或版本应按当前说明调整。

04

填写控制台当前模型名

把占位符替换为当前可用模型标识,不根据品牌名称自行猜测。

05

回读生效值并执行最小任务

先运行 codex login status,进入 Codex 后依次查看 /status 与 /debug-config;需要把废弃或未知配置当成错误时,再按当前 CLI 帮助使用 strict-config 检查。最后用一个只读任务确认真实响应。

本机已验证结构的配置示例

MODEL_FROM_CONSOLE 必须替换;不要把 API Key 写入此代码块。

config.toml provider 模板
model_provider = "api"
model = "MODEL_FROM_CONSOLE"

[model_providers.api]
name = "api"
base_url = "https://api.xiao-he.top"
wire_api = "responses"
requires_openai_auth = true
不推荐

model_provider 写成 api,但 provider 区块命名为 third_party。

建议做法

model_provider 与 [model_providers.api] 使用同一个名称,并从控制台复制其他字段。

怎样判断结果是否可用?

先检查名称映射和 TOML 语法,再检查远端认证;不要同时修改多个 provider。

常见问题与报错

TOML 解析错误

检查引号、区块名、重复键和不可见字符;使用纯文本编辑器保存 UTF-8。

修改后仍使用旧 provider

运行 /debug-config 查看是否被项目配置、profile、命令行 -c 或托管配置覆盖;不要只靠重启和重复编辑同一个文件。

Base URL 重复路径

例如控制台已包含版本路径时不要再次附加;以服务提供的完整示例为准。

模型名无效

重新从当前控制台复制可用标识;不要把展示名称、套餐名称或旧文章名称当模型 ID。

完成后的检查方法

  • 配置文件修改前已有备份。
  • model_provider 与 provider 区块名称一致。
  • Base URL、模型名和协议来自当前控制台或文档。
  • 配置文件和仓库中没有完整 API Key。
  • login status、/status 与 /debug-config 已完成检查。
  • 已运行真实最小任务,而不是只检查语法。

FAQ

config.toml 在 Windows 哪里?

通常位于 %USERPROFILE%\.codex\config.toml;例如 C:\Users\你的用户名\.codex\config.toml。

macOS 和 Linux 的 Codex 配置文件在哪里?

默认都是 ~/.codex/config.toml。如果设置了 CODEX_HOME,实际位置会改为该目录下的配置文件。

项目里的 .codex/config.toml 为什么没有生效?

项目级配置只在可信项目中加载。进入目标仓库启动 Codex,再用 /debug-config 检查该层是否出现以及是否被更高优先级配置覆盖。

API Key 应该写进 config.toml 吗?

本文不建议在公开示例或可同步配置中写入完整 Key,应使用 Codex 认证流程并保护凭证存储。

为什么 provider 名称可以叫 api?

它是本地配置标识,可以自定义,但顶层引用和区块名称必须一致。

Responses 协议永远固定吗?

不能这样假设。本文只记录当前核验环境,其他版本和服务以当前说明为准。

资料来源与版本说明

从控制台复制当前字段,再修改配置。

不要照抄旧模型名或猜接口路径;修改后核对生效配置层、认证方式和同一个只读任务,诊断命令以当前客户端帮助为准。 模型、价格、额度与规则以对应业务站当前展示为准。

进入小贺API复制配置

下一步