ChatGPT Windows 客户端突然打不开?提示找不到 Codex CLI,我这样解决了
最近在 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 Desktop 26.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-Command codex
再详细一点:
Get-Command codex | Format-List Source,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\codex
Windows x64 下,真正的原生 Codex 二进制通常位于平台依赖包里面。
可以用 PowerShell 搜索:
$root = npm root -g
Get-ChildItem $root -Recurse -Filter "codex.exe" -ErrorAction SilentlyContinue |
Select-Object FullName
你应该会找到类似:
...\@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 config set registry https://registry.npmjs.org/
然后:
npm cache verify
重新安装:
npm install -g @openai/codex
Codex 官方 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
安装过一次。
后来又运行:
irm https://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-Command codex -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-ChildItem Env: | 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:
which codex
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-Command codex).Source
最好得到类似:
C:\Users\xxx\AppData\Local\Programs\OpenAI\Codex\bin\codex.exe
第六步:测试 exe
$codex = (Get-Command codex).Source
& $codex --version
第七步:设置 CODEX_CLI_PATH
$codex = (Get-Command codex).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>$null
Write-Host "`n=== Get-Command ==="
Get-Command codex -All -ErrorAction SilentlyContinue |
Format-List Source,Path,CommandType
Write-Host "`n=== CODEX_CLI_PATH ==="
Write-Host $env:CODEX_CLI_PATH
Write-Host "`n=== User CODEX_CLI_PATH ==="
[Environment]::GetEnvironmentVariable(
"CODEX_CLI_PATH",
"User"
)
Write-Host "`n=== Node ==="
node --version
Write-Host "`n=== npm ==="
npm --version
Write-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 相关问题。
葡萄城是专业的软件开发技术和低代码平台提供商,聚焦软件开发技术,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。
更多推荐


所有评论(0)