TUI scrollback fills with duplicate frames on Linux (Wayland); not reproduced on Windows
Environment
- Claude Code 2.1.114
- Linux (Wayland;
XDG_SESSION_TYPE=wayland) TERM=xterm-256color,COLORTERM=truecolor- Reproduced in two terminal emulators: Warp (
dev.warp.Warp) and Konsole - Not reproduced in Warp on Windows 11 with the same Claude Code version
Behavior
Scrolling up through a long session shows the same blocks repeated many times. The duplication includes:
- Claude Code session-start banner
- Statusline rows
system-reminderinjections- Prior user prompts and assistant turns
Duplication grows roughly with turn count. Concrete artifact: the Claude Code startup banner (which should render exactly once at session start) appears embedded mid-conversation in scrollback after a number of turns — the TUI is re-emitting earlier screen content into the main scrollback buffer rather than updating in place on the active region.
Not reproduced on
Windows 11 + Warp, same Claude Code version.
Hypothesis
TUI redraw path may be writing full-frame rewrites to the main scrollback buffer on Linux PTYs instead of using cursor-reposition / alt-screen on the active region. The Windows ConPTY path appears to handle this correctly.
Impact
Cosmetic but compounding — scrollback becomes unsearchable in long sessions; difficult to grep history reliably.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗