kimi-code/docs/en/reference/keyboard.md
liruifengv ec51324230
feat(tui): open undo selector on double-Esc (#1220)
* feat(tui): open undo selector on double-Esc

Pressing Esc twice while idle now opens the undo selector, equivalent to running /undo with no arguments. Esc during streaming, compaction, or with a popup open keeps its cancel/close behavior and does not arm the double-press.

* fix(tui): disarm double-Esc undo on any intervening key

A pending double-Esc was only cleared by text changes, so a sequence like Esc, Ctrl-C, Esc within the window still opened the undo selector. Fire an onNonEscapeInput hook for every non-Escape key and clear the pending state there, so the shortcut only triggers for two consecutive Escape presses.
2026-06-30 15:42:27 +08:00

5.1 KiB

Keyboard Shortcuts

Kimi Code CLI's TUI interactive mode supports a set of keyboard shortcuts. The shortcuts are organized into five groups by usage context: general input, mode switching, during streaming, tool output control, the approval panel, and popup navigation. Type /help in the TUI at any time to open the built-in shortcut reference.

General Shortcuts

The following keys are always available in the input box:

Shortcut Function
Enter Submit the current input
Shift-Enter / Ctrl-J Insert a newline in the input
/ Browse input history
Esc Close a popup / cancel completion / interrupt streaming output or context compaction
Ctrl-C Interrupt the current streaming output, or clear the input box
Ctrl-D Exit Kimi Code CLI when the input box is empty
Ctrl-T Expand or collapse the todo list when it is truncated

Pressing Ctrl-C during streaming cancels immediately — no second confirmation needed.

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

Shortcut Function
Shift-Tab Toggle 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; while a command is running, press Ctrl+B to move it to a background task. See Interaction and input.

Input & Editing

Shortcut Function
Ctrl-G Edit the current input in an external editor
Ctrl-V Paste an image or video from the clipboard (Unix / macOS)
Alt-V Paste an image or video from the clipboard (Windows)
Ctrl-- Undo
Esc Esc Open the undo selector (double-press while idle)

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:

Shortcut Function
Ctrl-S Steer: inject the current input directly into the running turn
Esc Interrupt the current streaming output
Ctrl-C Interrupt the current streaming output

Pressing Ctrl-S causes the model to see your message at the next interruptible point, without waiting for the current turn to finish.

Tool Output

Shortcut Function
Ctrl-O Expand 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:

Shortcut Function
/ Move the cursor between candidate options
Enter Confirm the currently selected option
1 ~ 9 Directly select the option at the corresponding index
Esc / Ctrl-C / Ctrl-D Reject the current request
Ctrl-E Expand or collapse the full content when the panel contains a diff or file preview
Ctrl-O Toggle 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.

Popup Mode

After opening the help panel with /help, use the following keys to navigate and close it:

Shortcut Function
/ Scroll one line at a time
PageUp / PageDown Scroll 10 lines at a time
Esc / Enter / q / Q Close the panel

Next steps

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