在 Windows 上,你可以通过 native Codex app 、 CLI 或 IDE extension 使用 Codex。
Windows 版 Codex app 支持核心 workflows,包括 parallel agent threads、worktrees、automations、Git functionality、in-app browser、artifact previews、plugins 和 skills。
根据 surface 和 setup,Codex 可以在 Windows 上以三种 practical ways 运行:
在 Windows 上 native 运行,并使用更强的 elevated sandbox;
在 Windows 上 native 运行,并使用 fallback unelevated sandbox;
或在 Windows Subsystem for Linux 2 (WSL2) 内运行,使用 Linux sandbox implementation。
Windows sandbox
当你在 Windows 上 native 运行 Codex 时,agent mode 会使用 Windows sandbox 来阻止 working folder 之外的 filesystem writes,并在没有 explicit approval 时阻止 network access。
Native Windows sandbox support 包含两种可在 config.toml 中配置的 modes:
[windows]
sandbox = "elevated" # or "unelevated" elevated 是推荐的 native Windows sandbox。它使用 dedicated lower-privilege sandbox users、filesystem permission boundaries、firewall rules,以及 sandbox 中运行 commands 所需的 local policy changes。
unelevated 是 fallback native Windows sandbox。它使用从当前 user 派生出的 restricted Windows token 运行 commands,应用 ACL-based filesystem boundaries,并使用 environment-level offline controls,而不是 dedicated offline-user firewall rule。它弱于 elevated,但当 administrator-approved setup 被 local 或 enterprise policy 阻止时仍然有用。
如果两种 modes 都可用,请使用 elevated。如果默认 native sandbox 在你的环境中不可用,请在排查 setup 时把 unelevated 作为 fallback。
Enterprise administrators 可以通过 requirements.toml 约束 Codex 可使用哪些 native sandbox implementations:
[windows]
allowed_sandbox_implementations = ["elevated"] 这个示例要求使用 elevated sandbox,并阻止 users fallback 到 unelevated。若要允许任一 implementation,请包含两个 values;未选择 mode 时 Codex 会优先使用 elevated。Supported values 请参阅 requirements.toml reference 。
默认情况下,两种 sandbox modes 也会使用 private desktop 以获得更强的 UI isolation。只有为了兼容性需要旧的 Winsta0\\Default behavior 时,才设置 windows.sandbox_private_desktop = false。
Sandbox permissions
以 full access mode 运行 Codex 意味着 Codex 不再受 project directory 限制,并可能执行意外的 destructive actions,导致 data loss。为了更安全的 automation,请保留 sandbox boundaries,并用 rules 处理具体 exceptions;或者根据你的 approval and security setup ,将 approval policy to never ,让 Codex 在不请求 escalated permissions 的情况下尝试解决问题。
Windows version matrix
| Windows version | Support level | Notes |
|---|---|---|
| Windows 11 | Recommended | Codex on Windows 的最佳 baseline。如果你正在标准化 enterprise deployment,请使用它。 |
| Recent, fully updated Windows 10 | Best effort | 可以工作,但不如 Windows 11 可靠。Windows 10 依赖 modern console support,包括 ConPTY;实践中需要 Windows 10 version 1809 或更新版本。 |
| Older Windows 10 builds | Not recommended | 更可能缺少 ConPTY 等 required console components,也更可能在 enterprise setups 中失败。 |
Additional environment assumptions:
winget 应该可用。如果缺失,请更新 Windows 或先安装 Windows Package Manager,再设置 Codex。
推荐的 native sandbox 依赖 administrator-approved setup。
即使 OS version 本身可接受,一些 enterprise-managed devices 也会 block 所需 setup steps。
授予 sandbox read access
如果 command 因 Windows sandbox 无法读取某个 directory 而失败,请使用:
/sandbox-add-read-dir C:\absolute\directory\path 该 path 必须是现有 absolute directory。Command 成功后,后续在 sandbox 中运行的 commands 可以在当前 session 期间读取该 directory。
默认使用 native Windows sandbox。Native Windows sandbox 在保持相同 security 的同时提供最佳 performance 和最高 speeds。当你需要 Windows 上的 Linux-native environment、workflow 已经在 WSL2 中,或两种 native Windows sandbox mode 都不能满足需求时,再选择 WSL2。
Windows Subsystem for Linux
如果选择 WSL2,Codex 会在 Linux environment 内运行,而不是使用 native Windows sandbox。当你需要 Windows 上的 Linux-native tooling、repositories 和 developer workflow 已在 WSL2 中,或 native Windows sandbox mode 均不适合环境时,这会很有用。
Codex 0.114 之前支持 WSL1。从 Codex 0.115 开始,Linux sandbox 转为 bubblewrap,因此不再支持 WSL1。
从 WSL 内启动 VS Code
Step-by-step instructions 请参阅 official VS Code WSL tutorial 。
Prerequisites
已安装 WSL 的 Windows。要安装 WSL,请以 administrator 身份打开 PowerShell,然后运行 wsl --install(Ubuntu 是常见选择)。
已安装 WSL extension 的 VS Code。
从 WSL terminal 打开 VS Code
# From your WSL shell
cd ~/code/your-project
code . 这会打开 WSL remote window,在需要时安装 VS Code Server,并确保 integrated terminals 在 Linux 中运行。
确认已连接到 WSL
查看显示 WSL: <distro> 的绿色 status bar。
Integrated terminals 应显示 Linux paths(例如 /home/...),而不是 C:\。
你可以用下面的命令验证:
echo $WSL_DISTRO_NAME 这会打印你的 distribution name。
如果 status bar 中没有看到 “WSL: ...”,请按 Ctrl+Shift+P,选择 WSL: Reopen Folder in WSL,并将 repository 放在 /home/... 下(而不是 C:\)以获得最佳 performance。
如果 Windows app 或 project picker 没有显示你的 WSL repository,请在 file picker 或 Explorer 中输入 \wsl$,然后导航到你的 distro home directory。
在 WSL 中使用 Codex CLI
请从 elevated PowerShell 或 Windows Terminal 运行这些 commands:
# Install default Linux distribution (like Ubuntu)
wsl --install
# Start a shell inside Windows Subsystem for Linux
wsl 然后从 WSL shell 运行这些 commands:
# Install and run Codex in WSL
curl -fsSL https://chatgpt.com/codex/install.sh | sh
codex 在 WSL 内处理 code
在 /mnt/c/... 这类 Windows-mounted paths 中工作,可能比在 Windows-native paths 中更慢。请将 repositories 放在 Linux home directory 下(例如 ~/code/my-app),以获得更快 I/O,并减少 symlink 与 permission issues:
mkdir -p ~/code && cd ~/code
git clone https://github.com/your/repo.git
cd repo 如果需要从 Windows 访问这些 files,它们位于 Explorer 中的 \wsl$\Ubuntu\home\<user>。
Troubleshooting 和 FAQ
如果你正在排查 managed Windows machine,请从 native sandbox mode、Windows version,以及 Codex 显示的 policy error 入手。大多数 native Windows support issues 来自 sandbox setup、logon rights 或 filesystem permissions,而不是 editor 本身。
如果 Codex 无法完成 elevated sandbox setup,最常见原因包括:
Windows UAC 或 administrator prompt 被拒绝;
机器不允许 local user 或 group creation;
机器不允许 firewall rule changes;
机器阻止 sandbox users 所需的 logon rights;
或其他 enterprise policy 阻止了 setup flow 的一部分。
可以尝试:
如果环境允许,请再次尝试 elevated sandbox setup,并批准 administrator prompt。
如果公司 laptop 阻止此操作,请询问 IT team:该机器是否允许 administrator-approved setup,用于 local user/group creation、firewall configuration 和 required sandbox-user logon rights。
如果默认 setup 仍失败,请使用 unelevated sandbox,以便在调查问题期间继续工作。
这意味着 Codex 无法在你的机器上完成更强的 elevated sandbox setup。
Codex 仍可在 sandboxed mode 中运行。
它仍会应用 ACL-based filesystem boundaries,但不会使用 elevated 的独立 sandbox-user boundary,network isolation 也更弱。
这是有用的 fallback,但不是推荐的 long-term enterprise configuration。
如果你使用 managed enterprise laptop,最佳 long-term fix 通常是让 IT team 帮助把 elevated sandbox 跑通。
如果 sandboxed commands 因 error 1385 失败,说明 Windows 正在拒绝 sandbox user 启动 command 所需的 logon type。
实践中,这通常意味着 Codex 已成功创建 sandbox users,但 Windows policy 仍阻止这些 users 启动 sandboxed commands。
应该怎么做:
询问 IT team,device policy 是否向 Codex-created sandbox users 授予 required logon rights。
如果问题只影响部分 machines 或 teams,请比较 group policy 或 OU differences。
如果需要立即继续工作,请在调查 policy issue 期间使用 unelevated sandbox。
发送 CODEX_HOME/.sandbox/sandbox.log,并附上 Windows version 和 failure 的简短描述。
Codex 可能会警告某些 folders are writable by Everyone。
如果看到该 warning,说明这些 folders 上的 Windows permissions 过宽,sandbox 无法完全保护它们。
应该怎么做:
Review Codex 在 warning 中列出的 folders。
如果适合你的环境,请移除这些 folders 上的 Everyone write access。
修正 permissions 后,restart Codex 或重新运行 sandbox setup。
如果不确定如何修改这些 permissions,请向 IT team 求助。
根据所用 permissions mode,一些 Codex tasks 会有意在没有 outbound network access 的情况下运行。
如果 task 因无法访问 network 而失败:
检查该 task 是否本就应该在 network disabled 状态下运行。
如果你期望 network access,请 restart Codex 并重试。
如果问题持续出现,请收集 sandbox log,让 team 检查机器是否处于 partial 或 broken sandbox state。
这可能发生在:
移动 repo 或 workspace;
更改 machine permissions;
更改 Windows policies;
或其他 system configuration changes。
可以尝试:
Restart Codex。
再次尝试 elevated sandbox setup。
如果仍未修复,请把 unelevated sandbox 作为 temporary fallback。
收集 sandbox log 供 review。
如果仍有问题,请发送:
CODEX_HOME/.sandbox/sandbox.log
同时包含以下信息也有帮助:
你正在尝试做什么的简短描述;
elevated sandbox 是否失败,或是否使用了 unelevated sandbox;
app 中显示的任何 error message;
你是否看到 1385 或其他 Windows / PowerShell error;
以及你使用的是 Windows 11 还是 Windows 10。
不要发送:
CODEX_HOME/.sandbox-secrets/ 的内容。
你的 system 可能缺少某些 native dependencies 需要的 C++ development tools:
Visual Studio Build Tools(C++ workload)
Microsoft Visual C++ Redistributable (x64)
使用 winget 时,运行 winget install --id Microsoft.VisualStudio.2022.BuildTools -e
安装后请 fully restart VS Code。
确认你不是在 /mnt/c 下工作。请将 repository 移到 WSL 中,例如 ~/code/...。
如有需要,为 WSL 增加 memory 和 CPU;将 WSL 更新到最新版本:
wsl --update
wsl --shutdown 在 WSL 内验证 binary 存在且位于 PATH 上:
which codex || echo "codex not found" 如果找不到 binary,请按照上面的 following the instructions 安装。