在 Windows 上使用 ChatGPT / Codex 桌面版时,有些用户会突然遇到下面这个报错:

Unable to locate the Codex CLI binary.
Set CODEX_CLI_PATH or ensure the Electron resources include bin/codex.

从字面上看,就是桌面应用没有找到 Codex CLI 可执行文件。

但实际原因并不只有“Codex 没安装”这一种。2026 年以来,Windows 版 Codex Desktop 还出现过 WSL 模式切换、Microsoft Store 打包、PATH 环境变量,以及新版桌面应用无法正确拉起 .cmd 包装脚本等问题。OpenAI 的 Codex GitHub Issue 中已经出现多起相同或类似报错。

所以遇到这个错误时,不建议一上来反复重装桌面客户端。

更合理的排查顺序应该是:

确认 Codex CLI 是否存在
↓
确认 Windows 能否直接执行
↓
找到真正的 codex.exe
↓
检查 CODEX_CLI_PATH
↓
检查 WSL 模式
↓
最后再判断是否属于桌面版 Bug

下面逐步处理。


一、先确认 Windows 上有没有 Codex CLI

打开 PowerShell:

codex --version

如果能够正常输出版本号,例如:

codex-cli 0.x.x

说明 Codex CLI 本身已经安装。

这时候问题更可能是:

Codex CLI 正常
↓
桌面客户端找不到它

而不是重新安装 CLI 就一定能解决。

如果提示:

codex : The term 'codex' is not recognized...

说明当前 PowerShell 中 Codex 不可用。

这时可以直接使用 OpenAI 当前提供的 Windows 官方安装脚本:

powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"

OpenAI 当前 Codex 官方仓库也将这条命令作为 Windows 的推荐安装方式。

安装后关闭 PowerShell,再重新打开:

codex --version

确认是否恢复。


二、如果以前通过 npm 安装,先检查安装位置

不少老用户是这样安装 Codex 的:

npm install -g @openai/codex

可以先检查:

where.exe codex

常见结果可能类似:

C:\Users\你的用户名\AppData\Roaming\npm\codex
C:\Users\你的用户名\AppData\Roaming\npm\codex.cmd

也可以:

Get-Command codex

需要注意:

桌面客户端真正需要的可能并不是 codex.cmd,而是底层真正的 codex.exe

这是 2026 年 8 月 Windows 新版 Codex Desktop 尤其值得注意的一个问题。

OpenAI GitHub 上 2026 年 8 月 26 日出现的一个报告显示,桌面版升级到 26.820.60940 后,如果把:

CODEX_CLI_PATH

设置到 npm 生成的:

codex.cmd

桌面客户端可能继续报:

spawn EINVAL

但如果直接指向底层原生:

codex.exe

则可以绕过这个问题。


三、如何找到真正的 codex.exe?

如果使用 npm 全局安装,可以先运行:

npm root -g

假设返回:

C:\Users\username\AppData\Roaming\npm\node_modules

再搜索:

Get-ChildItem "$(npm root -g)\@openai\codex" -Recurse -Filter codex.exe -ErrorAction SilentlyContinue | Select-Object FullName

可能找到类似路径:

C:\Users\username\AppData\Roaming\npm\node_modules\
@openai\codex\node_modules\
@openai\codex-win32-x64\
vendor\x86_64-pc-windows-msvc\bin\codex.exe

不要机械复制这个路径,因为 Codex 版本和安装方式不同,实际目录可能变化。

核心是找到:

真正的 codex.exe

而不是:

codex.cmd

四、设置 CODEX_CLI_PATH

找到真实的 codex.exe 后,可以临时测试:

$env:CODEX_CLI_PATH="C:\完整路径\codex.exe"

然后在同一个 PowerShell 中验证:

& $env:CODEX_CLI_PATH --version

如果正常输出 Codex 版本,再完全退出 ChatGPT / Codex 桌面客户端并重新打开。

如果测试有效,再写入用户环境变量:

[Environment]::SetEnvironmentVariable(
  "CODEX_CLI_PATH",
  "C:\完整路径\codex.exe",
  "User"
)

然后:

完全退出桌面应用
↓
重新启动

必要时重新登录 Windows,让 Electron 应用重新读取用户环境变量。

可以检查:

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

确认值是否正确。


五、不要把 CODEX_CLI_PATH 指向 codex.cmd

这是目前 Windows 上非常值得单独强调的一点。

如果:

where.exe codex

返回:

...\npm\codex.cmd

不要马上:

setx CODEX_CLI_PATH "...\npm\codex.cmd"

原因在于 .cmd 本质是 Windows 命令包装脚本。

部分 Electron / Node.js 启动逻辑如果直接调用:

child_process.spawn()

而没有通过 shell 处理 .cmd,就可能出现:

spawn EINVAL

2026 年 8 月 26 日的 Codex Windows Issue 就报告了这一行为,并给出了直接指向原生 codex.exe 的临时解决方式。

所以优先级应该是:

codex.exe

而不是:

codex.cmd

六、如果开启过 WSL Agent,要重点检查

另一个非常常见的触发场景是:

Codex Desktop 正常
↓
设置中把 Agent Environment 改成 WSL
↓
重新启动
↓
Unable to locate the Codex CLI binary

这不是个例。

OpenAI Codex 官方 GitHub 上已经有多起用户反馈:Windows 桌面版切换到 WSL Agent 后,应用无法找到 WSL 环境对应的 bundled Codex CLI。

这种情况下应该区分两套程序:

Windows native:
codex.exe

和:

WSL / Linux:
codex

它们并不是同一个二进制文件。

所以:

Windows 的 codex.exe

不能简单等价成:

WSL 内的 Linux codex

如果报错是在开启 WSL 模式以后才出现,可以优先把 Agent Environment 切回:

Windows

再测试桌面端是否恢复。

如果切回 Windows 后正常,问题基本就锁定在:

WSL Agent
+
桌面客户端
+
CLI 二进制定位

这一层。


七、WSL 模式为什么会出这个问题?

OpenAI GitHub 上的相关报告显示,Windows Store / MSIX 版本有时会涉及这样的逻辑:

WindowsApps
↓
桌面应用 bundled Linux codex
↓
复制/relocate 到
%USERPROFILE%\.codex\bin\wsl\
↓
由 WSL 使用

2026 年 8 月还有一个 Issue 报告,MSIX 包里的 Linux codex 文件带有 Windows EFS 加密属性,桌面客户端尝试把它复制到:

%USERPROFILE%\.codex\bin\wsl\

时出现:

ERROR_ENCRYPTION_FAILED
0x80071770

最终桌面应用仍然只显示:

Unable to locate the Codex CLI binary

也就是说:

表面上是“找不到 CLI”,底层实际可能是二进制复制失败。

如果你只在 WSL 模式出现问题,而 Windows Native 正常,就不要一直折腾 npm PATH。


八、检查 Microsoft Store 安装包是否真的包含 Codex

如果使用 Microsoft Store / MSIX 版,可以在 PowerShell 中执行:

Get-AppxPackage *Codex* |
Select-Object Name, PackageFullName, Version, InstallLocation

拿到:

InstallLocation

以后检查资源:

$pkg = (Get-AppxPackage *Codex*).InstallLocation

Get-ChildItem $pkg -Recurse -ErrorAction SilentlyContinue |
Where-Object { $_.Name -match "codex" } |
Select-Object FullName, Length

正常情况下可能看到:

Codex.exe
codex.exe
codex-command-runner.exe

相关 GitHub 报告中就出现过一种情况:

资源目录里 codex.exe 明明存在
↓
桌面客户端仍然提示找不到

说明这时问题属于:

客户端定位/执行 bundled binary 失败

而不是用户根本没装 Codex。


九、检查 CODEX_CLI_PATH 有没有残留错误值

有时之前手动折腾过环境变量,反而留下错误路径。

检查:

$env:CODEX_CLI_PATH

以及:

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

如果看到:

一个已经不存在的路径

那桌面应用可能优先读取错误配置。

可以删除:

[Environment]::SetEnvironmentVariable(
  "CODEX_CLI_PATH",
  $null,
  "User"
)

然后重新登录 Windows。

之后让桌面应用重新尝试 bundled CLI。

如果 bundled CLI 本身存在问题,再重新设置到有效的:

codex.exe

十、推荐的完整排查命令

可以按顺序执行:

codex --version

再:

where.exe codex

再:

Get-Command codex

如果 npm 安装:

npm root -g

搜索原生文件:

Get-ChildItem "$(npm root -g)\@openai\codex" `
-Recurse `
-Filter codex.exe `
-ErrorAction SilentlyContinue |
Select-Object FullName

检查环境变量:

$env:CODEX_CLI_PATH

检查永久变量:

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

如果需要设置:

[Environment]::SetEnvironmentVariable(
  "CODEX_CLI_PATH",
  "C:\真实路径\codex.exe",
  "User"
)

最后完全退出桌面端并重启。


十一、如果 CLI 根本没装,建议改用官方独立安装器

过去很多教程会要求:

npm install -g @openai/codex

但 OpenAI 现在已经提供 Windows 独立安装器:

powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"

相比 npm 全局包,它可以减少:

Node.js 版本问题
npm PATH
全局模块目录
.cmd wrapper

等额外变量。

如果你只是希望稳定使用 Codex CLI,2026 年新安装环境优先考虑官方独立安装方式更简单。


十二、安装成功但桌面版仍然报错怎么办?

假设:

codex --version

完全正常。

真实:

codex.exe

也存在。

甚至:

& "C:\path\codex.exe" --version

也可以运行。

但是 Codex Desktop 依旧:

Unable to locate the Codex CLI binary

这时候就不要继续反复安装 Node.js。

问题大概率已经进入:

桌面应用
↓
Electron
↓
bundled CLI / process spawn

这一层。

尤其如果:

  • 最近刚升级桌面版;

  • 问题在升级后突然出现;

  • Windows 原生 CLI 正常;

  • 设置 codex.cmd 后变成 spawn EINVAL

那么很可能属于当前 Windows Desktop 版本本身的问题。

2026 年 8 月 26 日就已经有用户报告升级到 26.820.60940 后发生这一情况。

此时可以优先:

1. 尝试直接指向 codex.exe
2. 暂时使用 CLI
3. 关注客户端后续修复

而不是持续修改系统环境。


十三、国内 Windows 用户还要额外检查网络问题

还有一种情况容易和 CLI 找不到混淆:

CLI 可以启动
↓
但登录或模型连接失败

这已经不是:

Unable to locate binary

的问题。

它属于:

CLI 找到了
↓
网络 / 登录 / API 请求失败

因此要分层排查。

第一层:

codex --version

第二层:

codex

第三层:

ChatGPT 授权

第四层:

实际模型连接

不要出现模型连接失败以后又重新安装 CLI。

对于国内用户,实际使用过程中还经常会同时关注 Codex 安装、ChatGPT Plus / Pro 订阅、GPT 充值以及 Codex 额度等问题,例如 aicz123.com 中整理的相关中文内容可以作为使用流程的补充参考;但涉及 Windows CLI 安装路径和客户端 Bug 时,仍建议优先参考 OpenAI Codex 官方仓库和 Issue。


十四、一张排查流程图

遇到:

Unable to locate the Codex CLI binary

可以直接按照:

codex --version 能运行?
│
├─ 否
│   ↓
│ 安装 Codex CLI
│   ↓
│ 官方 install.ps1
│
└─ 是
    ↓
where codex
    ↓
找到的只是 codex.cmd?
│
├─ 是
│   ↓
│ 找真正 codex.exe
│   ↓
│ CODEX_CLI_PATH = codex.exe
│
└─ 否
    ↓
是否开启 WSL Agent?
│
├─ 是
│   ↓
│ 临时切回 Windows
│   ↓
│ 判断是否 WSL relocation 问题
│
└─ 否
    ↓
检查 CODEX_CLI_PATH
    ↓
检查 Desktop 版本
    ↓
可能属于客户端 Bug

总结

Windows 上出现:

Unable to locate the Codex CLI binary.
Set CODEX_CLI_PATH or ensure the Electron resources include bin/codex.

不能简单理解成:

“重新安装 Codex 就好了。”

2026 年 Windows Codex Desktop 的真实案例显示,它可能来自至少几类原因:

Codex CLI 没安装

PATH 没配置

CODEX_CLI_PATH 写错

CODEX_CLI_PATH 指向 codex.cmd

WSL Agent 找不到 Linux codex

MSIX / WindowsApps 二进制 relocation 失败

桌面客户端新版自身 Bug

最有效的排查方式是先确认:

codex --version

如果 CLI 本身正常,再寻找底层真实:

codex.exe

并在必要时设置:

CODEX_CLI_PATH

尤其 Windows npm 安装用户,尽量不要把变量直接指向 codex.cmd;当前已有案例显示这可能触发 spawn EINVAL,而指向真正的原生 codex.exe 可以作为临时解决方式。

如果问题恰好是在切换 WSL Agent 后出现,则优先排查 WSL bundled CLI,而不是继续修改 Windows npm 环境。

参考来源

  • OpenAI Codex 官方 GitHub:《Installing and running Codex CLI》——Windows 官方 Codex CLI 安装方法。

  • OpenAI Codex Issue #28031——Windows 桌面版 bundled codex.exe 存在但客户端仍无法执行的案例。

  • OpenAI Codex Issue #28086 / #30094——Windows 切换 WSL Agent 后出现 CLI binary 定位失败。

  • OpenAI Codex Issue #38696——MSIX / WindowsApps 下 WSL binary relocation 与 EFS 加密失败问题。

  • OpenAI Codex Issue #40752——2026 年 8 月 26 日 Windows Desktop 新版本中 codex.cmd 导致 spawn EINVAL,直接指向原生 codex.exe 的临时解决案例。

Logo

AtomGit AI 社区提供模型库、数据集、Agent、Token等资源

更多推荐