本文目录
  1. 一、问题现象
  2. 1. Codex 配置存在两种级别
  3. 用户级配置(User-level config)
  4. 项目级配置(Project-local config)
  5. 原因1:设置过 CODEXHOME
  6. 原因2:旧配置残留
  7. 原因3:Codex版本不同
  8. 1. 检查 CODEXHOME
  9. 2. 查看永久环境变量
  10. 3. 查看默认配置
  11. 方法1:PowerShell恢复(推荐)
  12. 方法2:图形界面删除
  13. 配置目录
  14. 配置文件
  15. 密钥文件
  16. 不设置:
  17. 检查:

一、问题现象#

部分电脑运行 Codex 时,会出现以下警告:

Ignored unsupported project-local config keys in 
C:\Users\31760\.codex\config.toml: model_provider, model_providers

If you want these settings to apply, manually set them in your user-level config.toml.

If you want these settings to apply, manually set them in your user-level config.toml

中文意思:

Codex 发现当前配置文件被识别为「项目级配置」,但是里面包含不允许出现在项目级配置中的参数,因此自动忽略。

被忽略的配置项:

model_provider
model_providers

例如:

model_provider = "codex"

[model_providers.codex]
name = "codex"
base_url = "https://xxx/v1"
wire_api = "responses"
requires_openai_auth = true

这些配置不会生效。

---

# 二、问题原因

1. Codex 配置存在两种级别#

Codex 配置主要分为:

用户级配置(User-level config)#

默认位置:

Windows:

%USERPROFILE%\.codex\config.toml

例如:

C:\Users\31760\.codex\config.toml

这是官方推荐位置。

这里可以配置:

model_provider
model_providers
model

等全局参数。

---

项目级配置(Project-local config)#

例如:

D:\project\.codex\config.toml

项目配置主要用于项目相关设置。

为了安全,新版本 Codex 不允许项目级配置修改模型供应商相关内容:

禁止:

model_provider

以及:

[model_providers.xxx]

所以如果 Codex 判断某个文件属于项目级配置,就会提示:

Ignored unsupported project-local config keys

---

# 三、为什么有些电脑正常,有些电脑报错?

实际排查中,最常见原因不是配置文件内容,而是 环境变量导致 Codex 配置目录不统一

---

原因1:设置过 CODEX_HOME#

Codex 支持通过:

CODEX_HOME

指定配置目录。

例如:

电脑A:

CODEX_HOME=D:\skill\.codex

Codex 使用:

D:\skill\.codex\config.toml

电脑B:

没有设置:

CODEX_HOME

Codex 使用默认:

C:\Users\用户名\.codex\config.toml

结果:

同一个覆盖脚本,在不同电脑表现不同。

---

原因2:旧配置残留#

如果以前使用过:

D:\skill\.codex

或者其他目录:

可能存在:

多个配置文件:

例如:

C:\Users\31760\.codex\config.toml

D:\skill\.codex\config.toml

Codex 读取路径不一致,就容易产生冲突。

---

原因3:Codex版本不同#

不同版本 Codex 对配置作用域检查严格程度不同。

检查版本:

codex --version

建议所有电脑保持版本一致。

---

# 四、查询当前 Codex 配置目录

1. 检查 CODEX_HOME#

打开 PowerShell:

echo $env:CODEX_HOME

如果输出:

例如:

D:\skill\.codex

说明当前电脑修改过配置目录。

---

2. 查看永久环境变量#

执行:

[Environment]::GetEnvironmentVariable("CODEX_HOME","User")

如果返回路径:

说明用户环境变量存在。

---

3. 查看默认配置#

默认配置:

Get-Content $env:USERPROFILE\.codex\config.toml

正常应该看到:

model_provider
model_providers

---

# 五、推荐解决方案:恢复官方默认目录

经过实际测试:

最稳定方案不是迁移到 D 盘,而是:

清除错误的 CODEX_HOME,让所有电脑统一使用 Codex 默认目录。

统一:

C:\Users\用户名\.codex

这样:

  • 配置位置一致
  • 脚本逻辑简单
  • 不受额外环境变量影响
  • 后续 Codex 更新兼容性最好

---

# 六、恢复 CODEX_HOME 环境变量

方法1:PowerShell恢复(推荐)#

复制执行:

# 删除用户级 CODEX_HOME
[Environment]::SetEnvironmentVariable(
"CODEX_HOME",
$null,
"User"
)

# 删除系统级 CODEX_HOME
[Environment]::SetEnvironmentVariable(
"CODEX_HOME",
$null,
"Machine"
)

# 清除当前窗口变量
Remove-Item Env:CODEX_HOME -ErrorAction SilentlyContinue

Write-Host "CODEX_HOME 已恢复默认"

---

方法2:图形界面删除#

按:

Win + R

输入:

sysdm.cpl

打开:

高级
 →
环境变量

检查:

用户变量:

删除:

CODEX_HOME

系统变量:

删除:

CODEX_HOME

保存。

---

# 七、恢复后验证

关闭所有:

  • PowerShell
  • Windows Terminal
  • VS Code
  • Codex

重新打开 PowerShell。

执行:

echo $env:CODEX_HOME

正常:

应该为空。

说明 Codex 已恢复默认目录。

---

# 八、重新覆盖配置

现在配置固定写入:

%USERPROFILE%\.codex

例如:

C:\Users\31760\.codex\config.toml

覆盖脚本目录应该使用:

$codexDir = Join-Path $env:USERPROFILE ".codex"

不要再使用:

D:\skill\.codex

或者:

CODEX_HOME

---

# 九、检查是否还有其他配置冲突

搜索所有 Codex 配置:

Get-ChildItem -Path $env:USERPROFILE -Filter config.toml -Recurse |
Where-Object {$_.FullName -like "*\.codex\*"}

正常:

应该只有:

C:\Users\用户名\.codex\config.toml

如果发现:

例如:

D:\skill\.codex\config.toml

建议删除或备份。

---

# 十、最终标准环境

所有电脑统一:

配置目录#

C:\Users\用户名\.codex

配置文件#

config.toml

密钥文件#

auth.json

不设置:#

CODEX_HOME

检查:#

echo $env:CODEX_HOME

结果:

---

# 十一、总结

报错:

Ignored unsupported project-local config keys:
model_provider, model_providers

不是脚本写错,也不是 TOML 格式错误。

真正原因通常是:

1. Codex 把配置识别成项目级配置;

2. CODEX_HOME 修改过,导致不同电脑配置目录不一致;

3. 旧配置残留造成加载冲突。

最终解决方案:

✅ 删除 CODEX_HOME

✅ 恢复默认目录:

%USERPROFILE%\.codex

✅ 所有电脑统一配置路径

✅ 重新执行覆盖配置脚本

恢复后,model_providermodel_providers 会正常加载,不再出现:

Ignored unsupported project-local config keys

这个警告。