Kimi Code CLI Keyboard Shortcuts
Keyboard shortcuts for Kimi Code CLI, Moonshot AI's terminal coding agent, on MacWindowsLinux. Launched with kimi. Its standout key is Ctrl + S — you can steer the model while it's still answering, which none of the other terminal agents do. Built from Moonshot's official keyboard reference.
Starting & Core Keys
| Action | Shortcut |
|---|---|
| Install (official script) | curl -fsSL https://code.kimi.com/kimi-code/install.sh | bashirm https://code.kimi.com/kimi-code/install.ps1 | iexcurl -fsSL https://code.kimi.com/kimi-code/install.sh | bash |
| Install with npm (needs Node 22.19+) | npm install -g @moonshot-ai/kimi-codenpm install -g @moonshot-ai/kimi-codenpm install -g @moonshot-ai/kimi-code |
| Start Kimi Code in the current project | kimikimikimi |
| Send the current message | EnterEnterEnter |
| Insert a new line without sending | ShiftEnterShiftEnterShiftEnter |
| Insert a new line (works in every terminal) | CtrlJCtrlJCtrlJ |
| Exit Kimi Code (press twice to confirm) | CtrlDCtrlDCtrlD |
| Interrupt the answer, or clear the input box | CtrlCCtrlCCtrlC |
| Browse your input history (empty input box) | ↑↓↑↓↑↓ |
| Close a popup, cancel completion, or interrupt | EscEscEsc |
Plan Mode & Shell Mode
| Action | Shortcut |
|---|---|
| Toggle Plan mode (read-only research and planning) | ShiftTabShiftTabShiftTab |
| Enter shell mode to run a terminal command (empty input box) | !!! |
| Leave shell mode | EscEscEsc |
| Send a running shell command to the background | CtrlBCtrlBCtrlB |
| Clear the current plan (while idle) | /plan clear/plan clear/plan clear |
Steering While It Runs
| Action | Shortcut |
|---|---|
| Steer — inject your input into the turn already running | CtrlSCtrlSCtrlS |
| Interrupt the streaming answer | EscEscEsc |
| Expand or collapse tool output and summaries | CtrlOCtrlOCtrlO |
| Expand or collapse a truncated todo list | CtrlTCtrlTCtrlT |
Editing & Pasting
| Action | Shortcut |
|---|---|
| Compose in your external editor ($VISUAL / $EDITOR) | CtrlGCtrlGCtrlG |
| Paste an image or video from the clipboard | CtrlVAltVCtrlV |
| Undo in the input box | Ctrl-Ctrl-Ctrl- |
| Open the undo selector (double-press while idle) | EscEscEscEscEscEsc |
Approval Panel
| Action | Shortcut |
|---|---|
| Pick an option by number — the fastest way to approve | 1–91–91–9 |
| Move between the options | ↑↓↑↓↑↓ |
| Confirm the selected option | EnterEnterEnter |
| Reject the request | EscEscEsc |
| Expand or collapse the diff or preview | CtrlECtrlECtrlE |
Popups & Panels
| Action | Shortcut |
|---|---|
| Scroll one line | ↑↓↑↓↑↓ |
| Scroll ten lines | PageUpPageDownPageUpPageDownPageUpPageDown |
| Close the panel | QQQ |
| Open the built-in shortcut reference | /help/help/help |
Slash Commands — Session & Modes
| Action | Shortcut |
|---|---|
| Start a fresh session, discarding the current context | /new/new/new |
| Browse past sessions and restore one | /sessions/sessions/sessions |
| Fork a new session from the current one | /fork/fork/fork |
| Compact the conversation to free up context | /compact/compact/compact |
| Undo recent prompts from the active context | /undo/undo/undo |
| Toggle Plan mode from the prompt | /plan/plan/plan |
| Toggle YOLO mode (skip approval for regular tool calls) | /yolo/yolo/yolo |
| Toggle auto permission mode | /auto/auto/auto |
| Turn swarm mode on or off (parallel sub-agents) | /swarm/swarm/swarm |
| Browse the background task list | /tasks/tasks/tasks |
| Export the session as Markdown | /export-md/export-md/export-md |
| Copy the last assistant message to the clipboard | /copy/copy/copy |
| Add another workspace directory to the session | /add-dir/add-dir/add-dir |
| Open the current session in the web UI | /web/web/web |
| Analyze the codebase and generate AGENTS.md | /init/init/init |
| Exit Kimi Code CLI | /exit/exit/exit |
Slash Commands — Goals, Config & Info
| Action | Shortcut |
|---|---|
| Show the current autonomous goal and its status | /goal/goal/goal |
| Pause, resume, or cancel the active goal | /goal pause/goal pause/goal pause |
| Replace the saved goal with a new objective | /goal replace/goal replace/goal replace |
| Queue an upcoming goal for this session | /goal next/goal next/goal next |
| Ask a side question in a forked sub-agent | /btw/btw/btw |
| Switch the model used in this session | /model/model/model |
| Select a permission mode | /permission/permission/permission |
| Configure the external editor that Ctrl+G opens | /editor/editor/editor |
| Open the settings panel inside the TUI | /settings/settings/settings |
| Switch the terminal UI color theme | /theme/theme/theme |
| Show token usage, context consumption, and quota | /usage/usage/usage |
| Show the session's runtime state | /status/status/status |
| List MCP servers and their connection status | /mcp/mcp/mcp |
| Open the interactive plugin manager | /plugins/plugins/plugins |
| Import Claude Code and Codex instructions, skills, and MCP | /import-from-cc-codex/import-from-cc-codex/import-from-cc-codex |
| Log in, or switch account and platform | /login/login/login |
No shortcuts found. Try a different search term.
Frequently Asked Questions
How do I exit Kimi Code CLI?
Empty the input box and press Ctrl+D. Kimi Code asks you to confirm: the first press shows a prompt in the status bar, and a second press of the same key actually exits. Ctrl+C behaves the same way — with an empty input box it starts the same two-step exit, and with text in the box it just clears the box instead. You can also type /exit (or /quit, or /q).
How do I add a new line in Kimi Code CLI without sending?
Press Shift+Enter, or Ctrl+J. Both insert a newline instead of submitting. Ctrl+J is the one to remember: Shift+Enter depends on your terminal reporting the modifier, so it silently sends the message in some terminals, while Ctrl+J is a plain control character that works everywhere.
What does Ctrl+S do in Kimi Code CLI?
It steers the model mid-answer. Press Ctrl+S while output is still streaming and your input is injected into the turn that's already running — the model sees it at the next interruptible point, without you stopping and restarting. Pressing Enter instead queues your message for after the current turn finishes. This is Kimi Code's most distinctive key; the other terminal agents make you interrupt and re-prompt.
What is the plan mode shortcut in Kimi Code CLI?
Shift+Tab toggles Plan mode, which restricts Kimi Code to read-only research and planning — it produces an action plan for you to approve before it touches any files. You can also toggle it with /plan, and clear a plan you no longer want with /plan clear while idle. Note that Shift+Tab is a plain on/off toggle here, not the multi-step approval cycle it drives in Codex CLI or Qwen Code.
How do I run a shell command inside Kimi Code CLI?
Type ! in an empty input box to drop into shell mode — the border turns violet and the prompt changes to !. Run your command, then press Esc (or Backspace on an empty line) to return to the agent. If a command is taking too long, Ctrl+B sends it to the background.
Why don't the Ctrl+X and Ctrl+O shortcuts I found online work?
Because they belong to the older tool. Kimi CLI (the Python package, documented at moonshotai.github.io) is being wound down and has evolved into Kimi Code CLI, and several keys were remapped along the way. The legacy docs use Ctrl+X to switch into shell mode and Ctrl+O to open the external editor. In Kimi Code CLI, shell mode is ! and the external editor is Ctrl+G, while Ctrl+O expands and collapses tool output. Every key on this page is from Moonshot's current Kimi Code CLI reference.
How do I approve a tool call faster?
Press the number key for the option you want. The approval panel indexes its options 1 through 9, so you can approve or decline in a single keystroke instead of arrowing down and pressing Enter. Ctrl+E expands a truncated diff or preview when you need to see the whole change first, and Esc rejects the request outright.
How is Kimi Code CLI different from Claude Code or Codex CLI?
The shape is the same — a terminal agent you launch in a project, with slash commands and an approval flow — but three things stand out. Ctrl+S lets you steer mid-answer rather than interrupting. The approval panel takes number keys 1–9. And it ships /goal for autonomous multi-step objectives plus /swarm for parallel sub-agents. If you're moving over, /import-from-cc-codex pulls your existing Claude Code and Codex instructions, skills, and MCP servers across. See the side-by-side comparison for the full picture.