Skip to content

Keyboard Shortcuts

Index page (/)

Page scrolling (vim-style)

Same vim-style shortcuts work on all pages when focus is not in an input, textarea, or contenteditable element.

ShortcutAction
jScroll down 300px
kScroll up 300px
g gScroll to top of page
G (Shift+G)Scroll to bottom of page
EscapeBlur the active input so j/k navigation works

Index commands

ShortcutContextAction
⌘K / Ctrl+KPage-levelOpen search/sessions palette
⌘⇧L / Ctrl+Shift+LPage-levelToggle system theme (light/dark)
EscapePage-levelClose palette, menu, or modal
EnterNew-session path inputCreate new session

⌘K / Ctrl+K is also Chrome's "focus address bar" shortcut. The browser may intercept it unless focus is inside a text input.

Session detail page (/session?id=...)

Page scrolling (vim-style)

These work on both index and session pages when focus is not in an input, textarea, or contenteditable element.

ShortcutAction
jScroll down 300px
kScroll up 300px
g gScroll to top of page
G (Shift+G)Scroll to bottom of page
I (Shift+I)Focus the chat composer textarea
EscapeBlur the active input so j/k navigation works
ShortcutContextAction
⌘B / Ctrl+BPage-levelToggle sidebar visibility
⌘K / Ctrl+KPage-levelOpen session list palette
⌘T / Ctrl+TPage-levelNew session
⌘⇧L / Ctrl+Shift+LPage-levelToggle system theme (light/dark)
⌘⇧N / Ctrl+Shift+NPage-levelToggle scratchpad / notes sidebar

⌘K and ⌘T are also browser shortcuts (focus address bar / new tab). The browser may intercept them unless focus is inside a text input.

Chat composer

ShortcutContextAction
EnterChat textareaSubmit message
Shift+EnterChat textareaInsert newline
Shift+TabChat textareaCycle to next thinking level (offminimal → … → xhighoff)
Ctrl+I / Ctrl+LChat textareaOpen model selector popup (type to filter, Enter to select, focus returns to textarea)

Entry visibility toggles

ShortcutContextAction
tWhen focus is not in an input/textareaToggle thinking visibility
oWhen focus is not in an input/textareaToggle tools visibility
pWhen focus is not in an input/textareaToggle tool outputs

Palettes, menus & sheets

ShortcutContextAction
EscapePage-levelClose any open palette, menu, or sheet
⌘K / Ctrl+KPage-levelOpen session list palette
ArrowUp / ArrowDownSession list paletteNavigate session results
EnterSession list paletteOpen the selected (or first) session
ArrowUp / ArrowDownModel selector popupNavigate model list
EnterModel selector popupSelect highlighted model
ArrowUp / ArrowDownFork modalNavigate messages
EnterFork modalFork from highlighted message
TabFull-screen sheetCycle focus within the sheet
EscapeFull-screen sheetClose the sheet

pi-web is a community pi package — not official, and not affiliated with pi itself. Released under the MIT License.