最近在 Windows 上使用 ChatGPT / Codex Desktop 的同学,可能突然遇到这样一个问题:
昨天还用得好好的,今天打开客户端直接启动失败。
最典型的提示是:
ChatGPT failed to start. Unable to locate the Codex CLI binary. Set CODEX_CLI_PATH or ensure the Electron resources include bin/codex.翻译成人话就是:
客户端启动的时候,需要调用 Codex CLI,但是突然找不到 Codex CLI 了。
我一开始还以为是自己的 Windows 环境变量或者 Node.js 被搞坏了,后来排查了一圈才发现,这并不完全是个人电脑的问题。
截至2026 年 8 月 27 日,OpenAI 官方 Codex GitHub 仓库已经出现了多条 Windows 用户反馈。有人在更新到 Windows Codex Desktop26.820.x后直接启动失败,报错内容基本就是上面的:
Unable to locate the Codex CLI binary而且相关 Issue 是2026 年 8 月 26 日刚提交的。
所以,如果你也是最近突然遇到这个问题,先别急着重装 Windows。
这篇文章把我的排查过程,以及 Windows 下 Codex CLI 最容易遇到的几个问题,一次整理清楚。
一、这个问题到底是什么?
先简单解释一下 Codex Desktop 和 Codex CLI 的关系。
Codex 不只是一个图形界面程序。
它真正执行很多 Agent、Shell、代码操作的底层组件之一,是:
Codex CLI你平时可以直接在 Windows PowerShell 里面运行:
codex也可以查看版本:
codex--version而 Codex Desktop 启动的时候,也需要找到对应的 Codex CLI 可执行文件。
正常情况下,这一步应该由客户端自己处理。
问题就在这里:
某些 Windows 版本更新之后,Codex Desktop 没有正确找到或者执行自己的
codex.exe。
于是整个客户端甚至连界面都启动不了。
二、先判断你是不是这个问题
打开 PowerShell,执行:
codex--version如果正常,例如:
codex-cli 0.147.0说明:
你的 Codex CLI 本身大概率是存在的。
接着执行:
where.exe codex或者:
Get-Commandcodex再详细一点:
Get-Commandcodex|Format-ListSource,Path,CommandType你可能会看到类似:
C:\Users\你的用户名\AppData\Local\Programs\OpenAI\Codex\bin\codex.exe也有可能看到:
C:\Users\你的用户名\AppData\Roaming\npm\codex C:\Users\你的用户名\AppData\Roaming\npm\codex.cmd这里非常关键。
因为:
codex.exe和:
codex.cmd并不是一回事。
这也是这次很多人修复失败的原因。
三、我的解决方案:重新安装 Codex CLI
我比较推荐现在 Windows 用户优先使用 Codex 官方提供的独立安装脚本。
打开 PowerShell:
powershell-ExecutionPolicy ByPass-c"irm https://chatgpt.com/codex/install.ps1 | iex"这是目前 Codex 官方仓库给出的 Windows 安装方式之一。除此之外,官方仍然支持 npm:
npm install-g @openai/codex安装结束以后,关掉当前 PowerShell,重新打开一个终端。
执行:
codex--version然后:
where.exe codex如果看到类似:
C:\Users\xxx\AppData\Local\Programs\OpenAI\Codex\bin\codex.exe说明 CLI 已经安装成功。
四、关键一步:设置 CODEX_CLI_PATH
如果 CLI 明明存在,但 Windows 客户端还是提示:
Unable to locate the Codex CLI binary那么可以暂时手动告诉 Codex Desktop:
我的 CLI 就在这里。
假设你的路径是:
C:\Users\xxx\AppData\Local\Programs\OpenAI\Codex\bin\codex.exe执行:
[Environment]::SetEnvironmentVariable("CODEX_CLI_PATH","C:\Users\xxx\AppData\Local\Programs\OpenAI\Codex\bin\codex.exe","User")然后关闭:
- Codex
- ChatGPT
- PowerShell
重新打开客户端。
你也可以先验证:
$env:CODEX_CLI_PATH如果当前 PowerShell 没刷新环境变量,可以新开一个 PowerShell 再执行。
还可以直接测试:
&$env:CODEX_CLI_PATH--version如果正常输出版本号:
codex-cli x.x.x说明这个路径至少是可以正常执行的。
五、千万不要把 CODEX_CLI_PATH 指向 codex.cmd
这是这次问题里一个非常容易踩的坑。
比如很多人运行:
where.exe codex可能看到:
C:\Users\xxx\AppData\Roaming\npm\codex C:\Users\xxx\AppData\Roaming\npm\codex.cmd于是直接写:
setx CODEX_CLI_PATH"C:\Users\xxx\AppData\Roaming\npm\codex.cmd"看起来完全没问题。
但重新启动 Codex Desktop 后,又出现:
spawn EINVAL为什么?
因为codex.cmd本质上只是 Windows 的一个命令包装脚本。
而当前部分 Codex Desktop 版本会尝试直接把它当可执行程序启动。
于是失败。
2026 年 8 月 26 日提交的一条 Codex 官方仓库 Issue 正好复现了这个问题:设置CODEX_CLI_PATH指向codex.cmd后出现spawn EINVAL;而改为指向真正的底层原生codex.exe后可以正常启动。
所以记住:
❌ codex.cmd ✅ codex.exe六、如果我是 npm 安装的 Codex,真正的 codex.exe 在哪?
如果你以前执行的是:
npm install-g @openai/codex先查看 npm 全局目录:
npm root-g例如输出:
C:\Users\xxx\AppData\Roaming\npm\node_modules然后进入:
@openai\codexWindows x64 下,真正的原生 Codex 二进制通常位于平台依赖包里面。
可以用 PowerShell 搜索:
$root= npm root-gGet-ChildItem$root-Recurse-Filter"codex.exe"-ErrorAction SilentlyContinue|Select-ObjectFullName你应该会找到类似:
...\@openai\codex-win32-x64\vendor\ x86_64-pc-windows-msvc\bin\codex.exe目前的 Windows Desktop 故障案例中,也有人通过把CODEX_CLI_PATH直接指向这个底层codex.exe成功绕过了spawn EINVAL。
七、为什么不要直接使用 WindowsApps 里的 codex.exe?
这也是一个坑。
有些人会去:
C:\Program Files\WindowsApps寻找 Codex。
例如:
C:\Program Files\WindowsApps\ OpenAI.Codex_xxxxx\ app\resources\codex.exe文件明明在那里。
于是你可能会想:
那我直接把 CODEX_CLI_PATH 指过去不就行了?
不一定。
因为:
C:\Program Files\WindowsApps是 Windows 的受保护应用目录。
目前已经有用户遇到:
Access denied也就是:
拒绝访问官方 Codex Issue 中就有人确认,resources\codex.exe实际存在,但是直接从 PowerShell 执行时出现:
程序“codex.exe”无法运行: 拒绝访问因此我不推荐大家去折腾:
C:\Program Files\WindowsApps更不要为了运行 Codex 随便:
- 修改 WindowsApps 所有者
- 修改整个 WindowsApps ACL
- 给目录 Everyone 完全控制
- 删除 WindowsApps 下的文件
这样非常容易把 Microsoft Store 应用权限体系搞乱。
更稳妥的方案还是:
额外安装一份用户目录下可正常执行的 Codex CLI。
然后让:
CODEX_CLI_PATH指向它。
八、问题 1:PowerShell 提示 codex 不是内部或外部命令
例如:
codex : The term 'codex' is not recognized首先运行:
where.exe codex如果什么都没有:
npm list-g @openai/codex如果同样没有,可以直接重新安装:
powershell-ExecutionPolicy ByPass-c"irm https://chatgpt.com/codex/install.ps1 | iex"安装以后记得:
重新打开 PowerShell。
因为安装程序更新 PATH 后,已经打开的终端未必会立即读取新的环境变量。
九、问题 2:npm install -g @openai/codex 报错
例如:
npm ERR!或者:
404 Not Found甚至:
Access token expired or revoked先查看 registry:
npm config get registry正常一般应该是:
https://registry.npmjs.org/如果你以前改过镜像,可以先恢复:
npm configsetregistry https://registry.npmjs.org/然后:
npm cache verify重新安装:
npm install-g @openai/codexCodex 官方 Issue 里确实有 Windows 用户遇到 npm Token 失效、404 等安装异常。
不过现在 Windows 下我更推荐直接使用官方 PowerShell 安装脚本,减少 Node/npm 环境带来的额外变量。
十、问题 3:安装成功,但是还是 spawn EINVAL
如果你看到:
spawn EINVAL先检查:
$env:CODEX_CLI_PATH如果结果是:
xxx\codex.cmd很可能问题就在这里。
找到真正的:
codex.exe然后重新设置:
[Environment]::SetEnvironmentVariable("CODEX_CLI_PATH","你的codex.exe完整路径","User")重新启动 Codex Desktop。
十一、问题 4:Access is denied / 拒绝访问
如果执行:
&$env:CODEX_CLI_PATH--version出现:
Access is denied首先看看这个路径是不是:
C:\Program Files\WindowsApps\...如果是,我建议直接放弃这条路径。
重新安装独立 Codex CLI:
powershell-ExecutionPolicy ByPass-c"irm https://chatgpt.com/codex/install.ps1 | iex"然后使用:
where.exe codex寻找用户目录中的 CLI。
十二、问题 5:电脑上同时存在三四个 Codex
Windows 用户很容易出现这种情况。
比如以前:
npm install-g @openai/codex安装过一次。
后来又运行:
irmhttps://chatgpt.com/codex/install.ps1|iex又装了一次。
同时 Microsoft Store 里的 Codex Desktop 自己还带一份。
如果你还使用 WSL:
Ubuntu 里面可能又装了一份。
结果就是:
Windows npm Codex Windows standalone Codex Windows Desktop bundled Codex WSL Codex四套同时存在。
这时候第一件事情不是继续安装。
而是:
where.exe codex以及:
Get-Commandcodex-All看看系统到底在运行哪个。
再检查:
$env:CODEX_CLI_PATH一个很典型的问题就是:
PATH 使用的是新 Codex,而 CODEX_CLI_PATH 还死死指着旧 Codex。
十三、问题 6:以前设置过 CODEX_CLI_PATH,现在反而启动不了
可以先删除变量。
PowerShell:
[Environment]::SetEnvironmentVariable("CODEX_CLI_PATH",$null,"User")如果以前设置成系统级:
[Environment]::SetEnvironmentVariable("CODEX_CLI_PATH",$null,"Machine")Machine 级修改通常需要管理员权限。
然后重新打开 PowerShell:
Get-ChildItemEnv:|Where-Object{$_.Name-match"CODEX"}确认没有错误的旧路径。
重新启动 Codex Desktop 看看能不能自动识别。
十四、问题 7:切换到 WSL 后突然打不开
这个问题现在也比较常见。
如果你之前在 Codex Desktop 里面把:
Agent Environment从:
Windows改成:
WSL那么问题会复杂很多。
因为这时候会涉及:
Windows codex.exe以及:
WSL Linux codex甚至 Codex Desktop 自己生成的 WSL Wrapper。
已经有多条 Codex Issue 反馈,切换到 WSL Agent Environment 后出现:
Unable to locate the Codex CLI binary所以如果你根本不需要 WSL:
建议暂时使用:
Windows Native减少一层环境映射。
如果必须使用 WSL,则分别检查 Windows:
where.exe codex以及 WSL:
whichcodex codex--version不要默认认为:
Windows 能执行 codex,WSL 就一定能执行。
这是两个不同的环境。
十五、问题 8:Windows Sandbox 初始化失败
有些人解决完启动问题后,又会遇到:
codex-windows-sandbox-setup.exe not found或者:
windows sandbox failed甚至:
CreateProcessWithLogonW failed这属于另外一类 Windows Codex 问题。
最近的官方 Issue 里,也出现过独立安装器安装成功,但是 Sandbox Helper 没有正确放到运行时预期目录的问题。
可以先运行:
codex doctor--summary--ascii查看:
runtime bin resources install consistent到底是否正常。
如果只是为了先确定 Codex CLI 能否运行,可以先测试:
codex--version启动问题和 Sandbox 问题不要混在一起排查。
十六、问题 9:客户端更新以后突然坏了
如果:
昨天正常,今天更新 Codex Desktop 后突然打不开。
那我反而建议:
不要第一时间删除 Node、重装 Git、重装 WSL。
因为这次确实出现了明显的 Windows Desktop 回归案例。
例如26.820.60940和26.820.7780.0都有人报告启动阶段无法正确定位 Codex CLI。
最好的排查顺序应该是:
客户端 ↓ CODEX_CLI_PATH ↓ Codex CLI ↓ PATH ↓ npm / Node ↓ WSL而不是直接把整个开发环境删掉。
十七、问题 10:重装客户端为什么还是没用?
因为真正的问题可能根本不在客户端配置文件。
例如:
CODEX_CLI_PATH属于环境变量。
你卸载 Codex Desktop:
环境变量依然存在再重新安装:
它又读到了原来的错误 CODEX_CLI_PATH所以你感觉:
怎么重装三遍都一样?
这时候应该检查:
$env:CODEX_CLI_PATH以及:
[Environment]::GetEnvironmentVariable("CODEX_CLI_PATH","User")十八、我推荐的一套完整修复流程
如果你不想研究上面的原理,可以直接按照下面这一套走。
第一步:检查 Codex
codex--version第二步:检查路径
where.exe codex第三步:如果没有 Codex,重新安装
powershell-ExecutionPolicy ByPass-c"irm https://chatgpt.com/codex/install.ps1 | iex"第四步:重新打开 PowerShell
然后:
codex--version第五步:获取真正的 exe
(Get-Commandcodex).Source最好得到类似:
C:\Users\xxx\AppData\Local\Programs\OpenAI\Codex\bin\codex.exe第六步:测试 exe
$codex=(Get-Commandcodex).Source &$codex--version第七步:设置 CODEX_CLI_PATH
$codex=(Get-Commandcodex).Source[Environment]::SetEnvironmentVariable("CODEX_CLI_PATH",$codex,"User")第八步:重启 Codex Desktop
这里要真正退出程序以后重新打开。
十九、可以直接复制的 PowerShell 排查脚本
如果你想一次查看关键环境,可以直接运行:
Write-Host"=== Codex Version ==="try{codex--version}catch{Write-Host"Codex command not found"}Write-Host"`n=== Where Codex ==="where.exe codex 2>$nullWrite-Host"`n=== Get-Command ==="Get-Commandcodex-All-ErrorAction SilentlyContinue|Format-ListSource,Path,CommandTypeWrite-Host"`n=== CODEX_CLI_PATH ==="Write-Host$env:CODEX_CLI_PATHWrite-Host"`n=== User CODEX_CLI_PATH ==="[Environment]::GetEnvironmentVariable("CODEX_CLI_PATH","User")Write-Host"`n=== Node ==="node--versionWrite-Host"`n=== npm ==="npm--versionWrite-Host"`n=== npm root ==="npm root-g很多 Codex Windows 环境问题,跑完这一段基本就能看出端倪。
二十、最后总结
这次 Windows 上出现:
ChatGPT failed to start以及:
Unable to locate the Codex CLI binary不一定是你的 Windows 坏了。
目前已经有多个用户在 Codex 官方 GitHub 仓库反馈相似问题,而且集中出现在近期 Windows Desktop 版本更新之后。
我建议优先记住三个原则。
第一:
先确认 codex.exe 能不能单独运行。第二:
CODEX_CLI_PATH 尽量指向真正的 codex.exe, 不要指向 codex.cmd。第三:
不要随便修改 C:\Program Files\WindowsApps 权限。我这次最终采用的处理方式,就是:
重新安装一份 Windows 原生 Codex CLI ↓ 确认 codex.exe 可以运行 ↓ 找到真正的 codex.exe ↓ 设置 CODEX_CLI_PATH ↓ 重新启动 Codex Desktop如果只是这次典型的:
Unable to locate the Codex CLI binary问题,这套方式是目前比较值得优先尝试的临时解决方案。
不过需要说明的是,截至2026 年 8 月 27 日,相关 Windows Issue 仍然处于 Open 状态,因此这更准确地说是一个绕过当前客户端问题的恢复方案,后续客户端版本仍可能由 OpenAI 从根本上修复。
参考资料
- OpenAI Codex 官方 GitHub:Windows Codex CLI 安装方式。
- Codex Windows Desktop
26.820.60940启动失败及spawn EINVAL问题。 - Codex Windows Desktop
26.820.7780.0无法执行内置 CLI 问题。 - Codex Windows / WSL CLI 路径问题。
- Codex Windows Sandbox Helper 相关问题。