自 2026 年 10 月 8 日起,在 Windows 上使用 Codex 应用、让 dot 控制电脑浏览器的用户,会看到任务在打开第一个标签页之前就失败。调用 await cua.getState(); 返回 MXC launcher: cannot locate required Windows platform directory: HRESULT 0x80070003,内核以代码 1 退出。Issue #52407 五天内评论超过 80 条,#53188 描述的也是同一个错误。
截至 2026 年 10 月 14 日,官方尚未发布修复。本文说明这个错误在 Codex 源码中的含义、如何确认你遇到的就是它,以及在修复发布前可以怎么做。
"cannot locate required Windows platform directory" 是什么意思?
意思是 Codex 的 MXC 沙箱启动器向 Windows 请求某个系统文件夹的路径,而 Windows 回答该路径不存在。代码 0x80070003 就是 Win32 错误 3,ERROR_PATH_NOT_FOUND("The system cannot find the path specified",见 Microsoft 文档)。
在 Codex 开源代码中,这条消息来自 codex-rs/mxc-sandbox/src/windows.rs 里的 platform_read_roots() 函数。在沙箱中启动进程之前,它会对三个文件夹调用 SHGetKnownFolderPath:Program Files、Program Files (x86) 和 ProgramData。任何一个失败,启动器就会带着这条消息中止。MXC 是应用开始使用的 Windows 原生沙箱后端,由 features.prefer_mxc 选项开启。
文件夹明明存在,为什么 Windows 说找不到 ProgramData?
因为启动器进程启动时缺少 SystemDrive 环境变量。Windows 在注册表中把 ProgramData 路径存为 %SystemDrive%\ProgramData(HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList 下的 REG_EXPAND_SZ 值)。没有 SystemDrive,这个路径无法展开,查询就返回 0x80070003。
这个原因尚未得到官方确认,但 issue 中多位用户独立验证过:不同电脑上的 Procmon 抓包显示,启动器读取注册表值后直接查找未展开的字面路径,而失败进程的环境中没有 SystemDrive。还有一份报告显示,同样的查询失败在核心 0.162 版本之前就已存在,只是当时只是非致命警告。换成 MXC 启动器后,它会直接导致初始化失败。

怎么判断我遇到的是这个错误?
对照下表。四行都符合,就是 #52407 的同一个问题。
| 信号 | #52407 中的情况 |
|---|---|
| 应用版本 | 安装包 26.1007.x,内置核心 0.162.0-alpha.17.2 |
| 失败位置 | 初始化浏览器控制或 Computer Use 时,列出标签页之前 |
| 终端命令 | 正常运行 |
| 在应用中直接打开的对话里执行同一任务 | 多数报告中可以运行;失败出现在 dot 创建的任务里 |
在 PowerShell 中查看已安装的包版本:
Get-AppxPackage OpenAI.Codex | Select-Object Name, Version
有时第一次尝试会显示另一条消息 trusted Node process exited unexpectedly; kernel reset, rerun your request,第二次才出现 0x80070003。报告中把两者视为同一事件。
能在自己的电脑上复现这个原因吗?
可以,而且不需要改动 Codex 的任何东西。打开一个新的 PowerShell 窗口,运行下面的代码,然后关闭窗口。Remove-Item 只影响这个会话:
Remove-Item Env:SystemDrive
powershell -NoProfile -Command "[Environment]::GetFolderPath('CommonApplicationData')"
有 SystemDrive 时,同一命令返回 C:\ProgramData;没有时,新进程返回空字符串。这正是 Codex 启动器遇到的情况,issue 中有用户描述过,也与注册表中的值一致。
现在怎么绕过这个错误?
把需要浏览器的部分放到 Codex 应用中直接打开的对话里、在电脑本机上运行,而不是通过 dot 委派的任务。2026 年 10 月 12 日至 14 日,多位用户报告:在同一台电脑上,本地对话可以列出标签页并浏览,而 dot 的任务仍以 0x80070003 失败。
- 让 dot 负责不需要浏览器的部分(代码、终端、文件)。
- 需要浏览器时,在已连接电脑上的 Codex 桌面应用中直接新建对话。
- 在那里请求同样的浏览器操作,确认能返回标签页列表。
在 issue 的所有报告中,重启应用、重启 Windows、重新安装或使用安装包的"修复"功能都没有解决问题。
allow_mxc = false 或社区补丁有用吗?
allow_mxc = false:这个键确实存在(位于 [windows] 段,可写在 %ProgramData%\OpenAI\Codex\requirements.toml 中),会阻止选用 MXC。但在 issue 中提出这个方法的用户几小时后就撤回了:浏览器控制恢复后,当天又再次失败。不要依赖它。
cua-repl.mjs 补丁:有用户在 issue 中发布了对浏览器运行时启动文件的修改,在缺少时补上 SYSTEMDRIVE 和 LOCALAPPDATA,并切换进程的工作目录。作者和另外两人报告用它恢复了;另一人应用后错误依旧。它修改的是应用打包的文件,没有 OpenAI 的支持,任何更新都会覆盖它。如果要尝试,请先备份原文件。
官方修复什么时候发布?
没有日期。我们在 2026 年 10 月 14 日检查了仓库:这条路径还没有修复 PR,核心最新稳定版是 0.162.1(10 月 9 日),0.163.0-alpha 系列仍在持续发布。用户自己建议的修复方式是让 Codex 把 SystemDrive 传给启动器,就像核心在 shell 命令环境中已经做的那样。
在此期间,出错时请从应用中提交反馈,并把 Feedback ID 贴到 issue #52407。很多用户都在这样做,为团队提供失败路径的日志。
快速问答
这和 "setup refresh had errors" 有关吗?是两个不同的错误。setup refresh had errors(os error 32)在 26.1007.21434 版本中已修复,而 0x80070003 正是在这个版本的 dot 任务中出现的。
修改文件夹权限或注册表有用吗?没有用。文件夹存在,权限也正常;缺少的是进程环境中的变量。不要修改注册表里 ProfileList 的值。
如果你想要一个直接在终端运行、不依赖浏览器运行时的编程智能体,Verboo Code 以 CLI 形式工作,并提供无限 token。



