TUI scrollback fills with duplicate frames on Linux (Wayland); not reproduced on Windows

Resolved 💬 3 comments Opened May 21, 2026 by TroyBertolino Closed May 24, 2026

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-reminder injections
  • 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.

View original on GitHub ↗

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