Codex App is Unusable Slow with WSL as Agent environment
What version of the Codex App are you using (From “About Codex” dialog)?
Codex 26.527.60818
What subscription do you have?
ChatGPT Pro
What platform is your computer?
Windows with Linux 6.6.87.2-microsoft-standard-WSL2 x86_64 x86_64
What issue are you seeing?
Routine turns in Codex Desktop take minutes despite trivial work. A ls -la (workspace command wall time 0.049 s) produced an 11m35s turn. Profiling the local app DBs (~/.codex/sqlite/logs_2.sqlite, state_5.sqlite) shows ~50 s of fixed overhead before the model is even called, then long model generation.
Session under review
| Field | Value |
|-------|-------|
| Thread ID | 019e8555-6214-7b42-932e-a376a90d71ab |
| CLI version | 0.136.0-alpha.2 |
| Model | gpt-5.5, reasoning effort low |
| Context window | 258,400 |
| Tokens used | ~125k |
| Wall span | 2026-06-01 22:37:06 → 22:57:43 UTC (~20.6 min, 3 turns) |
Per-turn latency (user message → final answer)
| Turn | Prompt | Latency |
|------|--------|---------|
| 1 | hello | 134 s (2m14s) |
| 2 | list the files | 695 s (11m35s) |
| 3 | what command did you ran | 253 s (4m13s) |
Where the time goes (one turn reconstructed from logs)
| Phase | Time | Detail |
|-------|------|--------|
| Submission → first work | ~22 s | dispatch/startup stall (no logs emitted) |
| Models manager + MCP tool list | ~0.2 s | rebuilds codex_apps tool list — 89 tools every turn |
| MCP → skills loaded | ~28 s | codex_core_skills::loader re-scans skills every turn |
| Skills done → first model token | ~120–220 s | gpt-5.5 generation |
What steps can reproduce the bug?
In settings set in General the agent environment to WSL
- Open a workspace and start a Codex Desktop session.
- Send a trivial prompt such as
hello, thenlist the files. - Observe each turn takes minutes
What is the expected behavior?
A trivial ls-style turn completes in seconds, not minutes
Additional information
_No response_
36 Comments
Also seeing this. Why do they bother supporting Windows if they won't support Windows
I'll add: Opening an existing chat after app load: 134 seconds
Yep also seeing this. A simple task that usually would take a few minutes is taking upwards of half an hour. A simple request to add a picture to a UI took 1 hour 30 minutes. It is unbearably slow. GPT-5.5-high on regular speed. It was fine before I updated
Straight up unusable. The codex extension was broken in VScode +WSL setup. Now windows codex app is broken as well. What is left? It took me 55m to do a relatively simple single request refactor last night.
Also seeing this now, makes the codex app not useable. Disabling WSL makes it fast again, but that is not an option for me.
Same, tried deleting the cache and assigning more memory to WSL, nothing changed, I guess its something on their end..
Additional reproduction/evidence from a Windows + WSL setup after the June 2/3 update. Sanitized paths and no private logs attached.
Environment:
Observed regression:
gpt-5.5+xhighbefore the regression, so this does not appear to be explained by a new reasoning-effort change.Read-only diagnostics:
Local command timings, no agent prompt/model turn:
Network probe from WSL, unauthenticated curl only:
Other local observations:
~/.codex/bin/wsl/*/codexbinary found; no older May 28-era binary is available locally for easy rollback.26.601.2237.0; stale/trusted config entries reference an olderOpenAI.Codex_26.519.5221.0...path, butGet-AppxPackage *Codex*only shows the current package.~/.codexis ~696 MB with 5,610 files; largest entries are the current 226 MB WSL Codex binary and older session JSONL files.codex_app_directory,codex_apps_tools, and bundled/curated plugin marketplace cache.Interpretation:
This looks like a Windows Desktop + WSL regression in 0.136.0-alpha.2 / 26.601.2237.0 or associated plugin/app-server/tool discovery path, not a large repo scan, not a user-defined MCP startup delay, and not obvious local network reachability. It may be related to the same pre-model fixed overhead described in this issue, but observed on a newer Windows package than the original report.
Confirming on the same setup (0.136.0-alpha.2 bundled by the VS Code extension, WSL2
kernel 6.6.87.2, gpt-5.5). It's a clean regression: 0.135.0 is the last good version;
0.136.x (incl. 0.136.0 stable, see #26121) is slow.
Same trivial-turn repro, same machine, back to back:
time codex exec --skip-git-repo-check --sandbox read-only "Reply with exactly: OK"It's config-independent -
supports_websockets=falsemakes no difference, consistentwith your finding that the cost is per-turn skill/tool rescan, not the socket.
Workaround until fixed:
npm i -g @openai/codex@0.135.0)chatgpt.cliExecutableto a 0.135.0 codex binary (~2m -> <10s).Edit: see follow-up below for a better fix (no downgrade needed)
Follow-up: found a better fix than the version downgrade above, and it points at the root cause.
The per-turn cost is Codex rescanning the ~/.codex/.tmp plugin cache (thousands of small files) every turn. On my setup that cache sat on slow storage: a dev container with ~/.codex bind-mounted from the Windows host over 9p/drvfs. Moving ONLY ~/.codex/.tmp onto a native filesystem took a trivial turn from ~2m20s to ~3-5s on the LATEST engine, no downgrade needed (same engine/config/auth; only the cache filesystem changed). Detailed strace-level confirmation in #26149 -- looks like the same root cause.
Workaround that keeps you on the latest engine: put ~/.codex/.tmp on a native fs. In a docker-compose dev container that's a one-line named volume:
services:
app:
volumes:
volumes:
codex_cache:
(config.toml/auth.json stay on the host bind mount, so login still persists.)
The real fix is probably to not rebuild/rescan that cache every turn, but moving it off slow storage is effective in the meantime.
This can't explain my experience as I have no slow storage on my machine (2x M.2 drives, though WSL is on one and Windows is on the other)
Working on 0.136.0 via the TUI behaves normally for me as well.
Deleting the .tmp plugin cache seemed to make some improvement for a chat but then back to being unusably slow
Fix the cli to 0.135.0 works for me
renaming the .tmp plugins folder made the first turn start much faster but overall performance remains very poor compared to vs code or codex TUI
Not fixed with CLI 0.117.0
Changing to 0.135.0 doesn't help me.
Also tried doing a broader deslop of the
%USERPROFILE%\.codexfolder which didn't seem to helpThere been 4 or 5 updates since this been broken and still its not fixed. OpenAI doesnt not care about their app or WSL support?
Maybe @ambrosino-oai will acknowledge they're working on it
If you are seeing this issue, please use
/feedbackto upload your logs, then post the session ID here. This will help us with the investigation.019e9590-cd12-7003-a8f6-11dd2d888ac1
019e9589-b080-77a0-bb7c-6e70e3b1ad75
I saw improvements with using bind mount. I have two M2 drives similar to what was mentioned before and am still seeing improvements in speed by moving the .tmp/plugins folder to WSL and then pointing the Windows folder to this. The solution below seems to survive new threads and Codex restarts, although it may not survive wsl shutdown/reboot (you can probably use systemd to automate the process when starting WSL):
To clarify, even with this the performance is still slower than CLI as @GregPeden mentioned.
019e942c-f029-7e63-9671-a9baa2c23afa
019e5add-9c47-7c92-ac5e-013e4eaf94d2
019e923c-dd45-7441-876d-adc9c16fe750
019e9128-ce6b-7f62-a5b6-fdc48488349d
Assuming this is a regression, https://github.com/openai/codex/pull/26669 may help mitigate it. Should go out with next release.
I got further performance improvements by using bind mount for the .codex/plugins/cache/openai-curated folder also. This seems to be an issue in general with the plugins on the Windows side as further supported by the info posted in these issues: #20967 and #26149
Temporary workaround for Codex Desktop + WSL slowdown
If Codex Desktop/CLI in WSL suddenly takes minutes to answer trivial prompts, check whether
CODEX_HOMEpoints to a Windows-backed path such as:In my case, the slowdown came from repeated apps/plugins discovery and
.codex/.tmp/pluginsscans under/mnt/c.Non-destructive workaround:
config.toml:Rollback:
This does not delete auth/session/cache files. It just disables apps/plugins discovery temporarily until the upstream issue is fixed.
Thanks so much @xl-openai. I will try it out when I'm back at my computer. Keep the WSL performance improvements going!
@xl-openai still not fixed. I installed 0.138.0-alpha.6. Tried a "test" chat and it timed out before returning anything (no-active-thread-019e9bc4-5611-73e1-8af4-a3774e630368) then tried again and it was still very slow (no apparent improvement vs the previous version). Session id 019e9bc5-7ddc-7e61-8bf9-f9873b14ccf6
This workaround fixed the slowdown for me, but disabling apps/plugins is not the only option.
In my case
CODEX_HOMEwas:I can reproduce a related Windows + WSL performance failure on a newer Codex App build, with a clear memory/cache signature.
Environment:
OpenAI.Codex 26.602.4764.00.135.02.6.3.0runCodexInWindowsSubsystemForLinux = trueObserved behavior:
\\wsl$\Ubuntu\home\leo\ai-config-hubvmmemWSLgrew aggressively.600-700 MB.200 MB.wsl.exe ... codex app-server --analytics-default-enabled.vmmemWSLgrew from roughly2.6 GBto3.9 GB, and after closing the app it later showed roughly10.9 GB.free -mshowed roughly1.35 GB usedbut about9.07 GB buff/cache.dockerd,tailscaled,gunicorn, etc.); no Codex app-server process remained after closing the app.Relevant Codex desktop logs:
[spawn-async] Spawning process inside WSL/home/leo/ai-config-hubgit add .../ review-summary style command whose argument list included generated/dependency paths such as:skills/pdf2md/deps/.venv/lib/python3.12/site-packages/.../home/leo/ai-config-hub/.gitThis looks like Codex App startup/review prewarm is too aggressive in WSL mode:
.venvunder skill deps.vmmemWSLmemory even after the app closes.Local workarounds that helped:
active-workspace-roots..gitignoreentries for dependency/generated paths:skills/**/deps/.venv/skills/**/deps/packages/skills/**/node_modules/skills/**/dist/skills/**/build/skills/**/.cache/``
ini
``[experimental]
autoMemoryReclaim=dropCache
wsl --shutdownto recover the cached memory.After those changes, reopening Codex App no longer triggered the heavy workspace scan in logs, the main app process stayed around
164 MB, andvmmemWSLstayed around1.9 GBduring the short retest.Expected behavior:
.gitignoreand avoid generated/dependency directories such as.venv,node_modules, package caches, build outputs, and similar large dependency payloads.A workaround is to switch back to Windows Native agents and point the agent at the wsl folder. It kind of works; still a bit slow but not unusable. It runs things like
wsl.exe -d Ubuntu --cd /home/kendonb/projects/project_blurbs -- python3 -c "import openpyxlfrom pathlib import Path ...
This looks related to #26149.
I had the same kind of slowdown with Codex Desktop on Windows in WSL mode, while Codex TUI inside WSL was fast on the same project.
The workaround from #26149 helped: I fully exited Codex Desktop, moved Desktop’s
CODEX_HOMEfrom the Windows filesystem to a WSL/Linux path, and restarted Desktop.After that, Codex Desktop became fast again. In my case, the bottleneck was likely Windows-backed
.codexstate/cache access through/mnt/c, not the project location or model latency.