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.
Global shortcuts
Section titled “Global shortcuts”Trigger the dialog or screen without typing the command.
| Key | Action |
|---|---|
Ctrl+A | Open the agent picker |
Ctrl+K | Open the model browser |
Ctrl+Shift+K | Cycle reasoning effort for the active model |
Ctrl+B | Open the session browser |
Ctrl+N | Start a new session with the current agent |
Ctrl+O | Toggle output density (compact / expanded) |
Ctrl+P | Open the capabilities screen |
Ctrl+R | Open the runtimes screen |
Ctrl+T | Open the trace browser |
Ctrl+E | Open the evaluations screen |
Ctrl+W | Open the workspaces screen |
Ctrl+C | Copy the current text selection |
Ctrl+Q | Interrupt an in-flight turn, twice to quit |
F5 | Open the backend console |
Tab | Cycle focus between panels |
? | Show help (only when the composer is empty) |
In the backend console, press r to open the privacy-aware bug reporter.
Composer editing
Section titled “Composer editing”The composer is multiline even though it usually looks like one line.
| Key | Action |
|---|---|
Enter | Submit the message (or enqueue if the agent is busy) |
\ then Enter | Insert a newline — works in every terminal |
Shift+Enter | Insert a newline — works where the terminal supports it |
Ctrl+J | Insert a newline — always works |
Alt+Enter | Insert a newline |
Alt+Backspace | Delete word to the left |
Alt+Delete | Delete word to the right |
Alt+← / Alt+→ | Move cursor one word |
Alt+Shift+← / Alt+Shift+→ | Select one word in either direction |
Up / Down | Scroll 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.
Shell mode
Section titled “Shell mode”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.
Overlay navigation
Section titled “Overlay navigation”When a slash overlay, @-mention overlay, agent dialog, profile dialog, skills dialog, or tools dialog is visible, the composer forwards keys to it.
| Key | Action |
|---|---|
Up / Down | Move the highlight |
Tab | Select the highlighted item |
Enter | Select the highlighted item |
Esc | Dismiss the overlay |
Conversation
Section titled “Conversation”Focus the conversation feed (e.g. by scrolling) to use these.
| Key | Action |
|---|---|
y | Copy the last assistant message to the clipboard |
? | Show the help panel |
Selecting and copying text
Section titled “Selecting and copying text”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.
Conversation selections include rendered assistant messages and visible tool output. Prompt markers
and tool gutters are excluded; table borders remain part of the selected text. Press Ctrl+O to
expand tool output before selecting details hidden in compact mode. Copied command output and
fenced code preserve indentation and real line breaks; lines wrapped to fit the terminal rejoin
when copied. Other rendered text retains visual line breaks. To copy an assistant message’s
original Markdown, use /copy or focus the conversation and press y.
If the terminal is too narrow to display a wide character, the affected line copies as rendered, including visual line breaks. Widen the terminal and select again to copy the original characters.
| Platform | Fallback used |
|---|---|
| macOS | pbcopy (always present) |
| Linux X11 | xclip, then xsel |
| Linux Wayland | wl-copy |
| Windows | OSC 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.
Escape ladder
Section titled “Escape ladder”Esc walks a fixed priority list — the first applicable step runs, nothing else:
- Dismiss any visible overlay or dialog.
- Clear the composer if it has text.
- Retract the most recently queued message back into the composer for editing.
- Interrupt the agent if a turn is in flight.
- 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.