MUONMUONDocs

Reference

The muon CLI

Everything the desktop app and TUI do is reachable from muon. The CLI auto-starts the embedded local brain on first use (except for version, shutdown, custom-agents, and most mcp subcommands, which deliberately never require one) — there is nothing to boot by hand. Every command below is copied from the CLI's own Commander definitions; run muon <command> --help for the full, current option list.

Global flags

--api-base <url> overrides the local brain's API base; --api-token <token> (or MUON_API_TOKEN) supplies a bearer token. Leave both unset for the normal local flow — the CLI discovers a running brain itself, or spawns one.

Chat with the orchestrator

muon chat [--workspace <dir>] [--chat-id <id>] [--message <text>] [--model <id>]

Talk to the super-orchestrator like you'd talk to Claude: it plans, dispatches the fleet, and reports — gates stay yours. With no --message, opens an interactive REPL (/quit to exit). With one, sends it and exits (scriptable).

--archive — soft-archive the chat (history and audit trail survive) and exit. --cancel — stop every queued/running job in the chat, keep the chat itself; safe to run twice.

Dispatch control

muon dispatch is the CLI mirror of the crew's control surface — inspect and act on a dispatched job without killing the whole runner.

muon dispatch status [--job-id <id>] [--chat-id <id>] [--json]

One job's status plus its crew budget (with --job-id), or the list of active jobs (optionally filtered to one chat).

muon dispatch interrupt --job-id <id>

The crew's kill switch — interrupt one running job.

muon dispatch steer --job-id <id> --message <text>

Send a steer message to a running dispatched job.

muon dispatch raise --job-id <id> --pool-ms <ms>

Raise a mission's descendant wall-clock time pool — the operator's recourse when a crew exhausts its budget. Targets the root orchestrator job; delegated children share its pool.

Fleet and agents

muon agents [--json] [--refresh]

Discovery table: name, vendor handle, stable id, readiness — then the exact next command for the first actionable row.

muon fleet [--json]

Current fleet counts per vendor and each agent's live status.

muon fleet set --claude-code <n> --codex <n> --cursor <n> --opencode <n>

Resize the fleet per vendor, 0–3 instances each. A resize never kills a working agent. At least one --<vendor> flag is required.

muon fleet agents [--json]

List fleet agent instances with live status.

Memory

Decisions, constraints, conventions, attempts, and questions — every read below is fenced to the invoking workspace by default (--workspace <path> to target another, or --unscoped for the operator-only unassigned residue).

muon memory add --kind <kind> --text <text>

Add a note. --kind is one of decision, constraint, convention, attempt, question. Optional anchors: --task-id, --lane-id, --module, --symbol (<module>#<name>), --topic.

muon memory search <query...> [--filter <json>]

Lexical search over notes in the fenced workspace.

muon memory library [--q <text>] [--status ...] [--confirmed ...] [--kind ...] [--trust ...]

Browse the governed memory library: filter by status (all/active/paused/rejected), confirmation state, kind, trust, or free text.

muon memory recall [--task-id] [--lane-id] [--module] [--topic]

Recall notes by task, lane, module, or topic.

muon memory review [--auto] [--from-pack]

The review queue: notes still unvouched and awaiting a human confirm or reject. A MUON-vouched or operator-confirmed note is settled and never listed here.

muon memory confirm --note-id <id> / muon memory reject --note-id <id>

Operator-only governance acts — mark a note human-confirmed, or reject it (kept for traceability, hidden from recall).

muon memory pack export --out <dir> / import <store> / sync <store>

Team memory sync over plain files — no MUON cloud. Export writes this workspace's confirmed notes as a content-addressed pack; import stages a teammate's pack as unconfirmed proposals in your review queue; sync does both. Operator-tier only.

MCP server registration

muon mcp install <claude|codex|cursor|opencode> [--scope user|project] [--mode observer] [--dry-run]

Register MUON's MCP server with your own CLI's config. See the MCP page for what it does and does not grant.

muon mcp status [--scope <scope>] [--json]

Explain the tier a hand-started session would get, and every reason it could be wrong — brain state, token source, whether the recorded muon-mcp path still resolves, per-vendor registration.

muon mcp uninstall <vendor>

Remove exactly the entry MUON wrote; every other server and key in that config file is left untouched.

muon mcp attach <claude|codex> / muon mcp detach <vendor>

Mint (or revoke) a governed dispatch seat for a coordinator CLI you run yourself — Claude Code and Codex only, the two lanes that can hold the coordinator seat.

Diagnostics and lifecycle

muon doctor [--json]

Backend connectivity and lane health: the versioned capability preflight contract MUON's own surfaces read from. Never rejects — every unreadable source degrades to an honest “unknown” with a reason.

muon version

App version, the indexed code-graph commit, the workspace's actual HEAD, and whether the two disagree (a stale index).

muon onboard

Guided first run: per-vendor installed/authenticated readiness plus the exact fix for any gap.

muon quickstart [--workspace <dir>]

Seed and dispatch a tiny, safe, additive sample task so you can watch the whole loop run without inventing one yourself.

muon context <target> [--view-proposal <noteId>]

The pre-edit gate for the terminal: blast-radius fused with governed memory, prior decisions, live cross-agent activity, and pending proposals for a symbol or file.

muon approve list / review --approval-id <id> / resolve --approval-id <id> --status approved|rejected

The approval queue from the terminal, including review's exact artifact digest and REVIEW BLIND file list for merge gates.

muon shutdown

Stop the persistent local brain and runner that CLI commands auto-start. The desktop app stops its own processes on quit; this is the CLI's off switch for the pair it spawned.