事件目标
这次排障有三个明确目标:
- 删除
.codex\bin\wsl\codex这个约 280 MB 的 Linux 二进制; - 溯源
CODEX_CLI_PATH为什么被指向 WSL; - 恢复 computer use。
证据与时间线
从 session 历史和配置文件可以还原出以下过程:
| 时间/来源 | 证据 | 结论 |
|---|---|---|
| 早期开发记录 | Ubuntu-22.04、wsl --list --verbose、fix-wsl-proxy-7890.ps1、\\?\unc\wsl.localhost\ubuntu-22.04\home\oyz 等路径 |
当时确实使用过 WSL;5 月 16 日还出现 wsl2-url、wsl-1、wsl-c-vhdx 项目目录 |
| 2026-06-14 | 生成 C:\Users\12706\.codex\bin\wsl\codex,文件大小约 280 MB,类型为 Linux ELF |
WSL 中的 codex 被带到了 Windows 路径 |
| 配置检查 | CODEX_CLI_PATH = '"C:\Users\12706\.codex\bin\wsl\codex"' |
路径外又包了一层引号,值本身无效 |
| 配置落点 | config.toml、config.nebula.toml、config.dahao.toml、备份文件及 HKCU 用户环境变量 |
错误值被多处持久化 |
根因
ChatGPT 桌面端读取 CODEX_CLI_PATH 定位 Agent 时,得到的是一个带引号的 Linux 二进制路径。Windows 因此报 os error 123;即使去掉引号,ELF 文件也不能直接在 Windows 上运行,最终表现为“WSL Agent 起不来”。
修复顺序与验收
- 删除或移走 WSL 版
codex二进制; - 清理用户环境变量及上述配置文件中的
CODEX_CLI_PATH; - 重启桌面端,使其重新读取 Windows 版 Agent 路径;
- 通过 computer use 执行一次简单操作,确认不再出现
os error 123。
结论
问题不是模型或网络故障,而是 WSL 二进制残留与错误环境变量共同造成的路径解析失败。清理残留、删除多余引号并重新验证 Agent 路径即可恢复。