Codex App on Windows/WSL: targeted patch workflow is inconsistent, and review pane can show unstaged diffs while Git stays clean
What version of the Codex App are you using (From “About Codex” dialog)?
26.305.950.0
What subscription do you have?
ChatGPT Plus
What platform is your computer?
Microsoft Windows NT 10.0.26200.0 x64
What issue are you seeing?
I’m trying to understand the recommended / reliable way to use Codex App for file editing on Windows.
I was advised that targeted patching was a good workflow to use, so I started testing Codex that way instead of relying on shell-based file edits.
What I observed was inconsistent:
- On Windows native, several targeted patch attempts failed.
- Because of that, I switched the agent to WSL and restarted the app.
- In WSL, a targeted patch eventually succeeded on a known existing anchor with no shell usage.
So patching is not completely broken in my setup, but it has not felt reliable / predictable.
At the same time, I’m seeing what looks like a mismatch between the Codex App review/diff pane and Git’s actual working tree state.
On a clean repo, I can import the project into Codex App, start a Local thread, send only hello, and the app’s review pane immediately shows multiple unstaged files / diffs.
But Git itself still reports a completely clean repo.
I verified this explicitly with:
git status --short
git diff --stat
Both commands were empty before opening the project / before sending hello, and they were still empty after opening the project in Codex App and sending only hello.
So from my point of view there are two related problems:
- I’m not sure what the correct / recommended editing workflow is on Windows (Windows native vs WSL, targeted patch vs normal file edits).
- The app’s review pane appears able to show changes that Git itself does not see.
I also saw cases where the app diff looked like whole files had been deleted and re-added even though the visible content looked identical. In the app UI, revert actions also failed with errors such as:
Failed to recup modificationsFailed to recup the section
Additional context:
- I first used the Windows native agent.
- Later I switched the agent to WSL and restarted the app.
- Integrated terminal shell is WSL.
- Files such as
README.mdand.gitignoreshow as UTF-8 + CRLF in VS Code. - There is no
.gitattributesfile in the repo. - Git config has
core.autocrlf=true.
I’m not sure whether this is:
- expected behavior and I’m using the wrong workflow,
- a Windows / WSL / CRLF interaction,
- or a Codex App review/diff bug.
What steps can reproduce the bug?
- Start with a Git repo that is clean according to:
git status --short
git diff --stat
Both should return no output.
- Open that repo in Codex App on Windows.
- Use a Local thread.
- In my case, I first tested the Windows native agent, then switched to WSL and fully restarted the app.
- Send a minimal prompt such as:
hello
- Observe the review/diff pane in Codex App.
- Separately, run again:
git status --short
git diff --stat
Observed result in my environment:
- Codex App review pane shows multiple unstaged files / diffs.
- Git still shows no changes at all.
Additional workflow context:
- I was also testing targeted patch prompts because I was trying to find the most reliable editing workflow.
- Several targeted patch attempts failed in Windows native.
- After switching to WSL, one targeted patch eventually succeeded on a known anchor with no shell usage.
So the issue may involve both:
- patch workflow reliability on Windows / WSL
- and review pane state not matching Git
What is the expected behavior?
I would expect the recommended editing workflow to behave consistently, especially for targeted patches.
If the repo is clean and Git still reports no changes, I would also expect the Codex App review/diff pane to show no unstaged diffs.
More generally, I would expect:
- targeted patch behavior to be predictable,
- the review pane to stay in sync with Git,
- and revert actions in the UI to work reliably when diffs are shown.
Additional information
Feedback session ID: 3d29c79d-679f-41ab-b3ef-e937be68e55c
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗