Input message disappears while Codex CLI is responding
What version of Codex is running?
0.47.0
What subscription do you have?
Pro plan
Which model were you using?
gpt-5-high
What platform is your computer?
macOS
What issue are you seeing?
When using the Codex CLI, parts of my input message sometimes disappear while the model is generating its response. Lines or segments vanish randomly during processing. In some cases, parts of Codex's output also disappear unexpectedly while it continues to print output. This seems to occur about 20-30% of the time, and I haven't found reliable steps to reproduce it.
What steps can reproduce the bug?
When using the Codex CLI, after I input a message, parts of my input sometimes disappear while Codex is outputting its response. Lines vanish one by one or segments of the input vanish randomly. Additionally, parts of the output generated by Codex may disappear unexpectedly while the rest of the output is still printing. This occurs randomly about 20-30% of the time and I haven't been able to find consistent steps to reproduce it.
What is the expected behavior?
The CLI should keep my input and Codex's output visible while it is processing and generating responses. Neither the input message nor any part of the generated output should disappear; they should persist unchanged until the operation is complete.
Additional information
_No response_
19 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
I also have found parts of both input and output messages disappearing, seemingly at random. This issue has persisted though all recent versions up to and including the current version (0.47.0). I find no discernible pattern but it is common and the inability to reliably refer back in the conversation significantly impairs usability/utility.
(I do run multiple CLI sessions concurrently but find the bug appears even when interacting only with a single session)
I see output of AI disappearing too and I think it's related.
#6599
It wasn’t fixed, I still have this problem. My version is 0.61.0
same issue
Examples. I have no idea why this isn't more widely reported as it makes Codex CLI unusable and makes the model output seem incoherent due to whole lines vanishing mid paragraph.
<img width="1916" height="989" alt="Image" src="https://github.com/user-attachments/assets/88034b26-8334-45a4-a1e8-8d1a62545b90" />
I can reproduce this deterministically on my setup (not flaky).
Environment:
Repro steps:
Observed behavior:
Expected behavior:
Additional notes:
If this aligns with your preferred approach, I can prepare a PR with a fix. Per
docs/contributing.md(invitation-only for external code PRs), please let me know if you’d like to invite this contribution.
We'd welcome a root cause analysis and proposed fix here in the issue tracker thread. That's more useful to us than a code contribution.
Thanks, understood. Here is my analysis from reading the TUI draw path and matching it to repro behavior.
Likely Root Cause
I can reproduce this consistently on Windows while output is streaming and the terminal is scrolled up.
The most suspicious code path is in
Tui::draw(codex-rs/tui/src/tui.rs):area != terminal.viewport_area, the code callsterminal.clear()in that branch.So a plausible root cause is a clear-on-viewport-change policy that is too aggressive during streaming updates.
Proposed Fix
Only clear on viewport changes that need full invalidation (e.g. shrink/downward move), and avoid clearing when the viewport is only growing upward while streaming.
Pseudo-logic at the viewport-change branch:
previous_areaset_viewport_area(area)viewport_shrank = area.width < previous.width || area.height < previous.height || area.y > previous.yterminal.clear()only whenviewport_shrankis trueThis should preserve redraw correctness for shrink/reset cases while preventing wipe behavior in the common streaming-growth case.
Validation Plan
Also experiencing this on Windows. I'm using the terminal in Cursor while SSH'd into another machine in case that ends up being relevant.
Current workaround is tedious but works. When codex responds and I need to read all text, during planning/discussion, I close it and resume. Autorenaming sessions or setting up shortcuts helps make it less tedious.
Still an issue for me as well, windows terminal on WSL
Still an issue.
still happens 😕
Jeah still an issue, especially in plan mode.
I think I found a specific root cause for at least one class of the “text disappears in the TUI” bugs.
Repro:
Expected:
When the composer grows, it should consume space from the bottom of the visible transcript only.
Actual:
Visible transcript rows at the top get scrolled away / dropped.
Dummy snapshot of the behavior:
Before:
previous assistant line 1
previous assistant line 2
previous assistant line 3
› hello
After growing the composer:
previous assistant line 2
previous assistant line 3
› hello
world
again
The problem is that
previous assistant line 1disappeared just because the composer became multiline.Likely root cause:
In
codex-rs/tui/src/tui.rs, the inline viewport resize path scrolls the already-rendered transcript when the composer expands:scroll_region_up(0..area.top(), area.bottom() - size.height)?;That appears to be the destructive part. Re-anchoring the viewport with:
area.y = size.height - area.height;seems sufficient, without scrolling the transcript region upward.
This appears to come from upstream commit
0d12380c3b4814bd624d1c4f45534bb304e8383f(refactor onboarding screen to a separate)."app" (#2524)
Suggested fix:
When
area.bottom() > size.height, do not scroll the transcript region upward. Just re-anchor the viewport to the bottom.I also reproduced this with a focused snapshot test around multiline composer growth.
Happens to me in WSL ubuntu + win11
Same issue on windows, but I noticed it for response lines. Some if them randomly disappear but when I exit and resume, they appear again.
One way to show up the hidden lines is to move the terminal to a portrait monitor and let the window iof the terminal much longer than before. It is insane that this is not a popular bug report. Sometimes the disappeared lines are quite important.
Having this bug for almost an entire year is insane