Skip to main content
Press ? at any time in the TUI to open the help overlay, which dynamically reflects any custom bindings you’ve configured.
KeyAction
j / kMove cursor down / up
J / KScroll diff down / up (from any pane)
Ctrl+d / Ctrl+uScroll diff half a page down / up (from any pane)
g / GJump to top / bottom
h / lScroll diff left / right
H / LScroll diff left / right (from any pane)
0Scroll to column 0 (from any pane)
^Scroll to first non-whitespace character (from any pane)
$Scroll to end of line (from any pane)
[ / ]Previous / next file (from any pane)
{ / }Previous / next sidebar section (from any pane)

Pane control

KeyAction
EnterFocus the diff pane / toggle directory expansion
TabSwitch focus between panes
\Toggle sidebar visibility
1 / 2Jump directly to pane 1 (sidebar) or pane 2 (diff)

View options

KeyAction
wToggle line wrapping (session only)
fToggle flat / tree file list view (session only)
z / eCollapse / expand all directories (tree view)
tCycle diff style: unified → split → file (from any pane, session only)
TCycle layout: auto → side-by-side → stacked (session only)
FToggle focus mode — hides the sidebar and enables line wrap
Keys that change view settings (T, t, w, f) apply to the current session only. Edit your config file to persist preferences. See Configuration.

Comments

KeyAction
cAdd a comment at the cursor line. If the cursor is on an existing comment, opens it for editing.
sOpen the comment editor pre-filled with a GitHub-style suggestion block containing the current line.
CAdd a file-level comment (not tied to a specific line).
vEnter visual selection mode to select a line range before commenting.
xToggle the resolved state of the comment under the cursor. Resolved comments are excluded from submitted reviews.
dDelete the comment under the cursor.

Review actions

KeyAction
rToggle the current file as reviewed. Auto-advances to the next unreviewed file.
/Cycle the sidebar filter: all → unreviewed → reviewed.
S / :submitSubmit your review. Formats all comments and queues them for delivery.
P / :pauseSend a pause notification to the agent. The agent blocks until you submit your review. Requires MCP channel support (Claude Code only).
D / :clearClear the review — removes all comments, plans, and reviewed states.
bOpen the ref picker to change the base commit or branch for comparison.
RForce-reload all files from disk.

Session commands

Run these in command mode (type : to enter it):
CommandAction
:submitSubmit your review (same as S).
:pausePause the agent (same as P).
:clearClear the review (same as D).
:historyView past review submissions from the current session.
:mark-all-reviewedMark every file in the sidebar as reviewed.
:mark-all-unreviewedMark every file in the sidebar as unreviewed.
:discardDiscard all pending (unsaved) comments.

Info and clipboard

KeyAction
IShow connection info: current socket path and subscriber count.
?Open the help overlay. Reflects your custom keybindings.
Ctrl+gOpen the current comment or submit text in your $VISUAL / $EDITOR. Save and quit to bring the text back.
Ctrl+yIn the submit modal, copy the formatted review to your clipboard without submitting.

Comment editor keybindings

The comment editor uses standard Emacs-style shortcuts.

Cursor movement

KeyAction
/ or Ctrl+B / Ctrl+FMove cursor left / right
/ or Ctrl+P / Ctrl+NMove cursor up / down (multiline)
Home / Ctrl+AJump to first non-whitespace, then to start of line
End / Ctrl+EJump to end of line

Word movement

KeyAction
Alt+← or Alt+BMove back one word
Alt+→ or Alt+FMove forward one word

Delete and kill

KeyAction
Ctrl+D or DeleteDelete character at cursor
Ctrl+KKill to end of line
Ctrl+UKill to start of line
Ctrl+W or Alt+BackspaceDelete word before cursor
Alt+DDelete word after cursor

Editor actions

KeyAction
Shift+Enter or Alt+EnterInsert a newline
Ctrl+GOpen the comment text in your $VISUAL / $EDITOR
TabCycle the comment type: issue → suggestion → note → praise
EnterSave the comment
EscCancel and discard changes

Custom keybindings

You can override any action key in your config file. Map the action name to a new key string:
{
  "keybindings": {
    "quit": "Q",
    "submit": "ctrl+s",
    "scroll_down": "ctrl+j"
  }
}
The ? help overlay dynamically reflects your custom bindings.
Modal keys — Enter, Esc, and Tab inside overlays — are not configurable. Comment editor keybindings are also fixed.
For the full list of configurable action names, see the Configuration reference.

Configuration reference

Full config schema including all action names for custom keybindings.

The review loop

How to use keybindings in a full review workflow.

Build docs developers (and LLMs) love