操作教程

Codex Windows设置未完成怎么办?helper_failed排查教程

Codex Windows提示“设置未完成”或helper_failed怎么办?先区分MXC与旧版沙盒,保存错误和日志,再按UAC、企业策略、1385与沙盒模式逐层排查并做最小验证。

AI内容创作、学习与研究工作台主视觉

先看重点:快速结论

  1. helper_failed是设置阶段的汇总错误,不足以单独判断根因;先保存完整错误和沙盒日志。
  2. 当前官方优先推荐兼容设备使用MXC;不可用时再按elevated与unelevated的边界处理。
  3. UAC被拒、禁止创建本地用户/组、禁止修改防火墙或企业策略,都可能让旧版elevated设置失败。
  4. Windows错误1385表示策略拒绝沙盒用户所需的登录类型,通常需要IT处理,而不是反复重装。
  5. 修复成功要以沙盒内的小命令能启动、允许与拒绝的路径仍符合权限边界为准。
本文目录 · 跳到当前步骤

Codex Windows版弹出“完成Windows设置以继续”,点过允许后却回到“Windows设置未完成”,下面只剩helper_failed;也有人进入项目后所有命令都报setup refresh had errors。这两类现象都发生在命令真正执行以前,但不代表它们一定是同一个根因。

先把helper_failed当成“设置助手没有完成”的汇总标签,不要直接照抄网上某一条删目录、改ACL或关闭防火墙的命令。当前官方Windows沙盒已经同时包含MXC和两种旧版实现;不同设备、版本与组织策略走的路径不同,先确认模式才能排查。

本文涉及的MXC探测能力需要 Codex CLI 0.162.0 或更新版本;先运行 codex --version 确认,旧版不支持对应探测时应先按官方安装路径升级。PowerShell单引号中的路径使用单个反斜线,不使用JSON转义写法。

先判断是下载问题,还是沙盒设置问题

现象 问题层 先做什么
应用还没装好,Microsoft Store或MSIX报错 下载与安装 转到微软商店打不开时的MSIX安装
应用能打开,但卡在“完成Windows设置” 沙盒初始化 记录完整错误、版本与当前模式
界面能进入,任何命令都在启动前失败 沙盒刷新或命令启动 保存sandbox.log,用最小命令复现
明确出现Windows错误1385 登录权限策略 停止反复重装,交给IT核对策略
只有IDE扩展无响应 IDE依赖或扩展环境 按官方文档检查C++运行依赖并完全重启IDE

安装问题和沙盒问题可以同时存在,但处理顺序不同。应用已经能显示项目和聊天界面时,重新下载MSIX通常不会修复企业策略或沙盒登录权限。

第一步:保存现场,不要先清空配置

完整退出Codex,再记录下面几项:

  • Windows 10/11的版本与内部版本号;
  • Codex桌面端、CLI或IDE扩展的版本;
  • 原始错误全文,包括helper_failed之前或之后的错误码;
  • 当前项目路径,以及问题是否只在某个项目出现;
  • 当前沙盒实现是mxc、elevated还是unelevated;
  • 问题发生前是否刚更新Codex、移动项目、改变权限或更新组织策略。

官方建议保留下面的日志:

text
CODEX_HOME/.sandbox/sandbox.log

如果没有改过CODEX_HOME,Windows通常可在PowerShell这样确认:

powershell
$sandboxLog = Join-Path $HOME ".codex\\.sandbox\\sandbox.log"
Test-Path -LiteralPath $sandboxLog

日志可能包含用户名、项目路径和错误细节。对外提供前先脱敏;不要发送CODEX_HOME/.sandbox-secrets/里的任何内容,也不要把API Key贴进公开Issue。

第二步:优先检查MXC是否兼容

OpenAI当前把mxc列为兼容Windows设备上的推荐实现。它不需要管理员批准的旧版设置,也不会额外创建沙盒账号、修改宿主文件权限或添加本地防火墙规则。

在Windows 11目标项目目录中,可以按官方文档做一次不改保存配置的探针:

powershell
codex -c windows.sandbox=mxc sandbox --include-managed-config --permission-profile :workspace -- cmd.exe /d /c echo MXC_OK
$LASTEXITCODE

预期结果是输出MXC_OK,退出码为0。这只证明最小命令能启动;正式使用前仍要测试允许读取、允许写入、应被拒绝的路径、PowerShell和实际网络策略。

如果设备与组织策略允许使用MXC,可以在用户config.toml中启用优先选择,同时保留组织允许的旧版回退:

toml
[features]
prefer_mxc = true

[windows]
sandbox = "elevated"

不要仅因Windows版本号满足就断定MXC一定兼容。探针失败时保留完整错误,检查托管策略是否禁用MXC;显式选择mxc但能力不可用时,不会自动重试旧版沙盒。

第三步:旧版elevated失败时检查UAC与组织策略

MXC不可用或被策略禁用时,elevated是官方建议的旧版回退。它的首次设置需要管理员批准,并会使用专门的低权限沙盒用户、文件权限边界、防火墙规则和本地策略。

如果设置窗口没有出现、被取消,或者批准后仍失败,按这个顺序检查:

  1. 完全退出Codex,重新触发设置,并确认UAC窗口没有被点“否”或被其他窗口遮住。
  2. 公司或学校设备先问IT:是否允许创建本地用户/组、修改本地防火墙规则,以及授予沙盒用户启动命令所需的登录权限。
  3. 对比问题设备与正常设备的Windows策略、OU和安全软件策略,不要凭一个错误标签批量改权限。
  4. 由管理员统一部署时,按官方文档使用elevated provisioning命令,并替换为真实用户与CODEX_HOME:
powershell
codex sandbox setup --elevated --user 'DOMAIN\alice' --codex-home 'C:\Users\alice\.codex'

这条命令面向管理员部署,不要把示例用户名和路径原样执行。普通个人设备优先让当前Codex流程完成设置;受管设备应由IT决定是否符合组织政策。

第四步:看到1385就转到登录权限策略

如果原始错误中明确出现1385,官方解释是Windows拒绝了沙盒用户启动命令所需的登录类型。常见状态是沙盒用户已经创建,但组策略仍阻止它运行命令。

此时继续卸载、重装或反复点“重试”通常不会改变策略。应让IT核对:

  • 设备或用户所在OU是否与正常机器不同;
  • Codex创建的沙盒用户是否获得所需登录权;
  • 安全基线是否在下一次策略刷新时重新覆盖本地修改;
  • 组织是否允许临时使用unelevated。

unelevated仍有基于ACL的文件边界,但网络隔离弱于elevated,也不支持拒绝读取路径。它只能是策略允许下的临时回退,不应被描述成与MXC或elevated完全等价。

什么时候考虑WSL2

WSL2适合依赖Linux工具链、项目本来就在Linux环境,或可用的Windows原生沙盒无法满足工作流时。它不是helper_failed的无条件修复:

  • 项目、依赖和命令都在Windows时,先排查原生沙盒更直接;
  • 项目本来就在WSL2中,保持代码和工具链在同一Linux文件系统更合适;
  • 公司策略同时限制WSL2时,切换不会绕过组织要求;
  • 不要把同一项目在Windows与WSL路径之间来回移动后继续使用旧权限结论。

不要用这些高风险“通用修复”

  • 不要删除整个.codex目录;先保留配置、会话状态和诊断证据。
  • 不要对用户目录或系统目录执行递归Full Control、夺取所有权或宽泛ACL重置。
  • 不要关闭Windows Defender、防火墙、签名验证或组织安全软件来“试一下”。
  • 不要复制来源不明的沙盒helper程序或DLL替换应用文件。
  • 不要把网上个案中的注册表、组策略和本地用户命令直接套到公司设备。

如果日志指向某个生成目录损坏,也应先备份证据、确认准确目标和官方/维护者建议,再做可回退的局部处理;不能从helper_failed四个字直接推导出“删目录”。

最后这样验证才算修复

先在一个没有敏感数据的测试目录运行只读小任务,例如列出文件名并返回数量。成功标准不是设置弹窗消失,而是:

  • 沙盒内命令能真正启动并返回退出码0;
  • 允许读取的测试文件可读;
  • 工作区允许写入的位置可写;
  • 配置为拒绝的路径仍然被拒绝;
  • 网络行为符合当前权限配置;
  • 重启Codex后不会再次进入同一设置循环;
  • 新的sandbox.log没有重复记录同一初始化错误。

若仍失败,整理Windows版本、Codex版本、沙盒实现、完整错误、复现步骤和脱敏日志,再提交给IT或OpenAI支持。这样比一句“helper_failed,重装也没用”更容易定位到真正的故障层。

应用本身还没装好,先看Codex下载安装教程;需要确认用户配置、项目配置和当前读取层,继续看Codex config.toml路径与生效检查。修复完成后先在测试目录做小任务,不要直接拿生产项目验证。

资料来源

  • OpenAI:Windows sandbox

    用于核对MXC、elevated、unelevated的当前定位、MXC探针、1385原因、日志位置与官方排查边界。

  • OpenAI:Windows Subsystem for Linux

    用于核对何时应把WSL2作为Linux原生工作流选择,而不是把它当成所有Windows故障的通用修复。

  • OpenAI Codex issue #48759

    近一个月的实际报告,说明setup refresh错误可能发生在命令启动前;个案步骤不作为通用修复。

  • OpenAI Codex issue #34329

    Windows 10桌面应用设置失败的实际报告,用于补充受影响场景,不替代官方文档。

FAQ

helper_failed是不是说明Codex安装包坏了?

不能这样判断。它可能来自沙盒选择、旧版elevated设置、UAC、登录权限、文件权限或组织策略。先看完整错误与sandbox.log,再决定是否涉及安装包。

可以直接删除整个.codex目录重新开始吗?

不建议。该目录可能包含配置、会话状态和诊断信息。先备份并只读检查日志;没有明确根因和回退方案时,不要删除整个目录或批量重置权限。

Windows错误1385怎么处理?

官方说明该错误表示Windows拒绝沙盒用户启动命令所需的登录类型。公司设备应由IT核对相关组策略或OU差异;策略允许时才考虑临时使用unelevated。

MXC、elevated和unelevated应该选哪个?

兼容且策略允许时优先MXC;MXC不可用时优先elevated;unelevated只作为组织策略允许下的旧版回退,它的网络隔离更弱且不支持拒绝读取路径。

怎样确认问题真的修好了?

在目标工作区运行一个只读小命令,确认能启动且退出码为0;再验证可写目录能写、受限目录仍被拒绝。只看到设置窗口消失不算完成。

下一步

如果你已经了解了基本用法,可以继续阅读下面的教程和实用技巧: