02. Everyday Conversation and the Screen
Send, queue, and cancel
Type what you want, send it, and stay in control while the assistant works. MatchaCode has no official cloud and no MatchaCode account.
Sending a prompt starts a turn. It does not lock the composer. You can queue the next message, interrupt and send now, or cancel and keep the draft.
A turn is one assistant pass: it streams into the scrollback above the prompt (replies, shell commands, file edits). While that pass is running, plain Enter does not start a second turn. It queues the text you just typed. Queued follow-ups run after the current turn ends.
Send now stops the current turn and runs your message next, so the new prompt always lands at the bottom of the transcript. Background tasks, sub-assistants, and the rest of the queue keep running.
Cancel stops the running turn without sending anything. Esc keeps the draft. Ctrl+C clears a non-empty draft first.
Queue when you want the assistant to finish. Send now when you want it to change course. Cancel when you want the keyboard back. The shortcuts bar at the bottom shows the keys for the current state: idle, running, or queue open.
Send
| Key | When | What happens |
|---|---|---|
Enter | Idle, prompt focused | Send the current prompt and start a turn. |
Shift+Enter or Alt+Enter | Prompt focused | Insert a newline. |
Ctrl+M or /multiline | Prompt focused | Swap those two: Enter inserts a newline and Shift+Enter / Alt+Enter send. Session-only; not written to config.toml. |
Queue
| Key or command | What happens |
|---|---|
Enter with text, turn running | Queue that text. It waits for the current turn to finish. |
Enter on an empty composer, turn running, something queued | Send now the top queued follow-up. You do not need to open the queue pane. |
Ctrl+; (alt Ctrl+') | Toggle the queue pane when it is non-empty. |
/queue | Print a read-only list of what is waiting. Works in fullscreen and minimal. |
The queue pane [Send now] button (or the send-now chord on a focused row) sends the selected row. From the prompt, send-now always takes the top row.
Queued follow-ups hold while the assistant is blocked on background tasks or a sub-assistant. A hint explains the hold. While it is blocked waiting, plain Enter with text also delivers immediately: Matcha CLI cancels the blocked turn and runs your message next.
/queue does not edit the list. Use the queue pane in the full TUI for that.
/queueSend now
This chord means “stop what you are doing and take this”:
| Terminal | Primary | Alternates |
|---|---|---|
| Default | Ctrl+Enter | Ctrl+I |
| Apple Terminal | Ctrl+O | Ctrl+Enter, Ctrl+I |
| VS Code family | Ctrl+L | none |
- Non-empty composer → cancel the current turn and send that text now.
- Empty composer + a queued follow-up → send the top queued row now.
- Idle, or empty composer with nothing queued → no-op.
To hand the assistant a note without stopping it, queue with plain Enter.
Cancel
| Gesture | Effect |
|---|---|
Esc while a turn is running (default) | Cancel immediately. The draft is kept. Works from the prompt or the scrollback. |
Esc while a turn is running, fullscreen vim mode | Swallowed. It does not cancel. Use Ctrl+C or the command palette. |
Esc while a turn is already cancelling | Re-sends cancel in every mode (retry if the first ack was lost). |
Ctrl+C with a non-empty draft, turn running | Clears the draft and keeps the turn. A second Ctrl+C on the empty prompt cancels. |
Ctrl+C on an empty prompt, turn running | Cancel. |
Idle Esc is not cancel: two Esc presses within 800ms clear a non-empty prompt, or open the rewind picker on an empty prompt that already has messages. After an Esc-triggered cancel, rewind stays suppressed for about a second so mashing Esc cannot open it by accident.
Ctrl+C while cancelling escalates toward quit. Ctrl+Q (or Ctrl+D in VS Code-family terminals) quits after a double-press.