Skip to content

Keyboard Shortcuts ​

This page covers GUI thread navigation, followed by TUI shortcuts grouped by context: general input, mode switching, editing, streaming, tool output, approval panels, and help navigation. In the TUI, type /help to browse command usage, descriptions, support status, and input shortcuts.

Desktop and web thread navigation ​

In the GUI, open Settings → Shortcuts to rebind Next running thread and Previous running thread. The defaults are Ctrl-Tab and Ctrl-Shift-Tab, respectively. Browsers own these tab-switching chords; choose different bindings to use the actions on the web. Existing custom bindings remain unchanged. If a custom binding already uses Ctrl-Shift-Tab, the new previous-thread action stays unbound until you assign a free chord.

These actions cycle through running sessions already loaded in the current window's session list, within its connection and fetched workspace/archive scope. They use creation time, newest first, rather than pin order or recent updates. From a thread outside that set, Next enters the first running thread and Previous enters the last. With no running threads they do nothing; with one, they stay on it.

A running session has an active main or subagent turn, or background work. A pending approval/question alone, unread output, or a pinned session does not make it running. A session that still has running work remains eligible even if it also needs your input.

Switching conversations through these shortcuts, the sidebar, or the quick switcher focuses the current editable composer once it is ready. Drafts and unchanged draft selections are retained without scrolling the transcript to the composer. Open dialogs and terminal input keep their focus; ordinary Tab, Shift-Tab and IME text input keep their usual behavior.

General Shortcuts ​

The following keys are always available in the input box:

ShortcutFunction
EnterSubmit the current input
Shift-Enter / Ctrl-JInsert a newline in the input
↑ / ↓Browse input history
EscClose a popup / cancel completion / interrupt streaming output or context compaction
Ctrl-CInterrupt the current streaming output, or clear the input box
Ctrl-DExit Kiki when the input box is empty
Ctrl-TExpand or collapse the todo list when it is truncated

During streaming, Ctrl-C clears a nonempty draft first. With the input box empty, it interrupts the active turn without a second confirmation.

Exiting the program (pressing Ctrl-C with an empty input box, or pressing Ctrl-D) uses a double-press confirmation mechanism: after the first press, a prompt appears in the status bar; a second press of the same key actually exits. Pressing any other key in between clears the confirmation state.

Mode Switching ​

ShortcutFunction
Shift-TabToggle Plan mode
!Enter shell mode (in an empty input box)

Press Shift-Tab to enable or disable Plan mode. When enabled, the Agent prioritizes read-only tools for research and planning and can write to the current plan file; Bash is subject to the current permission mode and regular rules, without any additional separate approval triggered by Plan mode. Simply toggling does not create an empty plan file. Press Shift-Tab again to exit Plan mode.

Type ! in an empty input box to enter shell mode and run terminal commands directly. See Interaction and input.

Input & Editing ​

ShortcutFunction
Ctrl-GEdit the current input in an external editor
Ctrl-VPaste an image or video from the clipboard (Unix / macOS)
Alt-VPaste an image or video from the clipboard (Windows)
Ctrl--Undo input edits, including a draft cleared with Ctrl-C

Use /undo to undo the last conversation turn; Ctrl-- only edits the input box.

Pressing Ctrl-G opens an external editor, selected according to the following priority:

  1. The editor configured via the /editor command
  2. The $VISUAL environment variable
  3. The $EDITOR environment variable

After saving and exiting, the edited content replaces the input box; exiting without saving leaves the input unchanged.

When pasting an image or video, a placeholder is shown in the input box — the actual media data is sent to the model when the message is submitted. The system clipboard is read first; on Linux, Wayland and X11 are tried; on WSL, PowerShell is also used as a fallback to read the Windows clipboard.

During Streaming ​

While streaming output is active, the input box can still receive input and supports the following additional operations:

ShortcutFunction
EscInterrupt the current streaming output
Ctrl-CClear a nonempty draft first; interrupt the active turn when the input is empty
Ctrl-SSteer the running turn: send the queued messages and the current draft into it now instead of waiting for the turn to end
Ctrl-BMove the running turn to the background, leaving you free to queue the next instruction

Ctrl-S steers in queue order. Shell commands (! …) and inline Skill invocations are never steered in — they stay queued and run after the current turn, and everything queued behind such an item waits with them.

Both shortcuts are unavailable in the daemon TUI (kiki web), which reports them as disabled.

Tool Output ​

ShortcutFunction
Ctrl-OExpand or collapse tool output

When collapsed tool call results exist in the history, press Ctrl-O to toggle between collapsed and expanded views.

Approval Panel ​

When the Agent initiates a tool call that requires confirmation, the TUI displays an approval panel. For the full approval workflow, see Interaction & Input. The available keys inside the panel are:

ShortcutFunction
↑ / ↓Move the cursor between candidate options
EnterConfirm the currently selected option
1 ~ 9Directly select the option at the corresponding index
Esc / Ctrl-C / Ctrl-DReject the current request
Ctrl-EExpand or collapse the full content when the panel contains a diff or file preview
Ctrl-OToggle the collapsed state of other tool output

Options that require feedback (such as "Reject" or "Revise") switch to a feedback input state after confirmation: type the feedback text and press Enter to submit; press Esc to exit feedback input and return to the candidate list.

/help opens a scrollable reference in place of the input box. Command usage and descriptions wrap to fit the terminal width; closing it returns to the unchanged input draft. Use these keys inside the help panel:

ShortcutFunction
↑ / ↓Scroll one line at a time
PageUp / PageDownScroll 10 lines at a time
Esc / Enter / q / QClose the panel

Next steps ​

  • Slash Commands — Quick reference for built-in TUI control commands
  • kiki Command — Complete reference for startup flags and subcommands