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. Esc does the same when no turn is running; when a turn is running, Esc requests cancellation instead.

KodaCode has two layouts. Shell view is the default single-plane terminal surface. Classic view keeps a persistent inspector side panel. See TUI Layouts for screenshots and layout-specific behavior.

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

Key Action
Tab / Shift+Tab Cycle through available agents
1 Focus the transcript
2 Focus the inspector; in wide layout this also opens the drawer
3 Focus the composer
4 Also focuses the composer
Ctrl+] Return focus to the transcript
Ctrl+L Toggle between classic and shell layout and persist the selection
Ctrl+\ Toggle the drawer in shell view; focus or open the side panel in classic view
Ctrl+S Open sessions
Ctrl+O Also open sessions
Ctrl+N Start a new session
Ctrl+P or / Open the command palette
s Open sessions
i Enter insert mode and move focus to the composer
Ctrl+C Quit

When a turn is actively running, Esc requests cancellation. Otherwise, Esc leaves insert/select focus and returns to normal transcript mode.

Use the transcript when you want to read what happened and browse tool activity:

Key Action
Left / Right or h / l Move the transcript text cursor by character
Up / Down Scroll the transcript
PgUp / PgDn Page through the transcript
Ctrl+U / Ctrl+D Also page up or down
Home / End Jump to the top or bottom
0 / $ Jump to the start or end of the current transcript line
j / k Move between visible tool calls
Enter Open a selected child session; in shell view with inline tools visible, expand or collapse the selected tool first
Backspace Return to the parent session
v Start visual transcript selection from the current text cursor
Left click Focus 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.

Key Action
h / l Move left or right between inspector tabs
Left / Right Also switch tabs
Up / Down Scroll the inspector
PgUp / PgDn Page through the inspector
K / J Also page up or down
Home / End Jump to the top or bottom of the inspector viewport
Key Action
j / k Move between visible tool entries
Enter Open the selected tool detail dialog
Key Action
j / k Move between visible tasks
Enter Open the selected task detail dialog

Shell view uses a popup for session tool navigation instead of a persistent tools sidebar. Open it from normal transcript mode with t, or from either insert or normal mode with Ctrl+T.

Key Action
j / k or Up / Down Move through tool calls
PgUp / PgDn or Ctrl+U / Ctrl+D Page through tool calls
g / G or Home / End Jump to the first or last tool call
/ or typed text Start searching tool calls
Enter Open details for the selected tool call
q or Esc Close the popup

While search is active:

Key Action
Typed text Extend the search query
Backspace or Ctrl+H Delete the previous search character
Ctrl+U Clear the search query
Esc Leave search and keep the popup open
Enter Open details for the selected tool call

Inline shell tool rows are toggled with T from normal mode. Transcript j / k skips mutation rows such as writes and patches when selecting tools.

The composer is the prompt input area.

Key Action
Enter Submit the current prompt
Shift+Enter Insert a new line
Up Recall the previous prompt inline
Down Move forward through recalled prompts and restore the current draft when you reach the end
Ctrl+R Open the searchable composer history popup
Ctrl+E Open the current draft in $VISUAL, then $EDITOR, then vim
PgUp / PgDn Scroll 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:

Prefix Action
/ 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:

Key Action
Up / Down Move through popup entries
Enter Apply the selected entry
Esc Close the popup

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

Key Action
Up / Down Move through entries
Enter Open or apply the selected entry
Esc Close the palette
Ctrl+R Refresh model catalog entries when available
Key Action
Up / Down Move through list entries
Tab / Shift+Tab Move between fields and buttons
Left / Right Move between buttons when button focus is active
Enter Confirm the current action
Esc Go back or close

Extra shortcuts in specific dialogs:

  • Sessions list: select a session and press Enter to open it.
  • Timeline: Enter opens a related branch row or branches from the selected completed turn.
  • Timeline: b branches from the selected completed turn.
  • Timeline: t opens trace for the selected turn.
  • Timeline branch rows show tree glyphs and selected-row previews.
  • Timeline: s explicitly generates or reuses a utility-model branch summary for the selected child branch row.
  • Timeline: / searches timeline rows.
  • Timeline: f cycles filters; 1 through 5 select all, completed, failed, with tools, and branches.
  • Timeline: Space, Left, and Right fold or unfold nested branch sessions.
  • Timeline: e edits the selected branch session label.
  • Provider list: Ctrl+D removes the selected provider.

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

Key Action
Up / Down Move between choices
j / k Also move between choices
Enter Confirm the current choice
1 through 9 Quick-select question answers when those choices exist
1 through 5 Quick-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:

Key Action
q or Esc Close the dialog
Up / Down Scroll line by line
j / k Also scroll line by line
PgUp / PgDn Page up or down
Ctrl+U / Ctrl+D Also page up or down
g / G Jump to the top or bottom
Home / End Also jump to the top or bottom

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

Key Action
Up / Down Move between trust rows
j / k Also move between trust rows
Tab / Shift+Tab Also move between trust rows
Space or x Toggle the current trust row
Enter Continue
Esc or Ctrl+C Cancel and quit

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

Key Action
Up / Down Move between trust entries
j / k Also move between trust entries
g / G Jump to the first or last entry
Home / End Also jump to the first or last entry
r Revoke the selected trust entry
a Revoke workspace trust
A Revoke all trust
Enter or y Confirm a revoke action
Esc or n Cancel a revoke action
q or Esc Close 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:

Key Action
y Copy the selection to the system clipboard
Esc or v Cancel visual selection
Left / Right or h / l Extend the selection endpoint by character
Up / Down or j / k Extend the selection endpoint by line
PgUp / PgDn or Ctrl+U / Ctrl+D Page the selection endpoint up or down
Home / End or g / G Jump the selection endpoint to the top or bottom
0 / $ Jump the selection endpoint to the start or end of the current line
Left click Move the selection endpoint to the clicked position

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

Key Action
Ctrl+V Paste 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.

Platform Requirement
macOS Uses 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, shell tool popup rows, 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.