The nemocode command
Everything you can do from a terminal without opening the interface: start and stop the server, update, activate, diagnose, export, and connect other coding agents.
Starting
nemocode # start the server if needed, then open the interface
nemocode attach # open the interface against a server that is already running
nemocode tui does the same as plain nemocode.
Plain nemocode is the command you use every day. If no server is
running it starts one in the background, then opens the interface. When you quit
the interface the server keeps running on purpose, so scheduled
tasks and GitHub polling continue. Stop it yourself with
nemocode stop.
Run it from your project folder. An unknown word is an error with the usage
text, never a silent start. If the running server comes from another version
than the command you typed (for example after an update), nemocode and
nemocode attach refuse with a hint to restart the server instead of
connecting to it. nemocode attach without a running server is an
error.
All commands
| Command | What it does |
|---|---|
nemocode server [start|stop|restart|status|run] | Manage
the background server. start is the default. status
shows whether it runs and whether it matches the installed version.
run keeps it in the foreground so you can watch it; stop it
with Ctrl + C. Any other
word is an error. |
nemocode restart | Stop the server and start it again. |
nemocode stop | Stop the server. Scheduled tasks do not run until it is started again. |
nemocode update [--check|--force] | Install a newer
release your licence covers, then restart the server. --check
only reports. --force installs even if you are up to date.
Projects, settings and memory are untouched. See
Licence & updates. |
nemocode license activate | Activate this machine without the interface. Reads three lines from standard input: email, password, licence code. |
nemocode license move | Move your licence to this machine. Reads two lines: email, password. |
nemocode license relogin | Sign this machine in again
after nemocode logout, without a new licence code. Reads two lines:
email, password. |
nemocode logout | Release this machine's seat and
forget the licence here. You can sign in again from the interface or with
license relogin. |
nemocode doctor | Check the installation: the programs, whether the server answers and which version, whether the chosen provider has credentials, where the logs are, which language servers and semantic search are available. |
nemocode export [file|-] | Write every project's
metadata and memory as readable JSON. Without a file, or with
-, to standard output. Works without a licence — your data
stays yours. |
nemocode logs [server|tui] [-f] [-n N] | Show the end
of the logs: the server's, the interface's, or both. -f follows
them, -n N sets the number of lines (default 120, or 80 with
-f). |
nemocode service [install|uninstall|status] | Start
the server at login and restart it if it dies, using launchd on macOS and a
user service on Linux. install is the default. This is what makes
every morning at nine true after a reboot. On Linux, to run while
you are logged out, also run loginctl enable-linger once. |
nemocode integrate <agent> | Connect Nemocode's
project memory to Claude Code, Codex, opencode or Claude Desktop
(claude, codex, opencode,
claude-desktop), or show status (the default
without an argument). Access per project is never granted here, only in the
interface. Options:
--curator also adds the curator tools,
--dry-run shows the change without making it,
--uninstall removes only Nemocode's entries. See
Other coding agents. |
nemocode mcp [--curator] | The memory server those agents start themselves. You normally never run it by hand. |
nemocode hook | The entry point the connected agents' hooks call. Also not meant to be typed. |
nemocode version | Print the version.
--version and -v do the same. |
nemocode help | Print the usage text.
--help and -h do the same. |
Why the licence commands read standard input
A password on the command line shows up in the process list, and one in an environment variable is visible to other programs. So the licence commands take their input from a pipe or a file, never from arguments:
printf '%s\n' "$EMAIL" "$PASSWORD" "$LICENCE_CODE" | nemocode license activate
Typed straight into a terminal they refuse and point you to plain
nemocode, whose interface asks for the same details.
Environment variables
You rarely need any of these.
| Variable | What it does |
|---|---|
NEMOCODE_PORT | Talk to the server on this local port
instead of the one it announced. Useful for a second, separate instance.
Pair it with NEMOCODE_TOKEN if that server requires one. |
NEMOCODE_TOKEN | The access token for the server named by
NEMOCODE_PORT. Without NEMOCODE_PORT the command finds
the running server and its token on its own. |
NEMOCODE_HOME | Keep Nemocode's data (memory, sessions, logs) in this folder instead of the default under your home directory. |
NEMOCODE_COMMAND_NAME | The name Nemocode prints in hints and usage text, if you installed the command under another name. |
NEMOCODE_NO_AUTOSTART=1 | Never start a server from
nemocode mcp or nemocode hook; only use one that is
already running. See Other coding agents. |
Exit codes
Zero means success; anything else is a problem a script can act on.
| Command | Non-zero when |
|---|---|
| any | an unknown command or option, or an error such as no
server for export and attach |
server status | the server is not running |
stop | the server still answers ten seconds after it was told to stop. "No server is running" is not a failure. |
doctor | the installation is incomplete |
update --check | the check itself failed. "Up to date" and "your licence does not cover a newer version" are answers, not failures, and exit with zero. |
license ... | the activation was refused; the reason is printed |