Keyboard Shortcuts
Pythinker 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 Pythinker Code CLI when the input box is empty |
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 / Ctrl-T | Cycle thinking effort for the current model |
Press Shift-Tab (or Ctrl-T) to cycle the thinking effort through the levels the current model supports (for example off → low → medium → high, wrapping back to off). Models without selectable effort levels show a notice instead.
Plan mode is toggled with the /plan command (/plan, /plan on, /plan off). 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.
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 |
Pressing Ctrl-G opens an external editor, selected according to the following priority:
- The editor configured via the
/editorcommand - The
$VISUALenvironment variable - The
$EDITORenvironment 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
pythinkerCommand — Complete reference for startup flags and subcommands