Codex Windows 原生沙箱设置与报错修复
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
常见原因包括:
- UAC 或管理员提示被拒绝
- 系统不允许创建本地用户或用户组
- 防火墙规则修改被安全策略阻止
- 沙箱用户需要的登录权限被组策略禁用
- 企业安全软件拦截 setup 进程
建议按这个顺序处理:
- 记录完整错误信息和 Windows 版本
- 在允许的环境中重新运行 setup,并确认管理员提示
- 公司电脑联系 IT 检查组策略和安全软件
- 暂时切换
unelevated,确认 Codex 其他功能能否运行 - 问题解决后再恢复
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/ 中的内容,其中可能包含敏感信息。
可以关闭沙箱或允许所有命令吗
搜索中的“关闭沙箱”“允许所有命令”通常是在绕过一次权限错误,但这会扩大文件、命令和网络风险。更稳妥的顺序是:
- 先使用
elevated原生沙箱。 - 设置受阻时临时使用
unelevated。 - 只增加任务真正需要的目录或命令例外。
- 仅在仓库可回退、范围清楚且你理解风险时考虑更高权限。
审批策略和沙箱范围是两件事:减少确认提示,不代表必须取消隔离。
沙箱和 Computer Use 的关系
沙箱控制文件、命令和网络边界;Computer Use 控制可见桌面应用。允许 Computer Use 操作某个窗口,不会自动放开沙箱中的文件写入或终端权限。
如果错误发生在桌面插件安装、应用授权或前台控制,查看:Codex Computer Use Windows 安装与使用。