[BUG] Trackpad scroll on macOS (VS Code terminal): ~3 lines/notch, no scrollbar, distance scales with gesture velocity; CLAUDE_CODE_SCROLL_SPEED=1 no help

Open 💬 2 comments Opened Jun 9, 2026 by tim-mukhin

Summary

Over the last few days, trackpad scrolling in the Claude Code TUI became unusable on macOS in the VS Code integrated terminal. Three things changed at once:

  1. Each scroll notch now moves ~3 lines instead of 1. Fine line-by-line scrolling is gone.
  2. The vertical scrollbar disappeared from the right edge of the transcript, so there is no positional feedback for how far you've scrolled.
  3. Scroll distance is now velocity/acceleration dependent. Moving fingers slowly across the trackpad advances only a few lines; moving fast makes the transcript fly by many lines for the same physical travel. The result is unpredictable — you can never tell how far one gesture will scroll, because it depends on how fast you flicked, not how far you dragged.

CLAUDE_CODE_SCROLL_SPEED=1 (the documented minimum) is already set and does not help — it's the floor, and the view is still far too fast and still acceleration-coupled.

Environment

  • Claude Code: 2.1.169
  • Terminal: VS Code integrated terminal (TERM_PROGRAM=vscode, version 1.123.0), TERM=xterm-256color
  • macOS: 15.7.7 (24G720)
  • TUI mode: default (no "tui": "fullscreen" set)
  • CLAUDE_CODE_SCROLL_SPEED=1
  • Input: built-in MacBook trackpad

Steps to reproduce

  1. Run Claude Code in the VS Code integrated terminal on macOS (default TUI, CLAUDE_CODE_SCROLL_SPEED=1).
  2. Have a conversation long enough to require scrolling.
  3. Scroll the transcript with the trackpad — first a slow drag, then a fast flick over the same physical distance.

Expected

  • One scroll notch ≈ one line (or a small, fixed number), independent of gesture velocity.
  • A visible scrollbar indicating position in the transcript.
  • CLAUDE_CODE_SCROLL_SPEED controlling sensitivity in a predictable, velocity-independent way.

Actual

  • ~3 lines per notch, and the per-gesture distance scales with how fast you move your fingers (momentum/acceleration is being forwarded as additional wheel events and multiplied by the line step).
  • No scrollbar.
  • CLAUDE_CODE_SCROLL_SPEED=1 provides no relief (already at floor).

Notes / related issues

This looks related but distinct from existing reports:

  • #65323 — "scroll far too fast … even at CLAUDE_CODE_SCROLL_SPEED=1" — same too-fast class, but reported for Cursor + fullscreen TUI; this report is VS Code + default TUI, and adds the velocity-dependence and missing scrollbar symptoms.
  • #56546 — fullscreen TUI janky/chunky stepping — different mode and not velocity-coupled.
  • #65833 — scroll wheel sends arrow keys + no scrollbar — different terminal (Windows/WSL) and a different failure (arrow keys vs. multi-line jumps).
  • #65117 — scrollbar disappears intermittently — but tied to background agents, not trackpad velocity.

The combination here — multi-line-per-notch + missing scrollbar + acceleration-coupled distance in the VS Code integrated terminal on macOS, default TUI — does not appear to be tracked. This is a regression: line-by-line trackpad scrolling worked a few days ago.

Request

Decouple scroll distance from gesture velocity (treat one wheel event as a fixed line step regardless of momentum), restore the scrollbar in default TUI, and allow a sub-1 / predictable CLAUDE_CODE_SCROLL_SPEED so fine scrolling is possible again.

View original on GitHub ↗

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