Keyboard shortcuts

Vim-style navigation for the web review UI and plan page.

Multi-key sequences use an 800 ms buffer. A vim-style status bar shows NORMAL / INSERT; single-key shortcuts are disabled while typing in inputs.

Scrolling & diffs

KeyAction
j / kScroll down / up (100px)
Ctrl+d / Ctrl+uHalf-page down / up
g gJump to top
GJump to bottom
mToggle split / unified
tCycle tab size (2 → 4 → 8)
wToggle line wrap
nToggle line numbers
iCycle diff indicators
ICycle inline diff type
Cmd+Shift+PToggle comment preview

Files & UI

KeyAction
J / KNext / previous file
vToggle file viewed
bToggle sidebar
/All-scope search
sSymbol search
g vFile browser
g tTheme picker
Cmd/Ctrl+KCommand palette
?Shortcuts help

Do not confuse: t is tab size, not themes. Themes open with g t.

Plan page (/plan)

KeyAction
mSource → Read → Split
zZen Read
eLive plan edit
⌘/Ctrl+SFlush autosave while editing
oOutline
cComments map
J / KNext / previous plan
EscDiscard / exit zen / dismiss composer

AI assistant

Ask AI is available on local diffs, PR review, plans, and mockups. Bare keys go through the vim-style buffer and do not fire while typing. ⌘/Ctrl+I is a chord and does work while an editor is focused (like ⌘K). Inside the rail, handled keys stop so global vim keys do not double-fire. Press ? to see the same list in the shortcuts modal.

All surfaces

KeyAction
aToggle Ask AI (open and focus composer; close if the composer is already focused)
⌘/Ctrl+ISame as a, including while typing
AOpen Ask AI with a new conversation
Enter / ⌘/Ctrl+EnterSend. Shift+Enter inserts a newline. Enter does not send while @ mentions or / actions are open
/Slash-command palette (empty composer only)
⌘/Ctrl+.Stop the running request
⌘/Ctrl+Shift+NNew conversation (rail)
⌘/Ctrl+[ / ⌘/Ctrl+]Previous / next conversation
⌘/Ctrl+1 2 3Run quick action 1 / 2 / 3
⌘/Ctrl+MOpen the inline model picker
⌘/Ctrl+Shift+ECycle reasoning effort (Auto → Low → Medium → High)
⌘/Ctrl+Shift+YCopy the last assistant response
⌘/Ctrl+Shift+EnterRetry the last failed / canceled request
⌘/Ctrl+UAttach an image
⌘/Ctrl+Shift+XClear the composer (⌘/Ctrl+Z undoes when empty)
⌘/Ctrl+Shift+FInsert @ to attach a file
EscClose Ask AI (closes the mention or slash palette first)
⌘/Ctrl+Shift+.Toggle “Context being shared”

Diff and PR only

KeyAction
g aAsk about the active file (@path in the composer)

Local diff only

KeyAction
⌘/Ctrl+Shift+AAdd the current line selection to Ask AI (opens the rail if there is no selection)

TUI

The experimental TUI has its own keymap (vim-style). See repository docs/cli.md §4d for the full TUI table while the site stays web-authoritative.