[FEATURE] Add a setting to hide the "Jump to bottom" scroll hint
Problem Statement
In the classic (non-fullscreen) TUI, scrolling up renders a persistent hint line:
Jump to bottom: fn+↓ to scroll
There is no way to turn it off. I verified this on v2.1.239 (macOS) across every channel:
| Channel | Result |
|---|---|
| ~/.claude/settings.json | No showHint, scrollHint, or showScrollHint key exists. The nearest key, autoScrollEnabled, controls auto-follow behavior, not the hint's visibility. |
| CLAUDE_CODE_* env vars | Only CLAUDE_CODE_NO_FLICKER, CLAUDE_CODE_DISABLE_MOUSE, and CLAUDE_CODE_SCROLL_SPEED exist. None affect hints. |
| /config | No toggle. |
| Docs | settings-reference, terminal-config, interactive-mode, and fullscreen never mention it. |
| Binary strings | showHint, scrollHint, hintTop, and hintBottom are present in the compiled binary, but nothing reads a settings key or env var to gate them. |
So the internal plumbing already exists — it is simply not exposed.
Why this matters beyond taste:
- Narrow panes. In a 50-column pane the hint consumes a meaningful fraction of the usable width and overlays content.
- Copy correctness. The hint has previously injected itself into copied text when selecting while scrolled up (#45407, #46665). A setting to hide it would sidestep that class of bug entirely.
- Reduced-motion / low-distraction setups. Users who already set
prefersReducedMotion: true,spinnerTipsEnabled: false, andpromptSuggestionEnabled: falsehave deliberately stripped every other transient UI nudge. This one has no equivalent switch, which makes the set inconsistent.
Proposed Solution
Add a boolean to settings.json, defaulting to true so nothing changes for existing users:
{
"showScrollHints": false
}
It would sit naturally alongside the UI-suppression keys that already ship:
spinnerTipsEnabledpromptSuggestionEnabledshowTurnDurationprefersReducedMotion
When false, suppress the "Jump to bottom" hint line in classic mode and the equivalent button in fullscreen mode. Scrolling behavior itself would be untouched.
Alternative Solutions
| Alternative | Trade-off |
|---|---|
| A CLAUDE_CODE_HIDE_SCROLL_HINTS=1 env var | Works, but settings.json is the established home for persistent UI preferences. |
| Fold it into prefersReducedMotion | Fewer keys, but conflates motion with static chrome and would surprise users who want one and not the other. |
| Extend autoScrollEnabled to also hide the hint | Overloads a key whose current meaning is scroll behavior, not visibility. |
| Switch to tui: "fullscreen" | Replaces the text line with a clickable button rather than removing it, and changes how the entire interface renders. Not a fix for classic-mode users. |
| Patch the binary | Reverted on every claude update and breaks when the layout shifts. Not viable. |
Priority
Nice to have
Feature Category
Terminal UI / settings
Use Case Example
I run Claude Code in a fixed 50-column pane. Every column is load-bearing, and I have already disabled spinner tips, prompt suggestions, and motion. The scroll hint is the one remaining piece of transient chrome with no off switch, and it appears exactly when I am reading back through scrollback — the moment I least want the layout disturbed.
Additional Context
Prior related issues:
- #72847 — "Disable 'Jump to bottom' button option." Closed as
not planned, but it was filed under the model behavior template ("Claude modified files I didn't ask it to modify") and auto-closed by the bot for insufficient information. It was never evaluated as a feature request, so this is not a duplicate of a considered-and-declined decision. - #45407 / #46665 — the hint appearing inside copied text.
Verified on Claude Code v2.1.239, macOS 26.5.2 (build 25F84), classic TUI ("tui": "default").