windows.md +22 −17
3Use Codex on Windows with the native [Codex app](https://developers.openai.com/codex/app/windows), the3Use Codex on Windows with the native [Codex app](https://developers.openai.com/codex/app/windows), the
4[CLI](https://developers.openai.com/codex/cli), or the [IDE extension](https://developers.openai.com/codex/ide).4[CLI](https://developers.openai.com/codex/cli), or the [IDE extension](https://developers.openai.com/codex/ide).
5 5
66[The Codex app on Windows supports core workflows such as parallel agent threads,
77 worktrees, automations, Git functionality, the in-app browser, artifact previews,
88Use the Codex app on Windowsplugins, and skills.
99
1010Work across projects, run parallel agent threads, and review results in one place with the native Windows app.](https://developers.openai.com/codex/app/windows)<div class="mb-8">
11 <CodexCallout
12 href="/codex/app/windows"
13 title="Use the Codex app on Windows"
14 description="Work across projects, run parallel agent threads, and review results in one place with the native Windows app."
15 iconSrc="/images/codex/codex-banner-icon.webp"
16 />
17</div>
11 18
12Depending on the surface and your setup, Codex can run on Windows in three19Depending on the surface and your setup, Codex can run on Windows in three
13practical ways:20practical ways:
32 39
33`elevated` is the preferred native Windows sandbox. It uses dedicated40`elevated` is the preferred native Windows sandbox. It uses dedicated
34lower-privilege sandbox users, filesystem permission boundaries, firewall41lower-privilege sandbox users, filesystem permission boundaries, firewall
3542rules, and local policy changes needed for sandboxed command execution.rules, and local policy changes needed for commands that run in the sandbox.
36 43
37`unelevated` is the fallback native Windows sandbox. It runs commands with a44`unelevated` is the fallback native Windows sandbox. It runs commands with a
38restricted Windows token derived from your current user, applies ACL-based45restricted Windows token derived from your current user, applies ACL-based
39filesystem boundaries, and uses environment-level offline controls instead of46filesystem boundaries, and uses environment-level offline controls instead of
4047the dedicated offline-user firewall rule. It is weaker than `elevated`, but itthe dedicated offline-user firewall rule. It's weaker than `elevated`, but it
41is still useful when administrator-approved setup is blocked by local or48is still useful when administrator-approved setup is blocked by local or
42enterprise policy.49enterprise policy.
43 50
64| Windows version | Support level | Notes |71| Windows version | Support level | Notes |
65| -------------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |72| -------------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
66| Windows 11 | Recommended | Best baseline for Codex on Windows. Use this if you are standardizing an enterprise deployment. |73| Windows 11 | Recommended | Best baseline for Codex on Windows. Use this if you are standardizing an enterprise deployment. |
6774| Recent, fully updated Windows 10 | Best effort | Can work, but is less reliable than Windows 11. For Windows 10, Codex depends on modern console support, including ConPTY. In practice, Windows 10 October 2018 Update or newer is required. || Recent, fully updated Windows 10 | Best effort | Can work, but is less reliable than Windows 11. For Windows 10, Codex depends on modern console support, including ConPTY. In practice, Windows 10 version 1809 or newer is required. |
68| Older Windows 10 builds | Not recommended | More likely to miss required console components such as ConPTY and more likely to fail in enterprise setups. |75| Older Windows 10 builds | Not recommended | More likely to miss required console components such as ConPTY and more likely to fail in enterprise setups. |
69 76
70Additional environment assumptions:77Additional environment assumptions:
71 78
7279- `winget` should be available. If it is missing, update Windows or install- `winget` should be available. If it's missing, update Windows or install
73 the Windows Package Manager before setting up Codex.80 the Windows Package Manager before setting up Codex.
74- The recommended native sandbox depends on administrator-approved setup.81- The recommended native sandbox depends on administrator-approved setup.
75- Some enterprise-managed devices block the required setup steps even when the82- Some enterprise-managed devices block the required setup steps even when the
85 92
86The path must be an existing absolute directory. After the command succeeds, later commands that run in the sandbox can read that directory during the current session.93The path must be an existing absolute directory. After the command succeeds, later commands that run in the sandbox can read that directory during the current session.
87 94
8895We recommend using the native Windows sandbox by default. The native Windows sandbox will offer the best perfomance and highest speeds while keeping the same security. Choose WSL2 when youUse the native Windows sandbox by default. The native Windows sandbox offers the best performance and highest speeds while keeping the same security. Choose WSL2 when you
89need a Linux-native environment on Windows, when your workflow already lives in96need a Linux-native environment on Windows, when your workflow already lives in
90WSL2, or when neither native Windows sandbox mode meets your needs.97WSL2, or when neither native Windows sandbox mode meets your needs.
91 98
130 137
131 This prints your distribution name.138 This prints your distribution name.
132 139
133140If you don’t see “WSL: …” in the status bar, press `Ctrl+Shift+P`, pickIf you don't see "WSL: ..." in the status bar, press `Ctrl+Shift+P`, pick
134 `WSL: Reopen Folder in WSL`, and keep your repository under `/home/...` (not141 `WSL: Reopen Folder in WSL`, and keep your repository under `/home/...` (not
135 `C:\`) for best performance.142 `C:\`) for best performance.
136 143
137If the Windows app or project picker does not show your WSL repository, type144If the Windows app or project picker does not show your WSL repository, type
138145`\wsl$` into the file picker or Explorer, then navigate to your <code>\\wsl$</code> into the file picker or Explorer, then navigate to your
139 distro's home directory.146 distro's home directory.
140 147
141### Use Codex CLI with WSL148### Use Codex CLI with WSL
167 174
168### Working on code inside WSL175### Working on code inside WSL
169 176
170177- Working in Windows-mounted paths like `/mnt/c/…` can be slower than working in Windows-native paths. Keep your repositories under your Linux home directory (like `~/code/my-app`) for faster I/O and fewer symlink and permission issues:- Working in Windows-mounted paths like <code>/mnt/c/...</code> can be slower than working in Windows-native paths. Keep your repositories under your Linux home directory (like <code>~/code/my-app</code>) for faster I/O and fewer symlink and permission issues:
171
172 ```bash178 ```bash
173 mkdir -p ~/code && cd ~/code179 mkdir -p ~/code && cd ~/code
174 git clone https://github.com/your/repo.git180 git clone https://github.com/your/repo.git
175 cd repo181 cd repo
176 ```182 ```
177183- If you need Windows access to files, they’re under `\wsl$\Ubuntu\home<user>` in Explorer.- If you need Windows access to files, they're under <code>\\wsl$\Ubuntu\home\<user></code> in Explorer.
178 184
179## Troubleshooting and FAQ185## Troubleshooting and FAQ
180 186
315 321
316Large repositories feel slow in WSL322Large repositories feel slow in WSL
317 323
318324- Make sure you’re not working under `/mnt/c`. Move the repository to WSL (for example, `~/code/…`).- Make sure you're not working under <code>/mnt/c</code>. Move the repository to WSL (for example, <code>~/code/...</code>).
319- Increase memory and CPU for WSL if needed; update WSL to the latest version:325- Increase memory and CPU for WSL if needed; update WSL to the latest version:
320
321 ```powershell326 ```powershell
322 wsl --update327 wsl --update
323 wsl --shutdown328 wsl --shutdown