Terminal output pushes scroll position during generation — cannot select/copy/read previous output

Resolved 💬 4 comments Opened Mar 17, 2026 by Gerk Closed Mar 17, 2026

Description

During active generation (thinking, typing, or even the "deliberating" status indicator), terminal output causes the viewport to jump to the TOP of the scrollback buffer. This makes it impossible to:

  1. Select text from previous output (viewport jumps to top mid-selection)
  2. Copy commands that Claude outputs (the content you are trying to select disappears)
  3. Read important information that was just displayed (yanked to the top of the terminal history)

Any new output — even a single status line — causes the viewport to snap to the very top of the scrollback, not the bottom. The user is forcibly teleported thousands of lines away from what they were reading.

Environment

  • Terminal: iTerm2 on macOS
  • Claude Code: latest
  • Account: Max (Pro/Max tier)

Impact

  • Unusable for ops work where Claude outputs commands to run on remote machines
  • Cannot read Claude's own responses — viewport jumps to top before you finish reading
  • Forces the user to scroll back down after every single output event
  • Especially bad during long multi-step operations where status updates keep firing

Comparison

Other CLI AI tools (competitors) do NOT have this issue in the same terminal. The scroll position is preserved when the user is reading previous output. This is standard terminal behavior.

Expected Behavior

  • If the user is reading previous output, new output should NOT move the viewport
  • Only auto-scroll when the user is already at the current output position
  • Allow text selection to complete without interruption

Workaround

None currently. The web interface actually handles this better (has copy buttons on code blocks), which is ironic for a CLI tool.

View original on GitHub ↗

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