Feature request: keybinding actions to jump between user messages in the chat scroll view
Feature description
Add keybinding actions to jump the chat/transcript viewport between user messages, for example:
scroll:previousUserMessage(jump viewport to the previous user prompt)scroll:nextUserMessage(jump viewport to the next user prompt; jumping past the last one reattaches to the live tail / auto-scroll)
Motivation
In long sessions, user prompts are the natural landmarks of the conversation. Today the Scroll context only offers line/page/half-page/top/bottom movements (scroll:pageUp, scroll:fullPageDown, etc.), so getting back to "what did I ask three prompts ago" means blind paging through long tool output and assistant responses.
Per-message navigation would make reviewing a session dramatically faster. It also composes well with hardware: mouse side buttons or extra keys can be mapped to a keystroke, so with these actions a mouse's back/forward buttons could step through one's own prompts (this is the concrete setup I tried to build and got stuck on).
The Esc Esc rewind selector already navigates per user message, so the message anchors exist internally; this request is only about exposing viewport navigation to the keybinding system, with no rewind semantics.
Proposed behavior
- In the Chat scroll view (and Ctrl+O transcript view), jump the viewport so the previous/next user message is at the top.
nextUserMessagepast the final user message scrolls to bottom and reattaches to live auto-scroll, same as reaching the bottom viascroll:bottomtoday.- No default keys needed; being bindable via
~/.claude/keybindings.jsonis enough (e.g.pageup/pagedownor[/]).
Environment
- Claude Code 2.1.201, macOS (iTerm2)