Large diff/tool-output blocks destroy scrollback in iTerm2 — conversational text becomes unrecoverable

Status Open
Maintainer reply None cached
Activity 0 comments · opened Jul 21, 2026

When Claude Code emits a large tool-output block (e.g. a big file diff or a long system reminder rendering a modified file), the block overwrites the preceding conversational text in the terminal, and iTerm2 scrollback cannot recover it. The assistant's actual response — the part the user needs — is simply gone.

Request from a daily heavy user: the conversational output should survive on any modern terminal. Either (a) don't repaint over prior conversational text when rendering large tool blocks, (b) collapse/elide large diffs by default in the transcript view, or (c) ensure the alternate-screen/repaint strategy preserves native terminal scrollback. Losing the model's answer because a diff rendered is the worst possible trade — I don't need to see the text diff; I need the conversational part.

Environment: Claude Code CLI in iTerm2 on macOS (Darwin 24.6), long-running interactive sessions with frequent Edit/Write tool use.

(Filed on behalf of the user by the assistant at the user's request.)

View original on GitHub ↗