Keyboard shortcuts of the window (mm -tui)
Every key the window (
mm -tui) understands, grouped by what you are doing. F1 shows a short version inside the window. The status bar at the bottom always showsF1 help · Ctrl-Y copy · F2 mouse · Ctrl-C quit.
The window in two parts
The window has two places that can take the keys: the box at the bottom, where you type, and the conversation above it. Tab moves the focus from one to the other. At start-up the focus is on the box. While the focus is on the conversation, letters do nothing: press Tab to type again.
Type and send
| Key | What it does |
|---|---|
Enter |
Sends what is in the box. An empty box sends nothing. |
Ctrl-J or Alt-Enter |
A new line in the box, without sending. Shift-Enter cannot be told apart from Enter by a terminal, so it sends. |
← → |
Move the cursor; at the start or end of a line, go to the previous or next line. |
↑ ↓ |
Move to the row above or below in the box — a long line wraps over several rows. On the first row, ↑ recalls your previous question (see below). |
Home End |
Start or end of the line. |
Backspace Delete |
Delete the character before or under the cursor. A collapsed paste ([Pasted #1 · …]) is deleted whole. |
Esc |
When nothing is running: clears the box. |
While the agent is working
| Key | What it does |
|---|---|
Esc |
Stops the answer in progress (same as /abort) and says 🛑 Aborting…. Pressed again when the turn does not stop, it tells you to use Ctrl-C. |
Ctrl-C |
Stops the answer in progress. If it has already been asked to stop and has not, Ctrl-C closes mm. |
Enter |
Stops the answer in progress and sends what you typed once it has stopped: you can change your mind without waiting. |
Recall an earlier question
Needs sessions.enabled: true in the agent's YAML.
| Key | What it does |
|---|---|
↑ (first row of the box) |
Puts your previous question in the box; again for the one before — this session first, then the project's earlier sessions. |
↓ (last row of the box) |
Goes back towards the newest question; past it, gives back what you were typing. |
Esc |
Clears the recalled question, to type something else. |
A recalled question can be edited before you send it. With nothing to recall, ↑ and ↓ scroll the conversation instead.
Move through the conversation
| Key | What it does |
|---|---|
PgUp PgDn |
One page up or down, wherever the focus is. |
↑ ↓ |
One line, when the focus is on the conversation (Tab). |
Home End |
Top or bottom of the conversation, when the focus is on it. End also follows the answer again as it is written. |
| Mouse wheel | Three lines up or down — only after F2 (see below). |
Ctrl-L |
Clears the displayed conversation. What the agent remembers is not touched: /new does that. |
Complete a command, a file or a skill
Typing / at the start of the box, @ or $ anywhere opens a list of choices above the box: commands, files and folders, skills.
| Key | What it does |
|---|---|
↑ ↓ |
Move in the list. |
Tab |
Completes with the highlighted choice. |
Enter |
Sends when what you typed is already complete; otherwise completes, like Tab. |
Esc |
Closes the list until you type something else. |
Paste long text
Paste as usual with your terminal (Cmd-V, Ctrl-Shift-V, the right click…). A paste never sends anything, even when it holds line breaks. Longer than 3 lines or 200 characters, it shows as one token, [Pasted #1 · 42 lines · 1.2k chars]; the agent receives the whole text. Backspace or Delete removes the token, and the text with it.
Answer a permission
With yolo: false (or an MCP tool marked ask), the box is replaced by a question such as ? bash: rm -rf build. Only these keys work until you answer:
| Key | Answer |
|---|---|
a |
Allow this call, once. |
s |
Allow this tool for the rest of the session. |
r or Esc |
Refuse this call. |
n |
Never allow this tool in this session. |
Answer the agent's questions
When the agent asks you something (its ask_user tool), a small form replaces the box. The line under the question reminds you of the keys.
| Kind of question | Keys |
|---|---|
| Pick one | ↑ ↓ (or Tab) to move, Enter to choose — or 1 to 9 to choose directly. |
| Pick several | ↑ ↓ to move, Space to tick or untick, Enter to send (at least one ticked). |
| Yes or no | y (or o) yes, n no — or ← → then Enter. |
| Free text | Type, Backspace to correct, Enter to send. |
| Any | Esc declines to answer. |
Copy, mouse, help, quit
| Key | What it does |
|---|---|
Ctrl-Y |
Copies the last answer to the clipboard, as plain text (same as /copy; /copy 2 the one before, /copy all the whole conversation). |
F2 |
Turns mouse capture on or off. Off (the default): select text with the mouse as in any terminal. On: the wheel scrolls the conversation, and Shift+drag selects. The status bar says which. |
F1 |
The commands and the main keys, in the conversation (same as /help). |
Ctrl-C |
Closes mm when nothing is running. /quit does the same. |
The mm init window
mm init opens a window of its own, in the same style, to write a new agent.yaml (see Create an agent with mm init).
| Key | What it does |
|---|---|
↑ ↓ Home End |
Move through the choices; the preview on the right follows the highlighted one. |
Enter |
Answer and go to the next question; on the last screen, write the file. |
y n |
Answer the yes-or-no question. |
Esc |
Go back one question, taking its answer back. |
PgUp PgDn |
Scroll the preview. |
Tab |
On a screen narrower than 100 columns: show the preview in place of the question, and back. |
Ctrl-U |
Clear a text answer (the name, the file). |
Ctrl-C |
Quit without writing anything. |
Good to know
- Keys depend on the terminal.
Alt-Enter,Home,Endand the function keys depend on how the terminal reports them; on a Mac laptop,Fnis often needed forF1,F2,HomeandEnd.Ctrl-Jalways works for a new line. - The window needs a real terminal.
mm -tui | tee log.txt, or any run where the input or the output is not a terminal, falls back to the line mode, where none of these keys apply.
See also: How to use the window mode, Slash commands and keys (reference).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
|