ChatGPT Windows 客户端突然打不开?提示找不到 Codex CLI,我这样解决了
2026/8/27 12:17:11 网站建设 项目流程

最近在 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\codex

Windows 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/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

安装过一次。

后来又运行:

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.6094026.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 Desktop26.820.60940启动失败及spawn EINVAL问题。
  • Codex Windows Desktop26.820.7780.0无法执行内置 CLI 问题。
  • Codex Windows / WSL CLI 路径问题。
  • Codex Windows Sandbox Helper 相关问题。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询