Skip to main content
Early access. Cloud sessions and managed agent runs are not open to every account yet: we are letting accounts in gradually while we test. They run in a cloud sandbox operated by Mutagent, so there is nothing to host. A sandbox with nothing to do for 15 minutes stops; send the session a message and it wakes up, delivers your message and carries on in the same conversation.
These commands work on agents written as an agent.md folder. check, pack and run work on your machine. deploy, activate, list, inspect, retire, spec, activity and versions work on the workspace’s agents. Every command takes --json and then prints one result object on stdout. To run a managed agent on Helix Cloud, use mutagent helix agent @<slug> on mutagent helix. See Managed agents for the agent.md format and a complete example. How deployment works:
  1. deploy compiles the folder and uploads it as a revision: v1, v2, and so on.
  2. The revision becomes the active revision of a slot. A slot is one agent in one Environment; without --env, the default slot is used.
  3. mutagent helix agent @<slug> runs the slot’s active revision.
  4. activate makes another revision active. retire disables the slot.

Before you start

  • Install the CLI.
  • check, pack, deploy and run compile the folder on your machine with Bun 1.3.14, on your PATH or named by MUTAGENT_BUN_BIN.
  • check, pack and run need no sign-in. Every other command needs a sign-in and a selected workspace. A coding agent signs in with MUTAGENT_API_KEY=<key> mutagent login --json, then runs mutagent workspaces use <workspace-name>.
  • Before deploy: the model in agent.md must be listed by mutagent helix models --json, and the Environment you name with --env must exist (mutagent env list --json).
  • run and spec sync need Helix on your machine: see mutagent install.
A typical sequence for a coding agent:

mutagent agent check

Compile and validate an agent folder. It makes no network request and no model call, and runs no tool code.
Refused when model is missing, when the frontmatter has an apiVersion, kind or metadata key, or when a path is outside the agent folder, is a symlink, or is an import outside the allowed set. The compiler needs Bun 1.3.14, on your PATH or named by MUTAGENT_BUN_BIN.
Success: exit code 0 and "status": "valid", with the package digests. On a failure, the error has a diagnostics list that names each file problem. Fix every one before you deploy.

mutagent agent pack

Write the package archive and print its digests.
deploy compiles the folder itself, so you do not need to run pack before it.

mutagent agent deploy

Compile the folder, upload it as a revision, validate the revision, and activate it in the slot.
Deploy creates the agent named by name in agent.md, or uses the existing agent with that slug. New content becomes the next revision; unchanged content uses its existing revision. Before activating, deploy checks that:
  • model is in the workspace model list (mutagent helix models).
  • The Environment named by --env exists.
  • Every secret in harness.bindings.secrets sets required: false. required defaults to true.
  • The sandbox provider can receive a package.
A failed check is refused with 422, or 404 for a missing Environment. A refused deploy writes no agent, revision or slot. Your local model key is never uploaded. Running sessions keep the revision they started with.
Success: exit code 0. With --json, stdout holds one object with slug, revision, activated, environment, activeRevision and operationId; the status card goes to stderr. Keep the slug and revision, then run the agent with mutagent helix agent @<slug>. If a deploy fails with a network error or a server error, the error’s recovery holds the idempotencyKey to retry with, or an operationId to look up with mutagent agent inspect --operation <operation-id> --json. Retry with the same key; a new key is a new deploy.

mutagent agent activate

Make a revision the slot’s active revision. Use it to roll back to an earlier revision.
activate runs the same checks as deploy: the model and the Environment are checked again. New runs use the new active revision. A running session keeps the revision it started with. Activating a revision of a retired slot enables the slot again. An archived managed agent is refused with 409 MANAGED_AGENT_ARCHIVED: deploy its agent.md again to bring it back.

mutagent agent list

List the workspace’s managed agents and each slot’s active revision. mutagent agent ls is the same command.

mutagent agent inspect

Show an agent’s revisions, its slots with their active revisions, and the sessions started from it.

mutagent agent retire

Disable a slot. The slot takes no new runs, and live sessions finish. A run addressed to a retired slot is refused with 409 before any sandbox starts. Retiring a retired slot succeeds and changes nothing. To enable the slot again, run mutagent agent activate. Retiring stops an agent from running, so the command needs --force, like a delete. Without it, the command refuses and changes nothing, with or without --json.

mutagent agent run

Compile an agent folder and run a task with the Helix binary on your machine.
The run needs Helix installed on your machine (mutagent install helix puts it at ~/.mutagent/bin/helix; MUTAGENT_HELIX_BIN names another one) and the API key of the LLM provider named in model, in your local Helix login or your environment variables. It runs in a temporary copy of the compiled package on your machine, not in a sandbox. It creates no agent, revision or slot in the workspace.

Spec sync, activity and versions

Keep the agent’s spec in step with your repository

An agent’s spec is the agentspec.yaml that Helix writes in its Spec stage: what the agent must do and the criteria it is judged by. A managed agent carries its spec in each revision. Your repository keeps its own copy. These commands compare the two and copy yours to the platform:
diff reports one of these states: sync checks the file with helix-cli, the spec validator that ships inside Helix, so Helix must be installed (mutagent install helix) with helix-cli on your PATH, or MUTAGENT_HELIX_CLI_BIN must name it. If the file has errors, sync lists every one and sends nothing. The check cannot be skipped. If the newest revision already carries the same spec, only the sync is recorded.

See what happened to an agent

activity lists what happened to the agent, newest first: created, spec changed, deployed, evaluated, diagnosed, optimized, or a report stored. Each row has the spec version and revision it concerns, who did it, and a reference to the operation or report. It pages with --limit (1 to 100, default 20) and --cursor. versions lists each spec version once, newest first, with the revision it arrived in and when it was first seen. The list is not paged.

retire needs —force

mutagent agent retire follows the rule for commands that stop or delete something: it refuses without --force, with or without --json.

If it fails

See CLI errors.