Feature request: keybinding actions to jump between user messages in the chat scroll view

Open 💬 0 comments Opened Jul 5, 2026 by yscheef

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.
  • nextUserMessage past the final user message scrolls to bottom and reattaches to live auto-scroll, same as reaching the bottom via scroll:bottom today.
  • No default keys needed; being bindable via ~/.claude/keybindings.json is enough (e.g. pageup/pagedown or [/]).

Environment

  • Claude Code 2.1.201, macOS (iTerm2)

View original on GitHub ↗