[Windows][WSL] 26.721.3404 marks valid WSL repositories as non-Git and reports "Git is unavailable"

Open
#35,119 28 comments 18 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
git, rust

Research direction

Start with the Desktop Git worker entry point for turn-diff-capture-start and the project API path that sets isGitRepository. Reproduce with the listed Windows, WSL2, and app versions, then compare the Git-worker/WSL handoff with the previous working versions and inspect the bundled bwrap relocation errors. Done means valid repositories under /home are detected as Git, remain a single project, and support native worktree threads.

Written by the indexing model from the issue text.

Description

app app-server bug windows-os
Codex App version
  • Microsoft Store package: OpenAI.Codex_26.721.3404.0_x64__2p2nqsd0c76g0
  • App server: 0.146.0-alpha.3
  • Previous working package: 26.715.10079.0
  • Previous working app server: 0.145.0-alpha.30
Platform
  • Windows 11 + WSL2 (Ubuntu)
  • Repository is on the WSL ext4 filesystem: /home/<user>/<repo>
  • Codex agent environment: WSL
Problem

Immediately after the Microsoft Store update from 26.715.10079.0 to 26.721.3404.0, the Desktop Git worker began returning:

worker_rpc_response_error errorMessage="Git is unavailable" method=turn-diff-capture-start workerId=git

The same repository is then returned by the Desktop project API as:

isGitRepository: false

Adding the project again creates a second project entry for the same normalized Linux path, also with isGitRepository:false. Native worktree-thread creation is therefore unavailable.

Git inside WSL remains healthy:

  • git --version succeeds (2.43.0)
  • git rev-parse --show-toplevel returns the expected repository root
  • git status succeeds and the worktree is clean
  • git fsck --connectivity-only succeeds

The repository directory is writable ext4. Inside the Codex workspace-write sandbox, .git is mounted read-only as documented, but all read-only Git commands still work, so that protected mount does not explain why Desktop classifies the project as non-Git.

Regression timeline
  • Before the update, Codex Desktop successfully created WSL-native worktree threads under /home/<user>/.codex/worktrees/...; the most recent was created the previous evening.
  • At startup, 26.715.10079.0 detected and downloaded Store package 26.721.3404.0.
  • About two minutes later, 26.721.3404.0 launched with app server 0.146.0-alpha.3.
  • Within four minutes, the first Git is unavailable error appeared and then repeated for every diff-capture attempt.
  • Existing worktree directories and Git metadata remain intact.
Additional diagnostics

The WSL runtime inherits:

  • CODEX_HOME=/mnt/c/Users/<user>/.codex
  • CODEX_INTERNAL_ORIGINATOR_OVERRIDE=Codex Desktop
  • WSLENV includes CODEX_HOME/p

The same values were present in earlier successful worktree sessions, so this appears to be a regression at the 26.721 Desktop Git-worker / WSL handoff boundary rather than a new local configuration change.

The new Desktop log also records:

  • bundled_executable_relocation_failed for the packaged WSL bwrap resource
  • repeated primary_runtime_update_poll_failed archive extraction errors

The updater currently sees manifestBuildVersion=26.721.3996.0, but reports hasUpdate=false / NoUpdates.

Steps to reproduce
  1. Open Codex Desktop 26.721.3404.0 on Windows with the agent environment set to WSL.
  2. Add a valid Git repository located under /home/<user>/....
  3. Open the project or try to create a native worktree thread.
  4. Observe Git is unavailable in Desktop logs and isGitRepository:false in the project record.
  5. Run the Git commands above in WSL and observe that the repository is healthy.
Expected behavior

A valid Git repository on the WSL Linux filesystem should be detected as Git, associated with a single project entry, and support native Codex worktree threads.

Related issues
  • #35088 (same Desktop/app-server versions; project/thread catalog regression)
  • #35073 (26.715 works, 26.721 broken)
  • #14182
  • #13762
  • #13618
Dominant language
Rust
Stars
125k
Forks
19.5k
Avg merge
1m
Merged PRs (30d)
1k

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from openai/codex

All issues in openai/codex

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.