Codex 在 Windows 报 helper_unknown_error?setup refresh had errors 排查办法
在沙盒日志确认 os error 32,并把 Windows 沙盒临时切到 unelevated。
TL;DR: 在 Windows 上,Codex 构建版本约为 26.1002.x、内置 CLI 为 0.162.0-alpha.2 时,helper_unknown_error: setup refresh had errors 通常很可能是提权沙箱里的共享冲突回归问题。已有报告中的临时绕过办法是先设置 [windows] sandbox = "unelevated",直到安装更新后的构建版本。本文基于 GitHub 用户报告、沙箱日志,以及用户在 openai/codex issue 中引用的 OpenAI Windows 沙箱文档。
适用范围: Windows 10 和 Windows 11 上的 Codex Desktop / ChatGPT Desktop 本地执行,尤其是已有报告提到的包版本 26.1002.6548.0 和 26.1002.7124.0,About 版本 26.1002.51308 和 26.1002.52244,内置 CLI/helper 0.162.0-alpha.2。最后检查: 2026-11-03。
| 你看到的现象 | 跳转到 |
|---|---|
helper_unknown_error: setup refresh had errors | helper_unknown_error: setup refresh had errors |
trusted Node process exited unexpectedly 或 node_repl kernel exited unexpectedly | trusted Node process exited unexpectedly |
helper_unknown_error: setup refresh had errors 在 elevated sandbox 中
exec-server rejected request (-32603): helper_unknown_error: setup refresh had errors
windows sandbox failed: helper_unknown_error: setup refresh had errors
在 Windows 上,如果提权沙箱设置很可能在运行时对正在使用的 cua_node 文件做读取/执行 ACL 校验时失败,Codex 会显示 helper_unknown_error: setup refresh had errors。沙箱日志中会出现 Windows os error 32 / ERROR_SHARING_VIOLATION(见 openai/codex#51601、openai/codex#51634 和 openai/codex#51590)。如果 Get-Location 这类普通沙箱命令在 PowerShell 启动前就失败,并且日志里点名了 %LOCALAPPDATA%\OpenAI\Codex\runtimes\cua_node\... 下的 node_repl.exe、node.exe 或 VCRUNTIME140_1.dll,那你遇到的就是这种情况(见 openai/codex#51601)。
- 在 Codex 沙箱日志里搜索致命的运行时校验行。
Select-String -Path "$env:USERPROFILE\.codex\.sandbox\sandbox.*.log" ` -Pattern "runtime read/execute validation failed","os error 32","helper_unknown_error" ` -Context 0,3 - 如果日志里在某个
cua_node运行时文件上同时出现runtime read/execute validation failed和os error 32,找到包含 Windows 沙箱设置的 Codexconfig.toml文件。Get-ChildItem -Path $env:USERPROFILE -Filter config.toml -Recurse -ErrorAction SilentlyContinue | Select-String -Pattern '^\s*sandbox\s*=\s*"(elevated|unelevated)"' -List | Select-Object -ExpandProperty Path - 打开上一步找到的
config.toml文件,把 Windows 沙箱配置块改成已有报告中的临时绕过写法。[windows] sandbox = "unelevated" - 完全退出 Codex Desktop 或 ChatGPT Desktop,然后重新打开应用,让沙箱设置重新加载;已有报告称,只重启应用但不更改设置,无法解决 elevated sandbox 的失败(见 openai/codex#51601 和 openai/codex#51590)。
- 在重试构建、测试、Browser Use 或 Computer Use 工作流之前,先从 Codex 运行一个最小的沙箱命令,例如
Get-Location。
如何确认已生效: 请求的命令应该能启动并完成,而不是在创建进程前失败。在成功使用该绕过办法的报告中,切换到 unelevated 后,沙箱内的 PowerShell 命令可以完成,Browser Control 也能初始化(该绕过办法见 openai/codex#51590)。
如果仍然失败: 收集 %USERPROFILE%\.codex\.sandbox\sandbox.<date>.log 和 %USERPROFILE%\.codex\.sandbox\setup_error.json,然后在现有 GitHub issue 中报告 Codex 包版本、About 版本、内置 CLI/helper 版本、Windows 版本、沙箱设置、失败的运行时路径,以及完整的 runtime read/execute validation failed 行。不要把手动预授予 ACL 当成下一步修复,因为有报告发现递归添加 (RX) ACE 并没有改变失败结果(见 openai/codex#51634);如果本地执行恢复后,接下来出现的是 API 或 provider 错误,请使用通用错误处理指南,把可重试的 API 失败和这个 Windows 本地沙箱启动失败区分开。
trusted Node process exited unexpectedly 在 Computer Use 中
trusted Node process exited unexpectedly
node_repl kernel exited unexpectedly
windows sandbox failed: helper_unknown_error: setup refresh had errors
当 Computer Use、Browser Use 或 Node REPL 失败时,Codex 可能显示 trusted Node process exited unexpectedly 或 node_repl kernel exited unexpectedly,原因是同一个 Windows 沙箱设置刷新先失败了(见 openai/codex#51590、openai/codex#51601 和 openai/codex#51634)。如果 await cua.getState()、sky.list_apps() 或浏览器/应用发现还没返回任何标签页或应用就失败,并且普通的沙箱 shell 命令也在执行前失败,那你遇到的就是这种情况(见 openai/codex#51590)。
- 确认 Node 错误背后是同一个沙箱设置失败。
Select-String -Path "$env:USERPROFILE\.codex\.sandbox\sandbox.*.log" ` -Pattern "node_repl.exe","VCRUNTIME140_1.dll","runtime read/execute validation failed","setup refresh had errors" ` -Context 0,3 - 如果日志显示同样的运行时读取/执行校验失败,应用相同的临时沙箱设置。
[windows] sandbox = "unelevated" - 完全退出并重新打开 Codex Desktop 或 ChatGPT Desktop;已有报告称,只结束
node_repl.exe不能带来持久恢复,因为失败可能转移到另一个正在使用的运行时文件,例如VCRUNTIME140_1.dll(见 openai/codex#51601 和 openai/codex#51634)。 - 先重试受影响范围最小的操作:运行一个沙箱内的
Get-Location,再重试 Browser Use 或 Computer Use 初始化。
如何确认已生效: Computer Use 或 Browser Use 应该能初始化,而不是在浏览器或应用清单生成前失败;重试对应的沙箱日志里,也不应再出现致命的 runtime read/execute validation failed 行。后来有一条用户报告称,在最新检查中,PowerShell、node_repl、Computer Use 和 sky.list_apps() 都可以工作,并且沙箱刷新报告 errors=[],但材料中没有包含维护者针对这次恢复发布的 release note(见 openai/codex#51590)。
如果仍然失败: 如果更新器提供了新的 Codex Windows 构建版本,请安装后用同一个最小命令重新测试;如果更新器显示应用已经是最新版本,请把沙箱日志和版本详情附到 GitHub issue,而不是反复重置运行时目录。如果你重装或回滚后,本地执行已经恢复,但 provider 配置缺失,请使用 Codex model-provider 配置重建 Codex 侧的 provider 设置。
我们如何验证
- 很可能是 Windows elevated sandbox ACL 共享冲突:2026-10-07 和 2026-10-08 的多条用户报告包含沙箱日志行,显示在正在使用的
cua_node文件上出现runtime read/execute validation failed、open ACL target for root-only update和os error 32(openai/codex#51601、openai/codex#51634、openai/codex#51590)。 unelevated绕过办法:一名用户在 2026-10-08 报告称,将config.toml改为[windows] sandbox = "unelevated"后,Codex Desktop26.1002.7124.0上的沙箱内 PowerShell 和 Browser Control 恢复正常;同一份报告引用了 OpenAI 文档,文档将unelevated描述为一种回退方案,隔离性弱于elevated(openai/codex#51590)。- 降级是用户绕过办法,不是本文的主要修复:有用户报告称,降级到更早的完整桌面构建后恢复,例如包版本
26.930.7945.0、内置 CLI0.160.1,但材料中没有提供官方回滚流程或维护者建议(openai/codex#51590 和 openai/codex#51601)。
站内文档: 本地命令执行恢复后,可使用 Codex model-provider 配置来恢复或更新 Codex provider 设置。→ Codex model-provider 配置
相关文档
Codex 用户在恢复本地命令执行后,可以使用这些文档处理 provider 设置和非沙箱错误。
来源
本文中的 Codex Windows 沙箱发现来自公开的 GitHub issue 报告,以及这些报告中引用的官方 Windows 沙箱文档。
- openai/codex#51601:Windows 应用
26.1002.51308/ build13417在校验正在使用的运行时文件时遇到共享冲突,导致沙箱设置失败。 - openai/codex#51634:当某个
cua_node运行时文件正在使用时,Windows 沙箱预置因os error 32失败;该报告对应0.162.0-alpha.2。 - openai/codex#51590:Windows 沙箱在打开正在运行的
node_repl.exe以更新 ACL 时失败;其中包含unelevated绕过办法以及后续恢复检查的报告。 - 用户在 openai/codex#51590 中引用的 OpenAI Windows 沙箱文档:
https://learn.chatgpt.com/docs/windows/windows-sandbox
常见问题
- Windows 上 Codex 报
helper_unknown_error: setup refresh had errors怎么办? - 多数已报告的 Windows 案例,很可能是 elevated-sandbox 运行时 ACL 共享冲突;可以先把 Codex 的 Windows sandbox 设置切到 unelevated 作为临时绕过方案,或者在更新器提供新版修复构建时安装新版。
- Windows 更新后,Codex 为什么提示
trusted Node process exited unexpectedly? - 这个 Node 错误可能是同一个 Windows sandbox setup failure 的次生症状:Codex 在 Computer Use 或 Browser Use 初始化前就失败了。
- 怎么确认
os error 32是同一个 Codex sandbox bug? - 在 Codex sandbox 日志里搜索
runtime read/execute validation failed,以及出现在node_repl.exe、node.exe或VCRUNTIME140_1.dll上的os error 32。


