Unable to locate the Codex CLI binary
Codex 桌面版无法定位 CLI 的排查与解决
1. 问题现象
启动 Codex 桌面版时出现类似错误:
Unable to locate the Codex CLI binary. Set CODEX CLI PATH or ensure the Electron resources include bin/codex.
中文含义是:桌面应用找不到 Codex CLI(二进制命令行程序)。应用因此无法启动终端代理、执行项目任务等依赖 CLI 的功能。
2. 问题原因
Codex 桌面版由 Electron(Windows 桌面应用框架)启动。启动时它需要找到随应用打包的 CLI:
Electron 安装目录\resources\codex.exe
应用通常会自动搜索该文件;如果自动搜索失败,就会提示设置 CODEX_CLI_PATH。
常见原因包括:
- 应用更新后安装目录版本号变化,旧缓存仍指向旧目录。
- 通过旧快捷方式、开发版或残留安装目录启动了桌面应用。
- 应用包安装不完整,
resources\codex.exe确实不存在。 CODEX_CLI_PATH未设置、设置为空,或指向了错误文件。- PowerShell 命令在括号内部被错误换行,导致变量没有成功赋值。
3. 推荐解决方法(PowerShell)
3.1 自动获取当前安装路径
完全退出 Codex 后,打开 PowerShell。下面每条命令请整行粘贴执行,不要在括号中间手动换行:
$cli = (Get-AppxPackage -Name OpenAI.Codex).InstallLocation + '\app\resources\codex.exe'
3.2 检查 CLI 是否存在
Test-Path $cli
预期结果:
True
如果返回 False,说明安装包中没有该文件,应直接执行“修复/重置/重新安装”(见第 5 节)。
3.3 设置用户级环境变量
[Environment]::SetEnvironmentVariable('CODEX_CLI_PATH', $cli, 'User')
$env:CODEX_CLI_PATH = $cli
Write-Host $env:CODEX_CLI_PATH
其中:
- 第一条把变量持久保存到当前 Windows 用户环境变量中;
- 第二条让当前 PowerShell 进程立即拥有该变量;
- 第三条打印最终路径,便于确认设置成功。
设置完成后重新启动 Codex。若仍未生效,注销 Windows 账户并重新登录,因为已经运行的桌面程序不会自动读取新环境变量。
4. 验证环境变量
重新打开 PowerShell 后执行:
[Environment]::GetEnvironmentVariable('CODEX_CLI_PATH', 'User')
输出应为当前版本的完整路径,并以以下文件结尾:
\app\resources\codex.exe
也可以检查当前应用包路径:
Get-AppxPackage -Name OpenAI.Codex | Select-Object Name, Version, InstallLocation
5. 如果仍然无法启动
按以下顺序处理:
- 打开“设置 → 应用 → 已安装的应用 → Codex → 高级选项”。
- 点击“修复”,完成后重新启动 Codex。
- 如果无效,点击“重置”,然后再次设置
CODEX_CLI_PATH。 - 仍无效时卸载 Codex,并从 Microsoft Store 重新安装最新版。
- 从开始菜单重新启动新安装的 Codex,不要使用旧桌面快捷方式。
重新安装或升级后,WindowsApps 目录中的版本号可能改变;此时重新执行第3节命令即可自动取得新路径。
6. 为什么不要直接复制或手动运行该文件
C:\Program Files\WindowsApps 是 Microsoft Store 应用的受保护目录。直接在普通 PowerShell 中运行其中的 codex.exe 可能出现“Access is denied”,这不代表应用内的 CLI 损坏,而是 Windows 的目录权限和应用容器限制。
不要手动复制、修改或删除 WindowsApps 中的文件,也不要把 CODEX_CLI_PATH 指向 npm 生成的 codex.cmd。桌面版应优先使用应用包内的 resources\codex.exe。
7. PowerShell 换行注意事项
下面这种写法容易触发“表达式中缺少右 ‘)’”:
$cli = Join-Path (Get-AppxPackage -Name
OpenAI.Codex).InstallLocation 'app\resources\codex.exe'
原因是 PowerShell 在括号表达式尚未完整结束时,将换行解析成了不完整语句。建议使用第 3.1 节的单行写法,或者显式使用反引号续行。
8. 原理简述
Codex 桌面应用
│
├─ 自动查找 Electron\resources\codex.exe
│
└─ 查找失败时读取 CODEX_CLI_PATH
│
└─ 指向随应用安装的 codex.exe
CODEX_CLI_PATH 是一个用户级 Windows 环境变量。桌面应用启动时读取它,并将其作为 CLI 的绝对路径;使用绝对路径可以绕过 PATH 搜索和旧安装目录缓存问题。
9. 官方参考
葡萄城是专业的软件开发技术和低代码平台提供商,聚焦软件开发技术,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。
更多推荐



所有评论(0)