本文目录
一、问题现象#
部分电脑运行 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.
中文意思:
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\.codexCodex 使用:
D:\skill\.codex\config.toml电脑B:
没有设置:
CODEX_HOMECodex 使用默认:
C:\Users\用户名\.codex\config.toml结果:
同一个覆盖脚本,在不同电脑表现不同。
---
原因2:旧配置残留#
如果以前使用过:
D:\skill\.codex或者其他目录:
可能存在:
多个配置文件:
例如:
C:\Users\31760\.codex\config.toml
D:\skill\.codex\config.tomlCodex 读取路径不一致,就容易产生冲突。
---
原因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_provider 和 model_providers 会正常加载,不再出现:
Ignored unsupported project-local config keys这个警告。