[Windows] Ctrl+T transcript view corrupts soft-wrapped CJK/Latin text after scrolling
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.5k
- PR merge metrics
- PR metrics pending
Description
What version of Codex CLI is running?
codex-cli 0.147.0
Installed through npm on native Windows.
What platform is your computer?
- Windows build:
10.0.22631(Windows 11 Professional) - Shell: PowerShell
- Codex install method: npm
What terminal emulator and version are you using?
Windows Terminal 1.12.10983.0 at the time of reproduction.
Windows Terminal has since been upgraded to 1.24.11911.0, but the new version has not yet been retested because all existing Terminal processes must be restarted first. I will update this issue after retesting.
What issue are you seeing?
The built-in Ctrl+T transcript view intermittently corrupts displayed text after scrolling with Page Up or the Up arrow.
Characters from a soft-wrapped second visual line appear to be redrawn at incorrect columns on the preceding line. The visible result includes overlapping glyphs, stray residual characters, and malformed Latin words. It is especially noticeable around boundaries between:
- Chinese/CJK text and Latin text
- inline code and normal prose
- links and surrounding prose
- soft-wrapped visual lines
The underlying assistant response is correct. The corruption appears only in the rendered transcript view, which suggests a TUI redraw/reflow problem rather than damaged conversation data.
Examples visible in the affected screen included stray glyphs before Windows Terminal, corrupted rendering inside alternate-screen, and overlapping characters in OpenAI.
What steps can reproduce the bug?
- Start Codex CLI in Windows Terminal on native Windows.
- Open a conversation containing mixed Chinese/CJK text, Latin text, inline code, links, and lines long enough to soft-wrap.
- Press
Ctrl+Tto open the transcript view. - Scroll upward using
Page Upor the Up arrow. - Continue scrolling through wrapped paragraphs.
- Observe that some glyphs from the second visual line are drawn over or inserted into the preceding line.
The problem is intermittent, but it has occurred multiple times during transcript browsing.
What is the expected behavior?
Scrolling in the Ctrl+T transcript view should preserve the exact text, glyph positions, styles, and soft-wrap boundaries. Previously rendered lines should not be overwritten by neighboring lines.
What happens instead?
The viewport is visually corrupted after scrolling: characters overlap, residual glyphs appear in the wrong line, and some Latin words become malformed. The persisted conversation content remains correct.
Additional information
This appears related to #13686, but this report provides a more specific trigger involving the Ctrl+T transcript view, keyboard scrolling, soft wrapping, and mixed CJK/Latin styled content.
A screenshot of the corrupted viewport is available and will be added in a follow-up comment.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No implementation file or test is named. Reproduce on native Windows in Windows Terminal by opening Ctrl+T, then scrolling through mixed CJK/Latin, styled, soft-wrapped content; trace the transcript viewport redraw or reflow path. Done means scrolling preserves text, glyph positions, styles, and soft-wrap boundaries without overlap or residual characters.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100