Skip to main content
Mo is in private beta. Sign up to get onboarded.
The mo CLI drives Mo, Momentic’s autonomous QA agent, from a terminal or a coding agent. Use it to start a session from a brief, read Mo’s output, answer questions, move files in and out of the hosted sandbox, and open a tunnel so Mo can test an application on your machine. For a task-oriented walkthrough, read Use the Mo CLI.

Install

The installer writes mo to $HOME/.local/bin on Linux and macOS (x86_64 and arm64). Run it again to update. Set MO_VERSION to pin a version or MO_INSTALL_DIR to install somewhere else. The package is also published as @momentic/mo and requires Node ^22.12.0 || >=24.0.0:

Commands

login

Sign in and save an API key, or sign out.

start

Create a session from a brief.

send

Send a message to a session.

read

Read new output from a session.

status

Get a session snapshot with findings.

stop

Stop the active turn.

archive

Archive a session.

download

Copy a file from the session sandbox.

upload

Copy a local file into the session sandbox.

tunnel

Let Mo reach applications available from this machine.

version

Print the installed version and check for updates.

licenses

Print licenses for bundled executables.

Global flags

Every command that talks to the Momentic API accepts these flags. Per-command pages document any other flags they accept.
string
Momentic API key. Defaults to the value saved by mo login in ~/.momentic/auth.json. Env: MOMENTIC_API_KEY.
string
Momentic server URL. Defaults to the server saved by mo login, then to https://api.momentic.ai. Env: MOMENTIC_SERVER.
string
One of debug, info, warn, or error. Defaults to info. Place it before the command name.

Output

Session commands print machine-readable output so a script or coding agent can chain them: start, send, status, and tunnel print JSON, and upload and download print a single path. read prints Mo’s messages as plain text unless you pass --json. Status lines such as Mo is still working. go to stderr.

Session IDs

mo start prints a sessionId. Every later command takes that ID, either as a positional argument (mo read <session-id>) or as --session-id (mo send, mo upload, mo download). You can also copy the ID from the session URL in the Momentic dashboard.

Environment variables

Notes

  • The CLI shares ~/.momentic/auth.json with momentic and momentic-mobile. Signing in with any one of them signs in all three.
  • read --timeout and send --wait accept 0 or a duration such as 500ms, 30s, or 2m, up to a maximum of 290s.
  • Every command exits 1 on an error and prints the reason to stderr. The waiting commands (read, send --wait, and tunnel start) exit 130 when you interrupt them with Ctrl+C.