Skip to content

Navigation Keys

KodaCode is easiest to learn if you think in terms of focus:

  • the transcript for reading and replaying work
  • the inspector for details, tools, and tasks
  • the composer for typing prompts
  • dialogs for sessions, models, trust, and detailed views

If you get lost, Ctrl+] returns focus to the transcript.

These work outside the composer and apply across the normal TUI:

KeyAction
Tab / Shift+TabCycle through available agents
1Focus the transcript
2Focus the inspector; in wide layout this also opens the drawer
3Focus the composer
4Also focuses the composer
Ctrl+]Return focus to the transcript
Ctrl+\Toggle the drawer
Ctrl+SOpen sessions
Ctrl+OAlso open sessions
Ctrl+NStart a new session
Ctrl+P or /Open the command palette
sToggle the session rail
iEnter insert mode and move focus to the composer
Ctrl+CQuit

When a turn is actively running, Esc requests cancellation.

Use the transcript when you want to read what happened, browse tool activity, or move across delegated work:

KeyAction
Left / RightMove the transcript text cursor by character
Up / DownScroll the transcript
PgUp / PgDnPage through the transcript
Ctrl+U / Ctrl+DAlso page up or down
Home / EndJump to the top or bottom
0 / $Jump to the start or end of the current transcript line
j / kMove between visible tool calls
{ / ]Move between visible handoffs
EnterOpen a selected child session
BackspaceReturn to the parent session
rReuse the selected handoff result
vStart visual transcript selection from the current text cursor
Left clickFocus the transcript, place the text cursor, and start visual selection

j and k are selection keys here, not scroll keys.

The inspector has three tabs: Details, Tools, and Tasks.

KeyAction
h / lMove left or right between inspector tabs
Left / RightAlso switch tabs
Up / DownScroll the inspector
PgUp / PgDnPage through the inspector
Ctrl+U / Ctrl+DAlso page up or down
Home / EndJump to the top or bottom of the inspector viewport
KeyAction
j / kMove between visible tool entries
EnterOpen the selected tool detail dialog
KeyAction
j / kMove between visible tasks
EnterOpen the selected task detail dialog

The composer is the prompt input area.

KeyAction
EnterSubmit the current prompt
Shift+EnterInsert a new line
UpRecall the previous prompt inline
DownMove forward through recalled prompts and restore the current draft when you reach the end
Ctrl+ROpen the searchable composer history popup
Ctrl+EOpen the current draft in $VISUAL, then $EDITOR, then vim
PgUp / PgDnScroll the transcript while staying in composer flow

Inline Up / Down recall is meant for normal single-line prompt recall. Once recall is active, Down walks back toward the current draft. For broader history search, use Ctrl+R or /history.

The composer keeps a fixed input viewport height. Longer drafts stay in the composer and scroll instead of expanding the pane indefinitely.

Composer prefixes:

PrefixAction
/Open slash-command completion when typed in the composer
@Search workspace paths and insert a focus-path token
$Search skills and insert a skill mention
!Run a one-line local shell command as a user action

Focus-path tokens are submitted as a Focus paths: block before the user request. Skill mentions select explicit skills for the turn.

Composer history, slash-command, skill, and path popups use:

KeyAction
Up / DownMove through popup entries
EnterApply the selected entry
EscClose the popup

The command palette, theme picker, sessions dialog, and provider dialog share the same basic navigation model.

KeyAction
Up / DownMove through entries
EnterOpen or apply the selected entry
EscClose the palette
Ctrl+RRefresh model catalog entries when available
KeyAction
Up / DownMove through list entries
Tab / Shift+TabMove between fields and buttons
Left / RightMove between buttons when button focus is active
EnterConfirm the current action
EscGo back or close

Extra shortcuts in specific dialogs:

  • Sessions list: Ctrl+D deletes the selected session.
  • Sessions list: Ctrl+P opens purge mode.
  • Provider list: Ctrl+D removes the selected provider.

Question prompts and permission prompts support both numeric shortcuts and vi-style movement.

KeyAction
Up / DownMove between choices
j / kAlso move between choices
EnterConfirm the current choice
1 through 9Quick-select question answers when those choices exist
1 through 5Quick-select permission or approval actions when those choices exist

The exact number of approval choices depends on the permission or execution request.

Tool detail, task detail, cost, and trace dialogs all use the same navigation:

KeyAction
q, Esc, or Ctrl+CClose the dialog
Up / DownScroll line by line
j / kAlso scroll line by line
PgUp / PgDnPage up or down
Ctrl+U / Ctrl+DAlso page up or down
g / GJump to the top or bottom
Home / EndAlso jump to the top or bottom

This is the first-run prompt that asks what should be trusted before the main TUI opens.

KeyAction
Up / DownMove between trust rows
j / kAlso move between trust rows
Tab / Shift+TabAlso move between trust rows
Space or xToggle the current trust row
EnterContinue
Esc or Ctrl+CCancel and quit

This is the in-app trust dialog opened from the command palette.

KeyAction
Up / DownMove between trust entries
j / kAlso move between trust entries
g / GJump to the first or last entry
Home / EndAlso jump to the first or last entry
rRevoke the selected trust entry
aRevoke workspace trust
ARevoke all trust
Enter or yConfirm a revoke action
Esc or nCancel a revoke action
q or Ctrl+CClose the dialog

KodaCode uses the system clipboard for all copy and paste operations. There is no internal clipboard. Text copied inside KodaCode is immediately available to other applications, and text copied outside KodaCode can be pasted into the composer.

Transcript copy works from the transcript content layer, so copied text excludes TUI borders, rails, and panel chrome.

Start a selection in either of these ways:

  • Press v while the transcript is focused to begin selection at the current text cursor position.
  • Left-click inside the transcript to place the cursor and immediately enter selection mode.

While visual selection is active:

KeyAction
yCopy the selection to the system clipboard
Esc or vCancel visual selection
Left / Right or h / lExtend the selection endpoint by character
Up / Down or j / kExtend the selection endpoint by line
PgUp / PgDn or Ctrl+U / Ctrl+DPage the selection endpoint up or down
Home / End or g / GJump the selection endpoint to the top or bottom
0 / $Jump the selection endpoint to the start or end of the current line
Left clickMove the selection endpoint to the clicked position

A second click inside the transcript extends or resets the selection endpoint at the clicked position.

KeyAction
Ctrl+VPaste from the system clipboard at the current cursor position

Paste works in the composer only. Short text is inserted at the cursor; the composer wraps long content automatically. Pasted text with at least two newlines is stored behind a compact [Pasted text #N +M lines] token and expanded again when you submit the turn. Pasting a path to a PNG, JPEG, GIF, or WebP file creates an image attachment token instead of inserting the path. Longer drafts stay in a fixed-height composer viewport and scroll in place.

PlatformRequirement
macOSUses pbcopy / pbpaste, available by default
Linux (Wayland)Requires wl-copy / wl-paste
Linux (X11)Requires xclip or xsel

Typing v in the composer inserts the character v; visual selection only activates when transcript focus is active.

If you prefer vi-style movement, these are the main bindings to remember:

  • h / l: switch inspector tabs
  • j / k: move through tools, tasks, trust rows, approvals, and transcript tool selections
  • g / G: jump to the top or bottom in detail and trust dialogs

One important limitation: the command palette itself uses arrow keys, not j / k.