CLI commands
The complete command surface as shipped in the current release (mcue --version
tells you which). Descriptions here are the binary's own. Flags change more often
than commands do, so each entry points you at --help rather than
transcribing a flag list that will drift.
mcue <command> --help # authoritative flags for any command
Project lifecycle
| Command | Purpose |
|---|---|
mcue init <project-id> --name "Display Name" | Register a new project and scaffold its state files |
mcue attach <project-id> | Anchor an existing project to a directory via .mcue footprint |
mcue detach | Remove the .mcue footprint from a directory |
mcue exists <project-id> | Quietly check whether a project is registered |
mcue update <project-id> | Update mutable project metadata without a closeout |
mcue project rename <old-id> <new-id> | Rename a project id across all of its local state |
mcue project archive <project-id> | Mark a project out of the active portfolio without removing state |
mcue project delete <project-id> | Hard-delete a project: remove its registry entry and state directory |
The session loop
| Command | Purpose |
|---|---|
mcue closeout <project-id> | End a session and refresh governed project state |
mcue resume <project-id> | Generate a bounded resume packet for re-entry |
mcue index [project-id...] | Show the derived portfolio view, across projects or for named ones |
mcue review <project-id> | Inspect project state without full closeout |
mcue history <project-id> | Browse a project's checkpoint history |
mcue drift <project-id> | Show warning-only environment drift for a project or lane |
mcue recover <project-id> | Recover from an interrupted closeout with a degraded checkpoint |
mcue reconcile <project-id> | Resolve a lane with multiple unreconciled perspectives |
Lanes and plans
| Command | Purpose |
|---|---|
mcue lane create <project-id> <lane-id> | Create a named operating lane inside a project |
mcue lane update <project-id> <lane-id> | Update a lane's objective, display name, or work tree without a closeout |
mcue lane close <project-id> | Retire a project operating lane |
mcue lane delete <project-id> | Hard-delete a lane and all its state |
mcue plan create <project-id> | Create the active plan for a lane |
mcue plan show <project-id> | Show the active or archived plan for a lane |
mcue plan list <project-id> | List active and archived plans |
mcue plan update <project-id> | Update the active plan outside closeout |
mcue plan close <project-id> | Archive the active plan on a lane |
mcue plan delete <project-id> | Hard-delete the active plan on a lane |
Managed Hub
| Command | Purpose |
|---|---|
mcue hub set <url> | Set and verify the managed Hub origin |
mcue hub status | Show Hub configuration and linked-project cursors |
mcue login | Authorize mcue with the configured Hub using OAuth + PKCE |
mcue logout | Revoke the Hub OAuth session and remove it from the OS credential store |
mcue whoami | Show the authenticated Hub identity |
mcue publish <project-id>... | Publish one or more local projects to the managed Hub |
mcue clone <project-id> | Materialize a Hub project into local mcue state |
mcue sync <project-id>... | Push pending local state and pull accepted Hub events |
mcue sync status [project-id] | Show managed-Hub cursor and pending state without network access |
mcue unlink <project-id> | Remove only the local Hub link and pending outbox |
mcue observe <project-id> | Collect Git evidence against Hub-accepted checkpoints; --upload submits it to Hub |
BYO-S3 remote
A self-hosted cross-machine path that needs no account. Separate from Hub.
| Command | Purpose |
|---|---|
mcue remote enable <project-id> | Configure an S3-compatible remote for a project |
mcue remote disable <project-id> | Remove a project's remote configuration |
mcue remote status <project-id> | Show remote configuration and unpushed perspectives |
mcue remote push <project-id> | Upload local perspectives the bucket does not have |
mcue remote pull <project-id> | Download remote perspectives and recompute local state |
mcue remote rotate <project-id> | Replace the stored remote credential |
mcue remote diff <project-id> <perspective-id> | Compare local and remote bytes for a perspective (byte-conflict check) |
mcue remote force-push <project-id> <perspective-id> | Overwrite the remote bytes for one perspective with the local bytes |
Agents and MCP
| Command | Purpose |
|---|---|
mcue serve | Run a mcue MCP server (stdio or authenticated HTTP) |
mcue agents-snippet | Emit the canonical mcue access-rules snippet for AGENTS.md / CLAUDE.md |
mcue token issue | Issue a new bearer token |
mcue token list | List issued tokens (ids, scopes, status — never the plaintext) |
mcue token rotate <token-id> | Revoke a token and issue a replacement with the same scope |
mcue token revoke <token-id> | Revoke a token by id |
Identity and diagnostics
| Command | Purpose |
|---|---|
mcue identity show | Print the current operator and machine identity |
mcue identity set | Override identity fields or add aliases |
mcue doctor | Print install diagnostics for the local mcue setup |
mcue audit | Read entries from the local audit log |
Migrations
One-off commands for state written by older versions. Safe to ignore on a fresh install.
| Command | Purpose |
|---|---|
mcue migrate-lanes | Scaffold default lane state for pre-lane projects |
mcue migrate-objectives | Detect and clean up project_state objectives polluted by the pre-fix closeout bug |
Scoping the portfolio view
mcue index with no arguments is the cross-project glance. Name one or more
projects to scope it:
mcue index # every active project
mcue index payments-api # just this one
mcue index payments-api ledger-svc # several
mcue index payments-api --expand-lanes # with its lanes
Two behaviours worth knowing:
- A named project is shown whatever its state, including closed and archived ones that the unscoped view hides. Asking for a project by id means you want to see it.
- An unknown id is an error, not an empty table — an empty table would read as "this project has nothing in it" rather than "no such project".
For the fuller picture of one project, including checkpoint detail, use
mcue review <project-id> instead.
Commands that touch the network
Worth knowing exactly which ones do, since everything else is guaranteed local:
mcue hub set,mcue login,mcue logout,mcue whoamimcue publish,mcue clone,mcue sync,mcue observe- every
mcue remotesubcommand exceptstatus mcue serveonly when serving its HTTP surface, and only to clients that reach it
Notably mcue sync status does not — it is deliberately offline so you can
check pending work on a plane.