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 inline model picker |
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) |
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, model picker, 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.
| 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.