Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Keybindings

Input

KeyAction
EnterSend message (or queue as next during inference; slash commands rejected mid-inference — press Esc first)
Ctrl+JQueue message as later during inference (slash commands rejected mid-inference — press Esc first)
Alt+EnterInsert newline (multi-line input)
TabAutocomplete slash commands and @file paths
Shift+TabCycle trust mode (Safe ↔ Auto)
↑ / ↓Cycle through input history (idle) · pop later queue into editor (during inference)
Ctrl+RReverse history search
Ctrl+UClear deferred (later) queue during inference
KeyAction
PgUp / PgDnScroll history one page up / down
HomeJump to top of history
EndJump to bottom (latest output)
Mouse scrollScroll conversation history

Session control

KeyAction
EscCancel current inference
Ctrl+CCancel current inference
Ctrl+DQuit koda

Editor (composer)

Deletion chords inside the input composer. The redundant variants exist so users coming from different terminals / OSes hit a working binding on the first try (ported from upstream codex in #1278 to match codex’s default keymap).

KeyAction
Backspace · Shift+Backspace · Ctrl+HDelete character before cursor
Delete · Shift+Delete · Ctrl+D¹Delete character after cursor
Alt+Backspace · Ctrl+Backspace · Ctrl+Shift+Backspace · Ctrl+WDelete word before cursor
Alt+Delete · Ctrl+Delete · Ctrl+Shift+DeleteDelete word after cursor

¹ Ctrl+D deletes a character only when the input has content; on an empty input it quits koda (see Session control above).

Approval prompt

These keys appear when the agent asks to execute a tool:

KeyAction
yApprove this action
nReject this action
aApprove and switch to auto mode (no more confirmations this session)
fReject and type written feedback explaining why
EscReject (same as n)

Vim mode

Toggle with /vim. Once enabled, the input composer behaves like a single-buffer vi.

Modes: Insert (default after toggle) ↔ Normal (Esc).

ModeKeysAction
Normali, a, o, O, I, ARe-enter Insert at various positions
Normalh j k lMove cursor left/down/up/right
Normalw, b, eWord forward / back / end-of-word
Normal0, ^, $Beginning of line / first non-blank / end of line
Normalgg, GJump to first / last line
Normalx, dd, yy, p, PDelete char / line · yank line · paste after / before
Normalcc, ci<delim>, ca<delim>Change line / inside / around delimiter
Normaldw, db, de, d$, d0Delete by motion
Normalu, Ctrl+RUndo · Redo
Normal:(Reserved — no commands wired yet)

Caveat: Vim mode is per-session and the slash command toggles it on/off; it does not persist across koda restarts. The setting also does not affect Approval-prompt keys above (those remain y/n/a/f/Esc).

Composer key hints

A single-line footer below the input shows context-sensitive key hints (e.g. Enter send · Alt+Enter newline · Tab complete). The hints update based on whether the input is empty, has content, has an active dropdown, or is in vim mode. Added in v0.2.27 (#1183).