[Windows][WSL] Codex Desktop rewrites /home project paths as C:\home, loses project chat associations, and reports valid working directories as missing
What version of the Codex App are you using (From “About Codex” dialog)?
Version 26.609.41114 • Released Jun 12, 2026
What subscription do you have?
ChatGPT Plus
What platform is your computer?
Windows 11 with WSL installed
What issue are you seeing?
Summary
After updating the Codex Windows desktop app on June 13, 2026, Codex Desktop stopped handling WSL project paths correctly on one Windows machine.
A project located at:
/home/brett/projects/ssus828
is being stored or interpreted by parts of the desktop app as:
C:\home\brett\projects\ssus828
This invalid path causes all of the following:
Existing project conversations no longer appear beneath their projects.
Projects display “No chats” despite the session transcript files still existing locally.
Threads display: “Current working directory missing — This chat’s working directory no longer exists.”
New desktop conversations inherit the same invalid working-directory state.
The integrated WSL terminal initially attempts:
cd 'C:\home\brett\projects\ssus828'
and fails with “No such file or directory.”
Manually running:
cd /home/brett/projects/ssus828
in that same terminal succeeds.
Native Codex CLI running directly inside WSL works correctly in the same repository.
I updated Codex on two other Windows machines on the same day without this problem, so this may involve a machine-specific state migration or Windows/WSL path normalization failure.
Environment
Windows 11
WSL 2
Ubuntu 24.04
Codex Windows app package observed in:
OpenAI.Codex_26.609.4994.0_x64__2p2nqsd0c76g0
Codex CLI: 0.139.0
Desktop setting:
Agent environment: Windows Subsystem for Linux
Integrated terminal shell: WSL
Example repository:
/home/brett/projects/ssus828
Repository added through:
\\wsl$\Ubuntu\home\brett\projects\ssus828
What steps can reproduce the bug?
Install or update the Codex Windows desktop app.
Set Agent environment to Windows Subsystem for Linux.
Set Integrated terminal shell to WSL.
Restart the app.
Add an existing WSL project through:
\\wsl$\Ubuntu\home\brett\projects\ssus828
Start a new conversation in that project.
Ask Codex to run pwd and git status.
Open the integrated terminal.
Actual behavior
The desktop conversation may execute commands in the correct WSL repository, but the app’s thread metadata and terminal initialization use:
C:\home\brett\projects\ssus828
The interface continues to show:
“Current working directory missing — This chat’s working directory no longer exists.”
The project sidebar continues to show “No chats.”
The integrated terminal records:
cd 'C:\home\brett\projects\ssus828'
followed by:
-bash: cd: C:\home\brett\projects\ssus828: No such file or directory
Manually entering:
cd /home/brett/projects/ssus828
works immediately.
What is the expected behavior?
Codex Desktop should preserve the WSL path:
/home/brett/projects/ssus828
The project should:
Open in the actual WSL directory.
Initialize its terminal in that directory.
Associate new and existing threads with that project.
Display existing project conversations.
Not report an existing WSL directory as missing.
History and session impact
Before the update, several active projects had ongoing desktop conversations.
The local Codex state contained:
43 active session transcript files
4 archived session transcript files
Those transcript files were preserved and backed up. They do not appear deleted, but the desktop app no longer displays or associates them correctly with their projects.
Troubleshooting already completed
The following did not resolve the desktop path problem:
Fully restarted Windows.
Removed and re-added the WSL project.
Uninstalled the Microsoft Store Codex app.
Quarantined the entire %USERPROFILE%\.codex directory.
Reinstalled Codex from the Microsoft Store with completely clean state.
Installed the standalone Windows Codex CLI.
Set CODEX_CLI_PATH to:
C:\Users\brett\AppData\Local\Programs\OpenAI\Codex\bin\codex.exe
Restarted Windows again.
Reconfigured the clean app for WSL.
Created a completely new desktop conversation.
Installed Codex CLI 0.139.0 natively inside Ubuntu WSL.
Installed bubblewrap.
The native Linux CLI works correctly:
pwd returns /home/brett/projects/ssus828
git status works
The correct repository files are visible
No Windows path translation occurs
The issue appears isolated to the Windows desktop app’s WSL project/thread path handling.
Additional information
Additional startup symptom
Immediately after the desktop update, the app also failed to start with:
“Unable to locate the Codex CLI binary. Set CODEX_CLI_PATH or ensure the Electron resources include bin/codex.”
Installing the standalone Windows CLI and setting CODEX_CLI_PATH allowed the desktop app to launch again, but did not resolve the invalid C:\home\... project path.
Severity
Blocking.
I was midstream in several active projects. The repositories and transcript files remain available, but the desktop application can no longer reliably reopen the conversations, associate them with their projects, or maintain a valid WSL working directory.
Regression information
The same Codex update was installed successfully on two other machines on June 13, 2026. Only this machine reproduces the failure.
Attachments
I can provide:
Screenshot of the initial missing CLI binary error.
Screenshot showing “Current working directory missing.”
Screenshot showing the invalid C:\home\brett\projects\ssus828 terminal command.
Screenshot showing the same project working correctly through the native WSL CLI.
A Codex feedback session ID.
Sanitized session metadata or logs if requested.
Feedback session ID
019ec1f5-6fba-7620-8e89-0abf8ebaa3b4
21 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Update: reproduced on a second machine
This issue is now reproducible on a second Windows workstation after installing the same Codex update.
The second machine previously had a working Codex Desktop + WSL workflow and active project conversations. After the update, it now shows the same behavior:
/home/<user>/...are interpreted as invalid paths such asC:\home\<user>\..../home/...path works.This makes the issue unlikely to be isolated corruption on one computer. It appears to be a repeatable regression introduced by the current Windows Codex Desktop update for WSL-backed projects.
Related existing reports:
C:\home\...Severity remains blocking because multiple active development machines and midstream project conversations are affected.
Same issue, issue started today
same issue there last 18 hrs
I filed a related issue with additional crash/context details and in-app diagnostics: #28172.
My case appears to match this issue:
/home/rgkoppen/codex-work/central-station-auditC:\home\rgkoppen\codex-work\central-station-auditAdditional trigger in my case:
In-app feedback ID:
no-active-thread-019ec53c-217c-7c13-99c0-665ce74256abThis may help correlate logs/diagnostics with the WSL path/worktree/session metadata issue described here.
Comment for openai/codex issue #28094
I am seeing what appears to be the same regression on another Windows + WSL setup.
Related issue:
https://github.com/openai/codex/issues/28094
Environment
OpenAI.Codex_26.609.4994.0_x64__2p2nqsd0c76g026.609.4994.00.139.0Windows Subsystem for LinuxWSL/home/<user>/<project>\\wsl.localhost\Ubuntu-24.04\home\<user>\<project>\\wsl$\Ubuntu-24.04\home\<user>\<project>What happens
After the Codex Windows Desktop update on 2026-06-14, new local Desktop chats for this WSL project are stored with Windows-style metadata:
The actual project exists and works correctly in WSL:
From WSL:
However, the Desktop thread/session metadata and project association still use:
User-visible impact
%USERPROFILE%\.codex\sessions.session_index.jsonlcontains the chat ids, so the chats can appear in search.Local state evidence
The global Desktop state contains the correct WSL UNC project root:
But
config.tomlgets regenerated with:And
state_5.sqlite/ rolloutsession_metacontain:The rollout file also starts with:
Cleanup attempts already tried
session_index.jsonl.state_5.sqlite..codexfolders.After cleanup/reinstall, new chats still reproduced the same metadata pattern:
Workaround
A Windows junction was created so the invalid Windows path resolves:
where
C:\dev2itself points to the WSL home directory through\\wsl.localhost\Ubuntu-24.04\home\<user>.This reduces the "working directory missing" symptom, but it does not fix the underlying issue: Desktop still stores and associates the thread using
C:\home\<user>\<project>instead of the WSL project path, and the project page still does not show the chats.Expected behavior
For a WSL project opened from:
with Agent environment set to WSL, Desktop should preserve or canonicalize the project/thread cwd as:
or otherwise consistently associate the thread with the saved WSL project root.
It should not convert
/home/<user>/<project>to:and project chats should remain visible under the project.
Same issues!Can not believe how many bugs after updating.
A temporary workaround that helped on my Windows + WSL setup:
%USERPROFILE%\.codex..codexfolder. In particular, avoid restoring oldstate_5.sqlite*,.codex-global-state.json,config.toml, plugin cache, and runtime/temp folders.app\resources\codex.exeexists but fails withAccess is denied, copy it to a user-writable path such as%LOCALAPPDATA%\OpenAI\Codex\cli-<version>\codex.exe, then setCODEX_CLI_PATHto that copied executable.\\wsl.localhost\<Distro>\home\<user>\<project>Avoid mixing
\\wsl$,/home/...,C:\home\..., and\\?\UNC\...in the Desktop project state.pwd,uname -a, and a project-file check.Do not trust the UI setting alone, because the app may still start a hybrid Windows/WSL session.
sessions,archived_sessions,attachments, andsession_index.jsonl.plugin/listorskills/listremains extremely slow in WSL mode, try disabling plugins temporarily or renaming/clearing.codex\.tmp\pluginsafter closing Codex.This is not a real fix, just a recovery strategy to avoid re-importing corrupted path/session metadata. The underlying issue still seems to be a combination of WindowsApps CLI execution, WSL binary resolution, path canonicalization, and plugin cache scanning through
/mnt/c.+1 Here. Genuinely shocking that something like this has come in after an update. The WSL integration is bad enough as it is.
I'm having the same problem as of June 13,2026. I am unable to use Codex Desktop as a result. I have tried all of the recommended solutions here to no avail.
Having the same issue here. Codex works fine within WSL via CLI and inside VS Code; broken within the Windows app.
<img width="557" height="68" alt="Image" src="https://github.com/user-attachments/assets/a7d002df-1d9d-4d41-9e22-6c6183e5c77d" />
Same problem. Embarrassing that this was both introduced after an update and wasn't immediately resolved.
Same problem. Hope they resolve this asap
Temporary fix.
Go to Microsoft Store -> Profile -> Apps -> turn off auto update
Then go to
https://codex-190977.en.uptodown.com/windows/versions
Download 26.601.2237.0 (3rd June)
Now open codex you should see all chat history again.
I have switched to Claude Code because of this. Just sayin'. The WSL integration was already extremely shaky, with the agent losing access to the patch tool and various other things multiple times per day, requiring a full restart of Codex. This bug now just makes the whole situation untenable. Sorry, hope you can win me back one day.
I can confirm that this is a real issue on Windows 11 with WSL integration.
For me, the Windows Codex app has been effectively unusable with WSL for a while. When the agent is running in a WSL/bash environment, it appears to mix Windows and Linux path handling. For example, Codex may try to use Windows-style paths or Windows-side assumptions inside the WSL terminal, which breaks normal WSL workflows.
Interestingly, even the Windows Codex app itself recognized the problem when I gave it a screenshot of a bash terminal window showing the issue. It identified that Codex was trying to use the Windows directory structure in a WSL environment.
This is the first time I have had major problems with WSL integration in Codex. My current workaround is to run Codex directly inside WSL instead of relying on the Windows desktop app’s WSL integration.
In my opinion, this should be treated as a high-priority bug, because many Windows developers use WSL as their main development environment. If the Windows app cannot reliably separate Windows paths/configuration from the WSL runtime, the WSL integration becomes very difficult to use in real projects.
I’m seeing what looks like the same class of bug on Windows Codex Desktop with WSL-backed projects.
Environment:
26.611.8273.0\\wsl$\Ubuntu\home\<user>\dev\<repo>/\\wsl.localhost\Ubuntu\home\<user>\dev\<repo>Additional symptom that may help narrow it down:
This does not appear to be data loss. The local session files and thread rows are still present, and the chronological view can still surface the chats. The failure seems specific to project grouping / workspace association for WSL-backed projects.
Relevant log signatures from the Desktop app around the focus/project refresh:
I also saw repeated
git-init-watcherfailures against a rewritten Windows-looking path, e.g.:Things that did not resolve it:
AppData\Local\Packages\OpenAI.Codex_...\LocalCache\Roaming\Codex\\wsl$and\\wsl.localhostCurrent workaround is to use the Chronological list instead of Project grouping, or avoid WSL-backed projects in Codex Desktop. This looks like project-sidebar grouping depends on a Git/workspace watcher path that fails for WSL/UNC paths, then drops the affected thread associations during refresh.
Another way to work around this is by treating WSL as an another SSH connection for Codex Desktop and adding remote projects instead, skipping all the WSL bs.
Upside is I can get to use computer / browser use now since the WSL backend didn't support it before, and I can easily swap to a windows project now.
Downside is that Codex mobile ~~doesn't let you control remote projects currently~~ (nvm u can), and I had to have Codex brute force fix whatever mess was left behind by the update / me trying to recover it.
Adding another Windows + WSL datapoint that seems related, but with one extra signal around Desktop workspace/remote state.
Environment:
0.141.0/home/<user>/<workspace>Observed behavior:
state_5.sqliteon my install) still contained the relevant active thread rows withcwdunder/home/<user>/<workspace>.state_5.sqliteon my install) did not appear to contain the relevant WSL workspace history./home/..., WSL UNC roots such as\\wsl$.../\\wsl.localhost..., and a Desktop remote host identity shaped likeremote-ssh-discovered:<host>.Recovery sequence that worked on my install:
selected-remote-host-idwas recreated by the app, but the remote auto-connect entry stayed removed and the sidebar remained fixed.I have not isolated which individual state key was causal, since the recovery involved multiple state changes plus a full Desktop restart.
Interpretation:
This looks related to the same WSL project/thread association class of bug, but in my case the important recovery signal was not a
threads.cwdSQLite rewrite. The thread rows already existed under the WSL POSIX cwd. The sidebar seemed to be resolving the project against a different workspace/remote bucket than the one containing the existing threads.So the affected matching path may involve multiple pieces of state:
/home/...,\\wsl$..., and\\wsl.localhost...selected-remote-host-id/ remote auto-connectUser-visible impact is the same: it looks like project chat history was lost, while the underlying local thread data is still present.
I am not attaching full session logs, SQLite databases, or full global state files because they may contain private prompts, local paths, hostnames, and workspace-specific data. I can provide sanitized state-key summaries or redacted before/after observations if useful.
Cross-linking another data point from #29130.
I hit a similar Windows/WSL path-normalization failure after updating Codex CLI from roughly 0.138.0 to 0.142.2. I have WSL installed, but I did not intentionally configure Codex into a split WSL/native state.
In my case the broken state included active metadata split across:
The invalid
C:\mnt\c\Users\...form was especially important: project panes were empty or briefly populated then collapsed. Existing chats were not deleted; project grouping was broken.The stable repair required migrating all active path surfaces atomically, not only
threads.cwd: state DB cwd, local thread catalog cwd, global saved roots/project order/thread hints, session cwd metadata, andconfig.tomlruntime mode. After those were consistently native Windows, project panes worked again.This seems like the same broader bug family: Codex Desktop/CLI on Windows can create or preserve mixed WSL/native path dialects and then lose project-thread associations.
This looks like a path-identity split between the project authority and UI/runtime projections. A WSL project should keep one canonical identity, then derive display/native paths from it instead of rewriting
/home/...into a Windows path and storing that as if it were the project root.The state I would expect to persist is: project id, environment kind (
wsl,windows,ssh, etc.), canonical POSIX root, resolved native display path, session ids attached to that root, and the normalization version that produced each projection. If normalization changes after an update, old sessions should be migrated or marked stale; they should not silently disappear under “No chats”.I maintain Better Agent (https://github.com/ofekron/better-agent), where provider sessions need stable cwd/project identity across desktop, CLI, and child sessions for the same reason. If useful, a star helps other desktop-agent builders find it.