The chat
Everything happens in one screen: you write, Nemocode works, and the transcript stays readable while it does.
Messages and missions
Every message you send to Nemocode starts a mission: Nemocode works until the job is done, it needs an answer from you, you stop it, or — with a goal — the condition you named is met. What it does is written into the transcript step by step. A session holds any number of missions one after the other and remembers the conversation between them.
Two ways to talk
| Mode | What it is |
|---|---|
| Code | The normal mode. Nemocode reads, plans, changes files and runs commands. |
| Curator | A conversation about the project memory only. It can
look things up and — after arguing it out with you — write a fact down, but
it cannot touch your code. Toggle it with /curator. |
A third kind of chat is opened for you: the harvest session that belongs to a session. Ctrl + T switches to it and back. See The harvest session.
The five modes
Shift + Tab cycles how much
Nemocode may do on its own: Read only, Plan, Ask, Accept edits, Auto, and back to
Read only. /mode opens a window with the same five, under the same
names, to pick one directly. The footer names the current mode.
| Mode | What it means |
|---|---|
| Read only | Nemocode looks and answers. Nothing changes: no edits, no commands that write. |
| Plan | Nemocode explores the project and writes a plan, but changes nothing until you approve the plan. |
| Ask | Every change and every command asks first. |
| Accept edits | File changes go through; a shell command asks first. This is the default mode. |
| Auto | Fully autonomous. |
The agent can ask to move into Plan mode for a bigger task, and only your yes does it. Read only never starts a plan. In Plan mode the plan ends in a question with four answers: approve and build in auto mode, approve and ask before shell commands, keep planning, or reject and stop. Esc on that question means keep planning. It never releases the plan. Under Settings ▸ General, Auto-approve plans skips the question for unattended runs; After a plan is approved then chooses which mode Nemocode continues in (accept edits or auto mode).
Your message is kept
What you type is saved while you type it. Leave the session and come back and it is still in the field. Clear it by accident and ↑ brings it back, next to the messages you sent earlier.
↑ and ↓ walk through what you sent in this session — never another one's.
Writing while it works
You do not have to wait. A message sent during a mission is queued: it starts
as the next mission when the current one has finished, and the transcript says
queued. The queue is per project, so a mission in another session of the
same project comes first, too. If you want a message to change course
now, use /steer <text>: it goes into the running
mission and is read at its next step; if no mission is running, it starts one.
Esc stops the running mission.
Setting a goal
A mission normally ends when the agent thinks it is done. With a goal, it ends when a condition you named is actually met:
/goal all tests in the server pass and the linter is clean
After every turn a small, separate model reads the conversation and judges whether the condition holds. It has no tools and cannot look anything up — it only sees what the agent already showed: test output, an exit status, a clean working tree. The agent saying “done” is not enough. If the condition is not met yet, the reason goes back to the agent as its next instruction and it keeps working. Once it is met — or if it cannot be met at all, which the check says with its reason — the goal is cleared and the mission ends as usual.
| Command | What it does |
|---|---|
/goal <condition> | Start working on a goal now. It applies to this one mission only; the agent plans on its own, builds in Auto mode and the check can also say the goal is not achievable. |
/goal | Show the current goal and how many checks have said “not yet”. |
/goal clear | Stop checking. stop,
off, reset, none and
cancel work too — but only as the whole argument, so
/goal none of the tests may fail is a condition. |
A goal applies to the one mission that starts with /goal; later
messages are not checked. Without a goal, nothing is checked and nothing extra is spent. After forty checks in a
row without success, Nemocode clears the goal on its own rather than run forever;
Settings ▸ Advanced ▸ Goal max rounds changes that limit
(1 to 1000).
Ultra keywords
Six keywords, written anywhere in an ordinary message in the code chat, start
a bigger run at maximum reasoning effort. Nemocode highlights the keyword while you
type, and when you send, a window asks whether to start it, send as
a normal message or cancel (cancel puts your text back in the
field) — a word never starts an expensive run silently. A message that begins
with / is a command, not a keyword.
| Keyword | What it does |
|---|---|
ultracode | Build as carefully as possible: a grounded plan, build and check, an adversarial review, fixes, a second check. |
ultratest | Build complete tests including edge cases, then a review that looks at test coverage. |
ultrareview | A review from several angles — correctness, security, performance, tests — that ends in a report and changes nothing. |
ultraplan | Several planning perspectives in parallel, merged into one plan. Read only. |
ultraresearch | The code searched from several angles in parallel, merged into one research report. |
ultrathink | Just this mission at maximum reasoning effort. |
/ultracode, /ultrareview and
/ultrathink put the keyword in the input field for you; you add the
task and send, and the window above still asks. These runs cost noticeably more
than a normal mission.
Images and files
Ctrl + V with an image or a
file on the clipboard attaches it: the message gets a reference such as
#image 12 or #file 12. Each attachment has its own
number, counted across all projects and never reused, so the agent cannot mix up
two screenshots. Several copied files get one number each. A reference to an
attachment of another project is refused. A model that can see images gets the
picture; if the model cannot, and you assigned a vision model under
Models, that one describes the picture and the
description is used instead. Text you paste is pasted as text.
Reading the transcript
Each step is one line with the essentials, and detail underneath. Click a line, or press Ctrl + O for all of them, to open the detail. How much detail you see is yours to set under Settings ▸ Display: tool output, the model's thoughts, the memory lines, the technical notes. Turn on Compact mode for one line per step and nothing else. The mouse wheel and the scroll keys move through the transcript; dragging selects text and copies it when you let go.
Shells and subagents
Commands that keep running in the background are listed under Ctrl + B, where you can stop them. Subagents that Nemocode started show up as a chip in the footer; ← in an empty input field opens the list, and you can watch one, pause it or stop it. See Keys.
Panels
Anything that is an answer rather than a step opens in a window on top of the
chat: /diff, /config, /todo,
/mcp, /undo, /redo and the rest.
Esc closes it and the conversation is where you left
it. Long output scrolls — nothing is cut off with “run it yourself for the
rest”. The memory screens (/pending, /pum,
/pum-folders) take the whole screen instead;
Esc brings you back to the chat.
When it asks
An approval appears in place, with the exact command or path it wants. You
answer with a key: y allow once,
a allow this command from now on (shell commands
only), or n deny; Esc denies,
too. What “from now on” remembers is per project: /allow shows the
list and /allow <command> adds to it; removing an entry is
under Settings ▸ Project ▸ Allowed commands. When the
agent needs a folder outside the project, it asks a question with four answers:
allow always, just this mission, no, never — Esc there
means no. The full list of keys is on the
Keys page.
When the conversation gets long
Nemocode watches how much context a mission is using and compacts the
conversation before it runs out — it summarises what happened so far and keeps
working. You can have it ask first (Settings ▸ General ▸ Compaction ask), do it
yourself with /compact (not while a mission is running), or see
where the tokens actually go with /context.