The monixcode 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
monixcode # start the server if needed, then open the interface
monixcode attach # open the interface against a server that is already running
monixcode tui does the same as plain monixcode.
Plain monixcode 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
monixcode 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), monixcode and
monixcode attach refuse with a hint to restart the server instead of
connecting to it. monixcode attach without a running server is an
error.
All commands
| Command | What it does |
|---|---|
monixcode 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. |
monixcode restart | Stop the server and start it again. |
monixcode stop | Stop the server. Scheduled tasks do not run until it is started again. |
monixcode 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. |
monixcode license activate | Activate this machine without the interface. Reads three lines from standard input: email, password, licence code. |
monixcode license move | Move your licence to this machine. Reads two lines: email, password. |
monixcode license relogin | Sign this machine in again
after monixcode logout, without a new licence code. Reads two lines:
email, password. |
monixcode logout | Release this machine's seat and
forget the licence here. You can sign in again from the interface or with
license relogin. |
monixcode 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. |
monixcode 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. |
monixcode 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). |
monixcode 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. |
monixcode integrate <agent> | Connect Monixcode'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 Monixcode's entries. See
Other coding agents. |
monixcode mcp [--curator] | The memory server those agents start themselves. You normally never run it by hand. |
monixcode hook | The entry point the connected agents' hooks call. Also not meant to be typed. |
monixcode version | Print the version.
--version and -v do the same. |
monixcode 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" | monixcode license activate
Typed straight into a terminal they refuse and point you to plain
monixcode, whose interface asks for the same details.
Environment variables
You rarely need any of these.
| Variable | What it does |
|---|---|
MONIXCODE_PORT | Talk to the server on this local port
instead of the one it announced. Useful for a second, separate instance.
Pair it with MONIXCODE_TOKEN if that server requires one. |
MONIXCODE_TOKEN | The access token for the server named by
MONIXCODE_PORT. Without MONIXCODE_PORT the command finds
the running server and its token on its own. |
MONIXCODE_HOME | Keep Monixcode's data (memory, sessions, logs) in this folder instead of the default under your home directory. |
MONIXCODE_COMMAND_NAME | The name Monixcode prints in hints and usage text, if you installed the command under another name. |
MONIXCODE_NO_AUTOSTART=1 | Never start a server from
monixcode mcp or monixcode 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 |