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.
Typing
Section titled “Typing”- 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.
Shortcuts
Section titled “Shortcuts”| 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. |
Slash commands
Section titled “Slash commands”| 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 context indicator
Section titled “The context indicator”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.