Skip to content

Keyboard reference

Every keybinding the TUI listens for — global shortcuts, composer editing, overlay navigation, and the Escape ladder.

Press ? in the composer (or run /help) for the in-app version of this table. Everything works everywhere in the TUI unless called out otherwise.

Trigger the dialog or screen without typing the command.

KeyAction
Ctrl+AOpen the agent picker
Ctrl+KOpen the inline model picker
Ctrl+Shift+KCycle reasoning effort for the active model
Ctrl+BOpen the session browser
Ctrl+NStart a new session with the current agent
Ctrl+OToggle output density (compact / expanded)
Ctrl+POpen the capabilities screen
Ctrl+ROpen the runtimes screen
Ctrl+TOpen the trace browser
Ctrl+EOpen the evaluations screen
Ctrl+WOpen the workspaces screen
Ctrl+CCopy the current text selection
Ctrl+QInterrupt an in-flight turn, twice to quit
F5Open the backend console
TabCycle focus between panels
?Show help (only when the composer is empty)

The composer is multiline even though it usually looks like one line.

KeyAction
EnterSubmit the message (or enqueue if the agent is busy)
\ then EnterInsert a newline — works in every terminal
Shift+EnterInsert a newline — works where the terminal supports it
Ctrl+JInsert a newline — always works
Alt+EnterInsert a newline
Alt+BackspaceDelete word to the left
Alt+DeleteDelete word to the right
Alt+← / Alt+→Move cursor one word
Alt+Shift+← / Alt+Shift+→Select one word in either direction
Up / DownScroll through prompt history when the composer is empty

Pasted content of two or more lines collapses to a placeholder like [pasted ~42 lines]. Submit expands it back; Esc clears the composer and drops the paste.

Starting the message with ! turns the composer into shell-mode visually (border and placeholder shift). It’s a hint that the next line is intended as a shell command — the rest of the composer works the same way.

When a slash overlay, @-mention overlay, model picker, agent dialog, profile dialog, skills dialog, or tools dialog is visible, the composer forwards keys to it.

KeyAction
Up / DownMove the highlight
TabSelect the highlighted item
EnterSelect the highlighted item
EscDismiss the overlay

Focus the conversation feed (e.g. by scrolling) to use these.

KeyAction
yCopy the last assistant message to the clipboard
?Show the help panel

Drag with the mouse anywhere in the TUI to highlight text, then press Ctrl+C to copy. The TUI first asks the terminal to take the text via OSC 52; if that’s silently dropped (many terminals do this by default for security), it falls back to the native clipboard CLI on your platform.

PlatformFallback used
macOSpbcopy (always present)
Linux X11xclip, then xsel
Linux Waylandwl-copy
WindowsOSC 52 in Windows Terminal handles it directly

The selection follows the focused surface: inside the composer Ctrl+C copies the composer’s selection; otherwise it copies whatever is selected in the conversation. When nothing is selected, the TUI flashes a reminder that Ctrl+Q is the way to quit.

Esc walks a fixed priority list — the first applicable step runs, nothing else:

  1. Dismiss any visible overlay or dialog.
  2. Clear the composer if it has text.
  3. Retract the most recently queued message back into the composer for editing.
  4. Interrupt the agent if a turn is in flight.
  5. Do nothing beyond focusing the composer.

Ctrl+Q is an interrupt, not an exit. The first press cancels an in-flight turn (if any); a second press within 3 seconds quits. A visible flash tells you which state you’re in. Esc also interrupts a running turn as part of the escape ladder, and /quit is the explicit alternative.

Ctrl+C is reserved for copying selected text — it does not quit. If you reflexively hit Ctrl+C with nothing selected, the TUI flashes a hint pointing you at Ctrl+Q.