Skip to main content
The Mo CLI is in beta and may change. 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

Install the npm package and run qa:
The package is qa, and the compiled binary is mo. npm exposes both qa and mo commands, with qa in help output. You can also run npx qa --help. The mo examples in this reference work with either command. The npm launcher requires Node.js 22.12 or later in the 22.x series, or Node.js 24 or later. It supports macOS ARM64/x64, Linux ARM64/x64 (glibc and musl), and Windows x64. Linux musl requires libstdc++. Keep optional dependencies enabled. To install the standalone binary without Node.js, run:
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.

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.

wait

Wait for a session and its sub-agents to finish.

status

Get a session snapshot with findings.

report

Export a report to files.

cost

Get AI and runtime cost line items for a session.

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.

skills

Install the Momentic skills for your coding agent.

version

Print the installed version and check for updates.

upgrade

Replace the installed Mo CLI binary with the latest release.

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.