Skip to content

Keybindings & cursor mode

A reference for every key kin binds — in the composer, globally, in cursor (browse) mode, and inside the modals. Press F1 in the app for the same map as an overlay.

Composer keys

The composer is a multi-line text field. Sending is the dominant action, so Enter sends and Shift+Enter inserts a newline.

Key Action
Enter Send the message (queues if a turn is already running)
Shift+Enter Insert a newline for multi-line editing
Ctrl+S Send (an alias of Enter for muscle memory)
/ Open the slash-command menu
@ Open the file-mention picker
!<command> Run <command> in a real shell instead of sending it to the model — see the tip below

! shell passthrough

!git status (or any shell command) runs immediately in your shell — no model turn involved. The output shows up right in the transcript, and a summary (command + exit code + output) rides into the model's context on your next turn, so it can react to what you just ran. Only works while kin is idle (a running turn or /compact refuses it with a notify); the command runs with your full environment (real credentials, so !gh pr list and !git push work) and is never something the model can trigger itself — only a literal ! you type. Bare ! with nothing after it is sent to the model as ordinary text. See docs/decisions/0075-shell-passthrough.md for the full design.

Tip

With the composer empty or on a single line, Up and Down recall your previous prompts. The recalled text replaces the buffer with the caret at the end; edits stay transient until you submit.

Ctrl+R: search your history

Ctrl+R opens a search overlay over the same history ↑/↓ recalls linearly — type to filter (substring, case-insensitive), Up / Down move the highlight, Enter copies the match into the composer, Esc closes without changing anything, and pressing Ctrl+R again while the overlay is open steps to the next-older match (readline muscle memory). The search is in-memory only for this session — nothing is written to disk. See Slash commands for the composer's other overlays.

Global keys

These work anywhere in the app (a few are suppressed while a modal owns the screen, so you can't, for example, flip mode behind an open approval prompt).

Key Action
Shift+Tab Toggle the permission mode: auto ↔ strict
Esc Interrupt the running turn; exit cursor mode
Esc Esc On an empty, idle composer (no turn running, no modal open): open the rewind picker — press again within ~1s of the first tap
Ctrl+B Enter cursor / browse mode (composer must be empty)
Ctrl+R Search your prompt history — type to filter, Up / Down move the highlight, Enter inserts, Esc closes, Ctrl+R again steps to the next-older match
Ctrl+N Expand or collapse all reasoning blocks
Ctrl+T Expand or collapse all tool calls
Ctrl+F Search the transcript — opens an overlay; type to filter, Up / Down or n / shift+n step, Enter jumps to a match, Esc closes
Ctrl+O Open the agent panel (bg shells / agents (fg + bg subagents) / tasks); press again or Esc to close
Ctrl+G Toggle the file-tree sidebar (also /tree)
Ctrl+J Expand or collapse the pinned todo panel (click the title too)
v (on the tree) Peek the focused file in a read-only viewer (also /view <path>)
++pageup++ / ++pagedown++ Scroll the transcript — or, with a modal open, that modal's own content (plan, help, proposal diffs)
Ctrl+Home / Ctrl+End Jump to the top / bottom of the same scroll surface
F1 Open the help overlay
Ctrl+C Quit kin

See Modes & permissions for what the Shift+Tab cycle changes.

Hover hints (tooltips)

Several chrome widgets advertise their function on hover so screen-reader users and the curious don't have to chase docs.

Widget Hover hint Opens
WorkflowCard (running) "click for the full run — /workflows" /workflows modal
BgAgentsBar "background agents — Ctrl+O for the panel" the agent panel
RetryNote "re-send the failed request" the redrive action
TopBar "context meter · model · git branch" — (informational)

The composer placeholder also surfaces a compact hint set: enter sends · shift+enter newline · / commands · @ files · f1 help — the same voice as the welcome banner's shortcut row and the idle status-bar hints.

Cursor / browse mode

Cursor mode lets you walk the transcript with the keyboard to read, copy, or expand individual items. Enter it from an empty composer with Ctrl+B (or Up once prompt history is exhausted) — the highlight lands on the last item. The composer must be empty; with text in it the key is left alone.

Key Action
Up / Down or j / k Move between transcript items
g / G Jump to the first / last item
y Copy the focused item to the clipboard
Tab Expand or collapse the focused item (reasoning / tool call)
Esc Exit cursor mode and return to the composer

Moving past the bottom returns you to the composer. Typing any other printable character drops you out of cursor mode and back into editing.

When the harness needs an answer it parks the turn and shows a modal. Each modal binds its own keys.

Modal Keys
Approval a or bare Enter allow once (the focused default) · s allow always (this session — the button names the covered scope) · d or Esc deny · n deny with a note (the note rides back to the model as the denial reason; esc closes the note first)
Confirm (e.g. /clear) y confirm · n or Esc cancel · bare Enter cancels too (Cancel is the focused default — confirming a destructive action is always explicit)
Question (single-select) Up / Down select · Enter pick · Esc cancel
Question (multi-select) Space toggle · Enter or Submit · Esc cancel
Question (other / free text) type into the field · Enter submits
Plan Up / Down select · Enter choose · Esc keeps planning
Providers Up / Down pick provider · Up / Down model (when picker active) · Enter save · Esc cancel
Model picker (bare /model) Up / Down pick · f toggle favorite · Enter pick · Esc cancel
MCP manager (/mcp) a add · e or Enter edit · d / x enable-disable · t test · Del remove · Ctrl+S save · Esc cancel
Effort picker (bare /effort) Up / Down pick · Enter pick · Esc cancel
Config hub (/config) Up / Down select · v view current (singletons) · Enter edit · Esc cancel
Proposal (artifact-edit diff, /settings change) a or Enter apply · d or Esc reject
Workflows (/workflows) Up / Down pick a run · Esc close
Grants Up / Down select · d arms a revoke · y confirm · n / Esc cancel
Resume picker Up / Down select · Enter resume · Esc cancel
Rewind picker (double-Esc) Up / Down select · Enter picks a turn, then a scope · Esc cancels (either stage)
Agent panel Tab cycle the focused pane (shells → agents → tasks) · x kill / dismiss (works on running fg rows too) · o open raw buffered output · Enter open the agent's rich transcript (TranscriptModal — falls through to read-only output for shell/task rows) · Esc close
Help Esc or F1 close
Read-only viewer (file peek / agent output) Esc or q close
Transcript modal (agent transcript peek) Esc or q close

The approval modal's s ("always") remembers the call's signature for the rest of the session, so calls that match it stop prompting — review and revoke those with /grants. Permission decisions are covered in Modes & permissions.