Codex 在 Windows 报 helper_unknown_error?setup refresh had errors 排查办法

在沙盒日志确认 os error 32,并把 Windows 沙盒临时切到 unelevated。

一幅插头线稿,标题为 Codex Sandbox Fix

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 errorshelper_unknown_error: setup refresh had errors
trusted Node process exited unexpectedly 或 node_repl kernel exited unexpectedlytrusted 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)。

  1. 在 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
  2. 如果日志里在某个 cua_node 运行时文件上同时出现 runtime read/execute validation failed 和 os error 32,找到包含 Windows 沙箱设置的 Codex config.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
  3. 打开上一步找到的 config.toml 文件,把 Windows 沙箱配置块改成已有报告中的临时绕过写法。
    [windows]
    sandbox = "unelevated"
  4. 完全退出 Codex Desktop 或 ChatGPT Desktop,然后重新打开应用,让沙箱设置重新加载;已有报告称,只重启应用但不更改设置,无法解决 elevated sandbox 的失败(见 openai/codex#51601 和 openai/codex#51590)。
  5. 在重试构建、测试、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)。

  1. 确认 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
  2. 如果日志显示同样的运行时读取/执行校验失败,应用相同的临时沙箱设置。
    [windows]
    sandbox = "unelevated"
  3. 完全退出并重新打开 Codex Desktop 或 ChatGPT Desktop;已有报告称,只结束 node_repl.exe 不能带来持久恢复,因为失败可能转移到另一个正在使用的运行时文件,例如 VCRUNTIME140_1.dll(见 openai/codex#51601 和 openai/codex#51634)。
  4. 先重试受影响范围最小的操作:运行一个沙箱内的 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 Desktop 26.1002.7124.0 上的沙箱内 PowerShell 和 Browser Control 恢复正常;同一份报告引用了 OpenAI 文档,文档将 unelevated 描述为一种回退方案,隔离性弱于 elevated(openai/codex#51590)。
  • 降级是用户绕过办法,不是本文的主要修复:有用户报告称,降级到更早的完整桌面构建后恢复,例如包版本 26.930.7945.0、内置 CLI 0.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 / build 13417 在校验正在使用的运行时文件时遇到共享冲突,导致沙箱设置失败。
  • 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。