Scrollback history lost during re-render in long sessions (v2.1.90, WSL + Windows Terminal)

Resolved 💬 3 comments Opened Apr 3, 2026 by dagutt7519 Closed Apr 6, 2026

Description

Terminal scrollback history becomes unreachable (scroll up shows nothing or truncated content) during long sessions with many sequential tool calls (Read, Grep, Glob, Edit). The scroll history is clobbered, not just hidden — scrolling up no longer reaches earlier conversation content.

Environment

  • Claude Code version: 2.1.90
  • OS: WSL2 (Ubuntu) on Windows 11
  • Terminal: Windows Terminal
  • No tmux

Reproduction

  1. Start a session with extended thinking enabled and high effort level.
  2. Perform 20+ sequential Read/Grep/Edit/Write tool calls (a typical code review or multi-file editing session).
  3. Mid-session, attempt to scroll up to review earlier conversation content.
  4. Scrollback is truncated — earlier content is unreachable.

More frequent when PreToolUse hooks inject additionalContext JSON on each tool call, which increases the number of re-renders per turn.

Likely cause

Based on source-level analysis of the rendering behavior:

  • Collapsed tool-summary badges (the Search/Read/Grep/Glob summary pills) are being duplicated during re-render and treated as new rows.
  • Fullscreen scrollback re-measures layout from the wrong anchor after those inserts.
  • The virtualized/transcript view remounts or rekeys part of the history, clobbering the older rendered buffer.

The history is not being deleted by the model or the session logic. The UI layer is eating it during a bad re-render.

Relation to prior fixes

  • v2.1.89 fixed this for the heavy parallel-tool-use code path.
  • v2.1.90 fixed this for the CLAUDE.md auto-load during tool call code path.
  • This appears to be a surviving code path triggered by sequential (not parallel) tool calls in long sessions with many collapsed summaries.

Workaround attempted

CLAUDE_CODE_NO_FLICKER=1 added to settings.json env but not yet tested (requires new session). Separately, reducing the frequency of hook-injected context messages reduced the re-render trigger rate but did not eliminate the issue.

View original on GitHub ↗

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