Inconsistent scrollback / output rendering behavior on Windows Terminal vs macOS terminal

Open 💬 14 comments Opened Mar 21, 2026 by zhatlas
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What version of Codex CLI is running?

codex-cli 0.116.0

What subscription do you have?

Plus

Which model were you using?

_No response_

What platform is your computer?

_No response_

What terminal emulator and version are you using (if applicable)?

_No response_

What issue are you seeing?

When using Codex CLI on macOS, the terminal output behaves normally — scrollback works, and the UI rendering is stable.

However, on Windows (especially when using Windows Terminal with WSL or PowerShell), I frequently encounter rendering issues:

  • Scrollback does not work correctly (older output disappears or cannot be accessed)
  • Output is sometimes overwritten or re-rendered incorrectly
  • Text may appear duplicated or partially missing
  • Scrolling during streaming output can cause content to be cut or misaligned

This issue appears consistently on Windows Terminal, but does not reproduce on macOS terminal environments (e.g., iTerm2 / default Terminal with similar configurations).

This suggests a platform-specific compatibility issue between Codex CLI TUI rendering and Windows terminal emulators.

What steps can reproduce the bug?

  1. Open Windows Terminal (PowerShell or WSL)
  2. Run codex
  3. Send a prompt that produces long output (longer than one screen)
  4. While output is streaming:
  • Try scrolling up
  • Or wait until output finishes and then scroll
  1. Observe:
  • Earlier content is missing or cannot be scrolled back to
  • Output may be overwritten, duplicated, or visually corrupted

Control experiment:

  1. Repeat the same steps on macOS (Terminal or iTerm2)
  2. Observe that:
  • Scrollback works normally
  • Output rendering is stable and consistent

What is the expected behavior?

_No response_

Additional information

_No response_

View original on GitHub ↗

14 Comments

github-actions[bot] contributor · 4 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • ##13686
  • ##14277

Powered by Codex Action

DMIGitH · 4 months ago

This has been this way from the beginning it drives me nuts as I go back to read what it said just have it has disappeared. I ask it to respect what it says and it can’t, spewing most of times unrelated information.
Of course it beats the other crazies that it does.

zhatlas · 4 months ago

The content only disappears from the UI—it’s still present in Codex’s context. You can recover the history with /resume, although the restored UI layout can sometimes be a bit glitchy.

RooTooRD · 3 months ago

same issue with
Linux 6.12.73+deb13-amd64 x86_64
Ghostty
codex-cli 0.117.0
gpt-5.3
Pro

jingkarqi · 3 months ago

I am seeing what looks like the same underlying class of bug on Windows, but with a very specific and reproducible interaction pattern during streaming output.

Environment

  • Windows 11
  • PowerShell 7.6.0
  • codex-cli 0.118.0
  • Windows Terminal
  • GPT-5.4
  • Plus

What I am seeing

In a multi-turn conversation, while the assistant is still streaming a reply, if I use the mouse wheel to scroll upward and inspect earlier chat history, newly streamed output starts to "eat" or overwrite a few lines of the older content that I am looking at.

As the new streamed reply continues growing, more and more of the older visible history appears to get swallowed / shifted / overwritten. The longer the streaming reply runs, the more old lines disappear from the visible region I had scrolled back to inspect.

This does not look like a simple cosmetic flicker. It behaves more like Codex is continuing to restructure the visible terminal region while I am no longer visually anchored at the bottom.

Expected behavior

Once I scroll up to inspect previous history, new streaming output should not progressively overwrite the older visible lines I am currently looking at.

At minimum, scrolling back should remain visually stable while generation continues.

Actual behavior

  • I scroll upward with the mouse wheel during an in-progress streamed response.
  • Older visible lines start disappearing / being replaced / getting partially swallowed.
  • As more tokens arrive, a larger portion of that older visible transcript gets affected.
  • The issue becomes more obvious on longer streamed replies.

Reproduction pattern

  1. Start Codex on PowerShell
  2. Have a multi-turn conversation.
  3. Ask for a response that streams for a while.
  4. While the response is still streaming, use the mouse wheel to scroll upward and inspect earlier messages.
  5. Keep watching while the stream continues.
  6. Older visible lines begin to be overwritten / swallowed, and the affected area grows as streaming continues.
cowwoc · 1 month ago

https://github.com/openai/codex/pull/18575 claims to fix this issue. Should it be closed?

zhatlas · 1 month ago
#18575 claims to fix this issue. Should it be closed?

After testing, I found that this issue remains unresolved; the latest version shows no improvement.

janrysavy · 1 month ago

Unfortunately still there (W11, Windows Terminal, Codex CLI v0.135.0).

fcoury-oai contributor · 1 month ago

Could you run /feedback first then send the feedback ID? Also could you take a screenshot or a short video of the problem?

janrysavy · 1 month ago
Could you run /feedback first then send the feedback ID? Also could you take a screenshot or a short video of the problem?

019e7f49-1b52-7362-9a2b-4fee5ce5a3eb

<img width="1737" height="1450" alt="Image" src="https://github.com/user-attachments/assets/e5376dac-a1a6-4881-baa1-eea22ac3d267" />

cowwoc · 1 month ago

@fcoury-oai I posted an automated testcase at https://github.com/openai/codex/issues/24849 for what could be the same issue. Can you please take a look?

grnbtqdbyx-create · 1 month ago

I added a small evidence packer for this terminal scrollback/output-integrity class in trace-to-skill@0.1.65:

npx trace-to-skill@0.1.65 demo terminal-output-integrity
npx trace-to-skill@0.1.65 codex-report ./runs --output openai-codex-terminal-output.md

This is not a fix. It is meant to help reports include the same maintainer-useful fields each time: Codex CLI/app/extension version, OS, shell, terminal emulator/version, WSL/SSH/tmux/Zellij state, model, whether streaming was active, exact scroll action, viewport snap behavior, first missing/duplicated line id, raw log/transcript proof, terminal capture, numbered-line harness/control output, terminal dimensions/scrollback settings, /resume or transcript recovery, and downgrade/other-terminal behavior.

Release: https://github.com/grnbtqdbyx-create/trace-to-skill/releases/tag/v0.1.65
Issue-map entry: https://github.com/grnbtqdbyx-create/trace-to-skill/blob/main/docs/CODEX_ISSUE_MAP.md#issue-clusters

fcoury-oai contributor · 1 month ago
@fcoury-oai I posted an automated testcase at #24849 for what could be the same issue. Can you please take a look?

I will!

cowwoc · 1 month ago

@fcoury-oai @etraut-openai I provided an automated testcase but have yet to hear back.

This issue is causing data loss in the sense that I can't read the agent's response unless I halt it (hit ESC) immediately after I receive the response; otherwise, the output always gets clobbered. Transcript view isn't useable for this either because it is too slow to navigate and there is no way to search for text within it.

Please provide a status update. Have you been able to reproduce the problem on your end? Is anyone actively working on it?