[BUG] Scroll-up during processing causes runaway scroll to top of conversation (macOS terminal)

Resolved 💬 3 comments Opened Feb 14, 2026 by clubanderson Closed Feb 17, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

When Claude Code is actively processing ("turning" — running tools, streaming responses), attempting to scroll up slightly in the macOS terminal causes the scrollbar to accelerate and shoot far back in the conversation history. A small upward scroll gesture results in jumping hundreds or thousands of lines back, making it nearly impossible to just peek at recent output.

The only way to get back to the bottom is to either:

  1. Scroll down extensively (fighting the same acceleration issue in reverse)
  2. Start typing, which snaps back to the input prompt

Steps to Reproduce

  1. Start a Claude Code session in macOS Terminal or iTerm2
  2. Have a conversation with enough history to fill several screens
  3. While Claude is actively processing (tool calls running, streaming output), use the trackpad or mouse wheel to scroll up slightly
  4. Observe the viewport shoots far up in the conversation history

Expected Behavior

A small scroll-up gesture should scroll up a proportional amount, not accelerate wildly. Ideally, scrolling during processing should work the same as scrolling while idle.

Environment

  • Claude Code version: 2.1.42
  • OS: macOS (Darwin 25.1.0)
  • Terminal: iTerm2 / macOS Terminal
  • Model: Opus 4.6

Related Issues

  • #10835 — similar "infinite scrolling" but triggered by window minimize
  • #24716 — viewport flicker during streaming (tmux-specific)
  • #9001 — scroll regression (older version)

This appears to be a distinct issue specific to scroll input during active processing in macOS native terminals.

View original on GitHub ↗

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