[FEATURE] Decouple scroll area from input bar — keep input pinned while reviewing output
Problem Statement
When reading a long Claude Code response in the terminal, scrolling up to review earlier parts of the output moves the input bar out of view. This makes it impossible to annotate or draft follow-up prompts while reading — you must finish reading, scroll back down, and rely on memory to compose your response.
This breaks a natural workflow: reading a response incrementally and jotting down notes or questions as you go, the same way you would annotate a document while reading it.
Proposed Solution
The input bar should remain fixed/pinned at the bottom of the terminal viewport while the conversation history scrolls independently above it. This is the standard pattern in virtually all chat applications (Slack, Discord, iMessage, web-based Claude) and would feel immediately familiar.
Alternative Solutions
- Pressing
EscorCmd+Endto jump back to the input — but this loses scroll position and breaks the reading flow. - Using terminal split panes (e.g., Ghostty
Cmd+D) — cumbersome workaround that shouldn't be necessary. - Copy-pasting output to an external editor for annotation — defeats the purpose of an integrated CLI tool.
Priority
Medium — Would be very helpful
Category
Interactive mode (TUI)
Use Case Example
- I ask Claude Code to review a large file or generate a complex implementation
- The response is 200+ lines long
- I start scrolling up to read from the beginning
- At line 40, I notice something worth commenting on — but the input bar is off-screen
- I have to scroll all the way back down, type my note, then find my place again
- With a pinned input bar, I could type my follow-up immediately without losing context
Additional Context
Related issues: #33196 (closed as duplicate), #10645 (open, scroll-input binding bug). This request focuses specifically on the annotation workflow — being able to compose input while reviewing output — rather than just input bar visibility.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗