Skip to content

Windows desktop Summary tab shows false GitHub CLI / PR status errors for WSL repos and logs git watcher ENOENT on .git paths #17991

Open

Description

@tompw89

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 unavailable
  • Pull request status unavailable

However, GitHub CLI is not actually unavailable.

What I verified:

  • Linux gh in WSL works
  • Windows gh.exe works
  • gh auth status succeeds
  • after adding the repo as a Windows Git safe.directory, Windows gh.exe repo view and gh.exe pr status also 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?

  1. Use the Codex Windows desktop app with a repo hosted in WSL, for example /home/...
  2. Open a thread for that repo
  3. Open the Summary tab on the right-hand side
  4. Observe GitHub CLI unavailable or Pull 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.directory trust 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.sqlite migration 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:

Activity

  1. added
    bugSomething isn't working
    appIssues related to the Codex desktop app
    windows-osIssues related to Codex on Windows systems
    on Apr 15, 2026
  2. github-actions commented on Apr 15, 2026

    @github-actions
    Contributor
  3. tompw89 commented on Apr 15, 2026

    @tompw89
    Author

    Draft prepared with Codex assistance; details verified by me.

    I reviewed the duplicate suggestions from the bot.

    So I do not believe this issue is a duplicate of either one.

  4. eschulma commented on Apr 23, 2026

    @eschulma

    Yes, we have this too. There is a workaround -- make a symbolic link via PowerShell to point to your project.

  5. TyceHerrman commented on May 7, 2026

    @TyceHerrman

    seeing similar behavior in desktop app on macos

  6. Yuichiroh-Kobayashi commented on May 9, 2026

    @Yuichiroh-Kobayashi

    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

    • OS/Runtime: Windows 11 host with WSL2
    • WSL distro: Ubuntu 24.04.4 LTS
    • Kernel: 6.6.87.2-microsoft-standard-WSL2
    • Repository path: /home/<redacted>/Dev/<repo>
    • Current branch: main
    • GitHub CLI: gh version 2.92.0
    • gh path: /usr/bin/gh
    • Git protocol: HTTPS
    • Codex Desktop version: 26.506.31421

    GUI symptom

    Codex Desktop keeps showing the Japanese equivalent of:

    Unable to fetch pull request status
    

    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:

    Logged in to github.com account <account>
    Git operations protocol: https
    Token scopes include repo
    

    Repository lookup also succeeds:

    {"defaultBranchRef":{"name":"main"},"nameWithOwner":"<owner>/<repo>"}

    gh pr status succeeds and reports that there is simply no PR associated with the current branch:

    Relevant pull requests in <owner>/<repo>
    
    Current branch
      There is no pull request associated with [main]
    
    Created by you
      You have no open pull requests
    
    Requesting a code review from you
      You have no pull requests to review
    

    gh pr view --json number,url,headRefName,baseRefName returns:

    no pull requests found for branch "main"
    

    Sandbox/network distinction

    In the normal Codex sandbox, gh auth status reports the token as invalid.

    With Codex network access allowed, the same gh auth status succeeds.

    So this does not look like a normal GitHub CLI setup problem. It looks like Codex Desktop may be surfacing either:

    1. a sandbox/network/auth reachability failure, or
    2. a normal “no PR for current branch” state,

    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:

    No pull request is associated with the current branch.
    

    If GitHub cannot be reached from the current sandbox/network context, the UI should distinguish that from:

    • gh not installed
    • gh not authenticated
    • no PR associated with the current branch
    • actual GitHub API failure

    Possibly 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/gh and the Linux GitHub CLI config under /home/..., not the Windows Credential Manager / keyring path.

  7. tompw89 commented on May 10, 2026

    @tompw89
    Author

    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. Creating C:\home\tom\projects -> \\wsl$\Ubuntu\home\tom\projects made the Linux path visible to Windows, but Desktop's watcher failure changed from ENOENT to EISDIR.

    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-server fs/watch, or by falling back when local fs.watch() throws ENOENT or EISDIR.

  8. tajemniktv commented on May 17, 2026

    @tajemniktv

    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.

  9. 0xdevalias commented on Jun 12, 2026

    @0xdevalias

    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 --version then fails to resolve and the UI maps that directly to GitHub CLI unavailable.

    This provides another concrete case where the visible missing state is a generic downstream result rather than proof that GitHub CLI is actually absent. #27740 includes packaged-code and log evidence for that path.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbugSomething isn't workingwindows-osIssues related to Codex on Windows systems

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions