Feature: navigate/jump to previous user prompts in the current conversation (without terminal scrollback)

Status Open
Maintainer reply None cached
Activity 3 comments · opened May 30, 2026

Problem

In the default (classic) terminal view there's no quick way to jump back to a message I typed earlier in the current conversation. The only option is scrolling the terminal's native scrollback, which is slow and imprecise in long sessions.

Current state

  • Ctrl+O transcript mode (with / search and n/N to move between matches) helps, but only works in fullscreen rendering (/tui fullscreen).
  • In the default renderer there's no bindable action or message picker to jump between user prompts, and ~/.claude/keybindings.json doesn't expose a 'previous/next user message' action for the main conversation (the messageSelector:* actions are scoped to the rewind/summarize dialog).

Request

Add a way to navigate between the user's previous prompts in the current conversation without relying on terminal scrollback — for example a message picker (similar to the rewind/summarize selector) or bindable previousUserMessage / nextUserMessage actions — available in the default renderer, not only in fullscreen mode.

Environment

Claude Code in Ghostty on macOS.

View original on GitHub ↗

3 Comments

scorpionishe · 2 months ago

+1 — same need. Requesting bindable previousUserMessage/nextUserMessage (or Ctrl+Up/Ctrl+Down) in the default renderer and the VS Code extension, not only the Ctrl+O fullscreen transcript where {/} already jump between prompts.

JaimeOrtegaxyz · 1 month ago

+1 — my exact workflow too. In long sessions I end up mouse-wheeling back through huge output blocks just to find where my last prompt was, so I can re-read Claude's answer from the top before replying.

Ctrl+O then {/} (added in 2.1.139 — thanks!) covers this in transcript view, but the round-trip (switch view, jump, read, exit) is heavy for something I do dozens of times a day in the default renderer.

A shape that would feel consistent with the existing bindings: PgUp/PgDn already scroll by page and Ctrl+End jumps to the bottom — so Ctrl+PgUp/Ctrl+PgDn jumping to the previous/next user prompt would slot right in. Exposing it as bindable actions (e.g. scroll:previousUserMessage / scroll:nextUserMessage) in keybindings.json would let everyone put it wherever they like.

noahp-info · 21 days ago

+1 — and a correction to the earlier comments, since it may be making this look partly addressed.

On 2.1.220 there is no {/} prompt-jump in Ctrl+O transcript view. The Transcript context binds only scroll actions (ctrl+u/ctrl+d half-page, ctrl+b/ctrl+f full-page, g/shift+g, j/k, space/b, home/end, ctrl+e toggleShowAll, q/esc exit), and the keybindings action enum contains no message- or turn-boundary navigation action anywhere — the closest are scroll:* (page/line/top/bottom) and messageSelector:*, which is scoped to the rewind dialog and rewinds rather than scrolls.

So there is currently nothing bindable in ~/.claude/keybindings.json for this, in either renderer. The concrete ask stands: add scroll:previousUserMessage / scroll:nextUserMessage actions available in the Scroll context, so Ctrl+PgUp/Ctrl+PgDn can slot in next to the existing PgUp/PgDn and Ctrl+End bindings.

Use case: after a long turn, jumping to my last prompt is the natural way to read everything new from the top.