配置、安全与排错

Codex Windows 原生沙箱设置与报错修复

Codex Windows sandbox 设置教程,说明 elevated 与 unelevated 模式、setup 配置、权限边界和常见启动错误修复。

编辑:Codex Guide 编辑 最后更新:

Codex 在 Windows 上可以直接通过 PowerShell 使用原生 Windows sandbox,不必为了基本隔离强制安装 WSL 或虚拟机。沙箱会限制工作目录外的写入和未经批准的网络访问,降低自动执行命令时的风险。

::: tip 版本核对 官方资料最后核对日期:2026-07-24。Windows 11 是推荐环境;较新的 Windows 10 可尽力支持,但可靠性低于 Windows 11。 :::

elevated 和 unelevated 怎么选

Windows 原生沙箱有两种模式:

模式特点建议
elevated使用专门的低权限沙箱用户、文件权限边界和防火墙规则优先使用
unelevated使用当前用户派生的受限令牌和 ACL 文件边界elevated 被策略阻止时临时使用

elevated 的名称表示安装设置需要管理员批准,不表示沙箱内命令拥有管理员权限。它反而提供更强的隔离边界。

Codex Windows sandbox 怎么设置

如果客户端提供 Windows sandbox setup 提示,按提示完成管理员批准。CLI 中也可能提供 Windows 专用的默认沙箱设置命令。

需要手动选择模式时,可以在 config.toml 中配置:

[windows]
sandbox = "elevated" # 或 "unelevated"

如果两种模式都可用,优先 elevated。只有公司策略、权限或本机环境阻止设置时,才回退到 unelevated

默认模式还会使用隔离桌面。不要仅为了绕过报错就关闭安全边界;先确认具体错误和业务需要。

只有遇到明确的兼容性需求时,才考虑设置:

[windows]
sandbox_private_desktop = false

这会回到旧的桌面行为,不等于修复文件或网络权限。修改后要重新验证隔离范围。

Windows 版本和准备条件

  • Windows 11:推荐
  • 完整更新的 Windows 10:尽力支持,至少需要现代控制台组件
  • 较旧 Windows 10:不推荐
  • winget 应可用
  • elevated 设置需要允许管理员批准、本地用户或组创建、防火墙规则和相关登录权限

公司管理的电脑即使系统版本满足要求,也可能被组策略阻止。此时应让 IT 确认策略,而不是下载不明的 sandbox setup 程序替换系统文件。

目录读取被阻止怎么办

如果命令只需要读取工作区之外的一个目录,应按最小范围增加读权限,而不是直接改成 Full Access。支持的客户端可以使用 Windows 专用命令为当前会话增加绝对目录读取权限:

/sandbox-add-read-dir C:\absolute\directory\path

路径必须已经存在。仍然不要把整个用户目录或磁盘根目录作为默认开放范围。

Windows sandbox setup failed

常见原因包括:

  1. UAC 或管理员提示被拒绝
  2. 系统不允许创建本地用户或用户组
  3. 防火墙规则修改被安全策略阻止
  4. 沙箱用户需要的登录权限被组策略禁用
  5. 企业安全软件拦截 setup 进程

建议按这个顺序处理:

  1. 记录完整错误信息和 Windows 版本
  2. 在允许的环境中重新运行 setup,并确认管理员提示
  3. 公司电脑联系 IT 检查组策略和安全软件
  4. 暂时切换 unelevated,确认 Codex 其他功能能否运行
  5. 问题解决后再恢复 elevated

常见错误关键词

sandbox setup refresh failed

这类错误通常表示沙箱辅助程序没有完成安装或刷新。不要只根据 failed 就重装 Codex;先检查 UAC、策略、日志和是否能使用 unelevated

找不到指定模块

确认 Codex 客户端是否完整更新,安全软件是否隔离了辅助程序,以及安装目录是否被移动。不要从第三方下载同名 .exe 放回系统目录。

CreateProcessAsUserW failed 5

错误码 5 通常指向权限拒绝。检查本地安全策略、沙箱用户登录权限、企业防护软件和安装时的管理员批准。

Windows error 1385

这通常表示 Windows 拒绝了沙箱用户所需的登录类型。公司设备应让 IT 检查对应用户的登录权限;需要继续工作时,可以临时使用 unelevated

文件夹可被 Everyone 写入

如果 Codex 警告某些目录允许 Everyone 写入,说明这些 ACL 会削弱沙箱边界。记录提示中的具体目录,让管理员核对权限;不要为了消除警告直接修改整块磁盘或用户目录的 ACL。

沙箱内无法联网

先判断当前权限模式是否本来就禁用网络。需要联网时,应为当前任务申请有限的网络权限,而不是切换到 Full Access。重启后仍异常,再检查沙箱日志和本机策略。

管理员沙箱失败时收集什么

官方排错建议重点保留:

  • Windows 10/11 版本
  • elevated 设置失败还是自动回退到 unelevated
  • 完整 Windows/PowerShell 错误文本
  • CODEX_HOME/.sandbox/sandbox.log
  • 是否为公司管理设备、是否近期修改过策略或工作区位置

不要发送 CODEX_HOME/.sandbox-secrets/ 中的内容,其中可能包含敏感信息。

可以关闭沙箱或允许所有命令吗

搜索中的“关闭沙箱”“允许所有命令”通常是在绕过一次权限错误,但这会扩大文件、命令和网络风险。更稳妥的顺序是:

  1. 先使用 elevated 原生沙箱。
  2. 设置受阻时临时使用 unelevated
  3. 只增加任务真正需要的目录或命令例外。
  4. 仅在仓库可回退、范围清楚且你理解风险时考虑更高权限。

审批策略和沙箱范围是两件事:减少确认提示,不代表必须取消隔离。

沙箱和 Computer Use 的关系

沙箱控制文件、命令和网络边界;Computer Use 控制可见桌面应用。允许 Computer Use 操作某个窗口,不会自动放开沙箱中的文件写入或终端权限。

如果错误发生在桌面插件安装、应用授权或前台控制,查看:Codex Computer Use Windows 安装与使用

官方参考

参考资料