TUI redraws force scroll-to-bottom, ignoring terminal scroll-to-bottom=no-output setting
Status Fixed / completed
Maintainer reply None cached
Activity 4 comments · opened Mar 22, 2026 · closed Mar 25, 2026
Description
Claude Code's TUI output forces the terminal viewport to scroll to the bottom during long conversations, overriding the terminal's scroll-to-bottom = no-output configuration. This makes it impossible to review earlier output while Claude is actively streaming or redrawing.
Behavior
- Works correctly at the start of a conversation
- After the conversation reaches a certain length, the viewport is forced to the bottom on every TUI redraw (status line animation, streaming text)
- The terminal's
scroll-to-bottomsetting is completely bypassed - Survives terminal restart — tied to conversation length, not session state
Reproduction
- Configure terminal with
scroll-to-bottom = no-output, no-keystroke(tested in Ghostty, but also confirmed in iTerm2 and Terminal.app) - Start a Claude Code session
- Have a conversation long enough (several back-and-forth exchanges)
- Scroll up to review earlier output
- Observe: viewport is yanked back to the bottom on every Claude Code redraw
Root Cause
Claude Code's TUI appears to use terminal escape sequences (cursor repositioning / screen redraws) that force scroll-to-bottom regardless of terminal configuration. This is not regular PTY output — it bypasses the terminal's no-output scroll behavior.
Expected Behavior
When the user has scrolled up to review previous output, Claude Code should not force the viewport back to the bottom. The terminal's scroll-to-bottom configuration should be respected.
Related
- ghostty-org/ghostty#10456 — Ghostty discussion confirming this is a Claude Code issue, not terminal-side
- #35208 — Related scroll-to-bottom issue on edit acceptance
Environment
- Claude Code CLI (latest)
- macOS (Darwin 25.3.0, Apple M4 Pro)
- Tested in: Ghostty (tip channel), iTerm2, Terminal.app
4 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Also hitting this on Ghostty (macOS). Can confirm
scroll-to-bottom = no-output, no-keystrokehas zero effect — the root cause is Ink's cursor-repositioning escape sequences, not regular PTY output, so terminal-side config can't help.This is a duplicate of #33814 (the canonical issue with 27+ comments). Adding my +1 there as well. Linking so this doesn't get auto-closed without a trail — the Ghostty-specific detail about why terminal config doesn't work is useful context for the fix.
Tested on macOS Tahoe, M4 Pro, Ghostty — no more viewport being yanked to the bottom during streaming or TUI redraws. You can actually scroll up and read now.
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.