问题现象

在 Windows 11 上更新新版 ChatGPT / Codex Desktop 后,部分用户会遇到 Codex 无法正常启动的问题,并出现如下提示:

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

这个问题有一个比较明显的特点:

卸载、重装、清理 .codex、删除 npm 版本 Codex 等操作,很多情况下都无法解决。

目前 OpenAI Codex GitHub 仓库已经有多个类似问题报告。2026 年 8 月 26 日也有用户反馈 Windows 11 更新 Desktop App 后直接出现相同错误,并且重新安装不能从根本上解决。


一、为什么卸载重装可能没用?

这个错误看起来像:

Codex CLI 没安装。

但实际上很多情况下,codex.exe 已经存在于 ChatGPT / Codex Desktop 的安装目录中

例如 Microsoft Store / MSIX 版本通常位于:

C:\Program Files\WindowsApps\OpenAI.Codex_xxx\app\resources\codex.exe

也就是说:

codex.exe

实际上存在,但新版 Desktop App 在更新之后,没有正确定位或启动这个 CLI。

GitHub 上已经有案例确认:

app\resources\codex.exe

明明存在,但 Desktop App 仍然提示:

Unable to locate the Codex CLI binary

因此单纯卸载重装并不一定有效。


二、先确认自己的 Codex 安装位置

打开:

PowerShell

执行:

$pkg = Get-AppxPackage OpenAI.Codex

$pkg | Select-Object Version, InstallLocation

例如我的电脑输出:

Version         InstallLocation
-------         ---------------
26.820.7780.0   C:\Program Files\WindowsApps\OpenAI.Codex_26.820.7780.0_x64__2p2nqsd0c76g0

说明当前安装目录是:

C:\Program Files\WindowsApps\OpenAI.Codex_26.820.7780.0_x64__2p2nqsd0c76g0

三、确认 codex.exe 是否存在

继续在 PowerShell 执行:

Test-Path "$($pkg.InstallLocation)\app\resources\codex.exe"

如果返回:

True

说明 Windows 版本的 Codex CLI 实际已经包含在安装包中。

还可以顺便检查 WSL/Linux 版本:

Test-Path "$($pkg.InstallLocation)\app\resources\codex"

如果也是:

True

说明安装包同时包含:

codex.exe

和:

codex

两个版本。

其中:

codex.exe

是 Windows CLI。

而没有扩展名的:

codex

主要用于 Linux / WSL 环境。


四、解决方法:手动设置 CODEX_CLI_PATH

目前社区中比较简单、有效的临时解决方案,是直接告诉 Desktop App:

codex.exe 到底在哪里。

首先动态获取自己电脑上的路径:

$pkg = Get-AppxPackage OpenAI.Codex

$codexPath = Join-Path $pkg.InstallLocation "app\resources\codex.exe"

$codexPath

例如可能得到:

C:\Program Files\WindowsApps\OpenAI.Codex_26.820.7780.0_x64__2p2nqsd0c76g0\app\resources\codex.exe

然后设置 Windows 用户环境变量

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

实际上也可以直接一次完成:

$pkg = Get-AppxPackage OpenAI.Codex
$codexPath = Join-Path $pkg.InstallLocation "app\resources\codex.exe"

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

这样不用自己填写版本号。


五、验证环境变量是否设置成功

执行:

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

正常应该输出类似:

C:\Program Files\WindowsApps\OpenAI.Codex_26.820.7780.0_x64__2p2nqsd0c76g0\app\resources\codex.exe

然后继续执行:

Test-Path (
    [Environment]::GetEnvironmentVariable(
        "CODEX_CLI_PATH",
        "User"
    )
)

如果返回:

True

说明:

  1. CODEX_CLI_PATH 已经设置成功;

  2. 指向的文件确实存在。


六、重新启动 ChatGPT / Codex

设置环境变量后,不要直接在原来的进程里测试。

建议:

  1. 完全退出 ChatGPT / Codex;

  2. 打开任务管理器;

  3. 确认 ChatGPT、Codex 等相关进程已经结束;

  4. 重新打开 ChatGPT。

如果仍然读取不到环境变量,可以直接:

重启 Windows

再启动 ChatGPT。

因为已经启动的 Electron 进程不一定能够读取后续新增的用户环境变量。


七、也可以通过 Windows 图形界面设置

如果不想使用 PowerShell:

按:

Win + R

输入:

sysdm.cpl

然后进入:

高级
→ 环境变量
→ 用户变量
→ 新建

变量名:

CODEX_CLI_PATH

变量值填写自己电脑实际的:

...\app\resources\codex.exe

例如:

C:\Program Files\WindowsApps\OpenAI.Codex_26.820.7780.0_x64__2p2nqsd0c76g0\app\resources\codex.exe

保存以后重新启动 ChatGPT。


八、不要把 CODEX_CLI_PATH 指向 codex.cmd

这一点比较重要。

如果电脑之前通过 npm 安装过:

npm install -g @openai/codex

执行:

where.exe codex

可能看到:

D:\nvm4w\nodejs\codex
D:\nvm4w\nodejs\codex.cmd

不建议把:

CODEX_CLI_PATH

设置成:

D:\nvm4w\nodejs\codex.cmd

GitHub 上已经有报告表明,Electron 直接启动 .cmd wrapper 时可能出现:

spawn EINVAL

因此应当直接指向真正的:

codex.exe

而不是:

codex.cmd


九、如果使用 WSL,需要额外注意

如果之前在 ChatGPT / Codex 中开启了:

Agent Environment → WSL

那么这个问题可能还涉及另外一个 Windows/MSIX Bug。

可以执行:

$pkg = Get-AppxPackage OpenAI.Codex

(Get-Item "$($pkg.InstallLocation)\app\resources\codex").Attributes

如果返回:

Archive, Encrypted

那么你很可能遇到了目前社区已经确认的:

Windows MSIX / Application Protected 文件复制失败问题。

Codex Desktop 在 WSL 模式下需要把:

app\resources\codex

复制到类似:

%USERPROFILE%\.codex\bin\wsl\

的位置。

但因为 WindowsApps 中的文件被标记为:

Encrypted

复制过程中可能触发:

ERROR_ENCRYPTION_FAILED
0x80071770

最终 Desktop App 却只显示:

Unable to locate the Codex CLI binary

这也是目前 OpenAI Codex GitHub 上已经确认存在的问题。

因此:

CODEX_CLI_PATH=...\codex.exe

目前更适合作为 Windows Desktop 能够启动的临时 workaround

如果高度依赖真正的 WSL Agent 环境,需要注意它不一定彻底解决 WSL 二进制 relocation 问题。GitHub 上也有用户

Logo

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

更多推荐