Skip to content

Commands & shortcuts

The terminal frontend is a full TUI (built with Ink): assistant text streams live, tool calls render as cards (⏺ tool_name(args)⎿ result), and approval prompts appear inline.

  • Type a message and press Enter to send.
  • Type / for a live-filtering command popup. ↑↓ to move, Tab fills in the highlighted command without running it, Enter runs it immediately - except a command that needs an argument (like /rename <name>), where Enter fills the input instead so you can type the argument. The popup disappears as soon as you type a space or newline.
  • You can keep typing and sending while a turn is running. Each message queues (shown dimmed above the input, with a count next to “working…”) and runs automatically, in order, once the current one finishes. Nothing is ever dropped.
Key Action
Enter Send the message.
Shift+Tab Cycle permission mode manual → auto → plan → …. The status bar shows the current mode. (Not Ctrl+Tab - terminals intercept it.)
Esc Stop the turn in progress without exiting. Anything queued during it is kept and runs next; press Esc again while those queued messages run to cancel them. (A rejected plan or an approval-prompt “Comment” discards the queue instead.)
Ctrl+C Exit immediately.
Command Action
/status Print the current posture: model and endpoint (and whether it’s local), permission mode, web-search backend, transcript persistence, retention, MCP servers, context usage. Read-only.
/model · /model <name> Open a picker to switch models, or switch directly by name. See Multiple models.
/rename <name> Name the current session (shown in the status bar and /resume’s picker).
/resume Pick a previous session from an ↑↓ list (most recent first, current excluded, capped at 15) and switch to it in place - its transcript is re-rendered, tool calls and results included. If it was on a model no longer configured, it stays on the active model and says so.
/compact Summarize older history to free up context.
/reset · /newsession Start a fresh session in the same terminal. The prior transcript stays on disk, resumable via /resume or --resume.
/exit · /quit Exit cleanly.

The status bar shows context: NN% - how much of the model’s context window the conversation is using (yellow past 75%, red past 90%). After the first turn it’s the provider’s own input-token count from the last response (which includes the system prompt and tool definitions); before any turn, and right after /compact, it falls back to a ~4 chars/token estimate. Servers that don’t report usage on streamed responses stay on the estimate.