[BUG] Patch approval diff is empty in app-server-backed TUI Ctrl+A review

Open 💬 4 comments Opened Apr 16, 2026 by vcvvvc

What version of Codex CLI is running?

0.117.0-0.121.0

What subscription do you have?

GPT PLUS

Which model were you using?

ALL

What platform is your computer?

MacOS 13.7.8 and Debian12-13

What issue are you seeing?

In the app-server-backed TUI, patch approval requests can open with an empty diff body.

When a patch approval is shown and I press Ctrl+A to open the fullscreen diff review, the review pane does not display the patch content even
though the file-change content exists elsewhere in the TUI.

<img width="893" height="594" alt="Image" src="https://github.com/user-attachments/assets/ec686e45-2eed-47bd-b99e-22b5dc545918" />

<img width="893" height="594" alt="Image" src="https://github.com/user-attachments/assets/443ab841-0df4-4a54-b9ff-db6acb7a9aae" />

<img width="893" height="594" alt="Image" src="https://github.com/user-attachments/assets/48472ec0-2f81-4126-b727-5c5815547388" />

What steps can reproduce the bug?

  1. Open Codex in any workspace directory.
  2. Ask Codex to create a file, for example context.txt.
  3. Let Codex write any content into that file.
  4. Wait for the patch approval prompt to appear.
  5. Press Ctrl+A to open the approval review.

Actual result:

  • The approval review does not show the patch diff content.
  • The diff body is empty even though Codex is proposing file changes.

Expected result:

  • The approval review should display the actual patch diff for the pending file change.

What is the expected behavior?

_No response_

Additional information

I investigated this issue locally and prepared a fix that restores patch diff content in the app-server-backed TUI approval flow.

The fix covers both:

  • the active-thread approval path
  • the inactive-thread / buffered approval path

I also added regression coverage and verified the fix locally.

I understand that external pull requests are invitation-only in this repository. If this approach aligns with the intended solution, I would
appreciate an invitation to open a PR and submit the fix formally.

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗