Windows desktop Summary tab shows false GitHub CLI / PR status errors for WSL repos and logs git watcher ENOENT on .git paths
Draft prepared with Codex assistance; details verified by me.
I searched existing issues first. The closest matches I found were #13689 and #14182, but neither seemed to fully cover this specific Summary-tab failure mode.
What version of the Codex App are you using (From “About Codex” dialog)?
Version shown in the About Codex screen:26.409.61251
I also observed the Windows Store package path:OpenAI.Codex_26.409.7971.0_x64__2p2nqsd0c76g0
Rollout/session metadata on this machine also shows:cli_version: 0.119.0-alpha.28
What subscription do you have?
ChatGPT Pro
What platform is your computer?
Windows host with a WSL workspace
What issue are you seeing?
In the Windows Codex desktop app, the Summary tab in the right-hand panel shows misleading GitHub/PR status errors for a valid WSL-hosted Git repo.
The messages include:
GitHub CLI unavailablePull request status unavailable
However, GitHub CLI is not actually unavailable.
What I verified:
- Linux
ghin WSL works - Windows
gh.exeworks gh auth statussucceeds- after adding the repo as a Windows Git
safe.directory, Windowsgh.exe repo viewandgh.exe pr statusalso worked normally against the checkout
So the Summary tab message appears to be a generic fallback rather than a literal statement that gh is missing.
What steps can reproduce the bug?
- Use the Codex Windows desktop app with a repo hosted in WSL, for example
/home/... - Open a thread for that repo
- Open the Summary tab on the right-hand side
- Observe
GitHub CLI unavailableorPull request status unavailable
What is the expected behaviour?
The Summary tab should correctly detect GitHub/PR state for the repo, or at least show a specific error that reflects the real failure.
It should not claim GitHub CLI is unavailable when gh is installed, authenticated, and working.
What is the actual behaviour?
The Summary tab shows misleading GitHub/PR status messages even though GitHub CLI works in both WSL and Windows contexts.
Additional information
I ruled out several simpler explanations:
- Windows Git
safe.directorytrust was initially missing for the WSL checkout, but fixing that did not fix the Summary tab. - I also found and repaired a separate local SQLite state DB issue (
state_5.sqlitemigration mismatch). That fixed thread metadata updates, but the Summary tab problem still remained.
The strongest evidence now points to a WSL git-path watcher problem in the desktop app itself.
In the desktop logs, the app’s git repo watcher fails with ENOENT on WSL .git paths such as:
/home/<redacted>/projects/codex/.git/HEAD/home/<redacted>/projects/codex/.git/FETCH_HEAD/home/<redacted>/projects/codex/.git/packed-refs
Related git commands are then aborted before start.
So this looks less like a real gh problem and more like a Windows desktop app bug in WSL git-path watching / repo-state detection.
Potentially related issues:
- #13689 for the false
GitHub CLI is not installedmessage - #14182 for Windows app misreading valid WSL git state
8 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Draft prepared with Codex assistance; details verified by me.
I reviewed the duplicate suggestions from the bot.
Wsl/Service/E_UNEXPECTED), not the Summary tab GitHub/PR-status path.So I do not believe this issue is a duplicate of either one.
Yes, we have this too. There is a workaround -- make a symbolic link via PowerShell to point to your project.
seeing similar behavior in desktop app on macos
Draft prepared with Codex assistance; details verified by me.
I am adding reproduction details here because this appears to match the visible Desktop symptom in this issue, rather than opening a new duplicate issue.
I am seeing a very similar issue on Windows + WSL with Codex Desktop.
Environment
6.6.87.2-microsoft-standard-WSL2/home/<redacted>/Dev/<repo>maingh version 2.92.0ghpath:/usr/bin/gh26.506.31421GUI symptom
Codex Desktop keeps showing the Japanese equivalent of:
Specifically:
Restarting Codex Desktop did not change the state.
CLI evidence
When the command is run with Codex network access allowed, GitHub CLI authentication succeeds:
Repository lookup also succeeds:
gh pr statussucceeds and reports that there is simply no PR associated with the current branch:gh pr view --json number,url,headRefName,baseRefNamereturns:Sandbox/network distinction
In the normal Codex sandbox,
gh auth statusreports the token as invalid.With Codex network access allowed, the same
gh auth statussucceeds.So this does not look like a normal GitHub CLI setup problem. It looks like Codex Desktop may be surfacing either:
as a generic PR-status error.
Expected behavior
If the current branch simply has no associated pull request, the Desktop UI should show a normal empty state, for example:
If GitHub cannot be reached from the current sandbox/network context, the UI should distinguish that from:
ghnot installedghnot authenticatedPossibly related
This may also overlap with the sandbox/network/auth false-negative issues discussed in #12996 and #21821, but the visible Desktop symptom here matches this issue most closely.
Note: I am not assuming the same root cause as #21821, because this environment uses WSL Linux
/usr/bin/ghand the Linux GitHub CLI config under/home/..., not the Windows Credential Manager / keyring path.Adding one impact clarification plus fresh diagnostic evidence.
This is not only a misleading Summary-tab error message. Because Desktop's git watcher is failing on WSL repo paths, repo-derived UI can become stale or incomplete. In practice that can make Desktop show false PR/GitHub status errors, fail to refresh branch/repo state, and potentially leave review/diff surfaces empty or out of date. The user experience is that a valid WSL Git workspace appears partially broken, even though Git and GitHub CLI work normally in the same environment.
I also tested the suggested Windows symlink workaround on Codex Desktop
26.506.3741.0. It did not fix the watcher on this machine. CreatingC:\home\tom\projects -> \\wsl$\Ubuntu\home\tom\projectsmade the Linux path visible to Windows, but Desktop's watcher failure changed fromENOENTtoEISDIR.A standalone Windows Node test reproduced the same behaviour:
fs.watch()fails on the symlink path.fs.watch()also fails on the direct\\wsl$path.fs.watchFile()succeeds on the same paths.That suggests the robust fix is not a path symlink. Desktop should avoid Windows
fs.watch()for WSL-backed git paths, either by routing those watches through app-serverfs/watch, or by falling back when localfs.watch()throwsENOENTorEISDIR.I started seeing that issue today for some reason. I was tinkering with config.toml, but nothing that would break github integration.
Funny thing is, I can use "Commit" button and after using it, the "Open Pull Request" reports back as usual.
Cross-linking a macOS instance of the same misleading Summary-panel state:
The underlying cause there is different from the WSL watcher failure described here. Codex Desktop's main-process shell environment import exceeds its 5-second timeout, leaving a minimal GUI PATH;
gh --versionthen fails to resolve and the UI maps that directly toGitHub CLI unavailable.This provides another concrete case where the visible
missingstate is a generic downstream result rather than proof that GitHub CLI is actually absent. #27740 includes packaged-code and log evidence for that path.