mutagent helix session ls before you start the task again.
Before a run starts, the CLI’s exit codes apply: 0 success, 1 failure (usage errors included), 2 your
Mutagent API key expired or is invalid, 3 not signed in or no workspace. Once a run has started, the
exit code is Helix’s own. With --mode json or --mode rpc, a refused launch is one JSON line on
stderr; run what its _agentGuidance.fix names. See Errors and exit codes.
Sign-in and workspace
Not signed in (exit code 3)
Not signed in (exit code 3)
mutagent login. Without a browser, set MUTAGENT_API_KEY and run mutagent login --json.
A coding agent helping a person runs mutagent login --browser --json and shows them the printed
URL; the CLI waits up to 5 minutes. See Sign in.The key expired or is invalid (exit code 2)
The key expired or is invalid (exit code 2)
mutagent login, or set a valid MUTAGENT_API_KEY. Mutagent keys start with
mg_live_.Cloud sandboxes are not enabled for your account yet
Cloud sandboxes are not enabled for your account yet
CLOUD_NOT_ENABLED and exit code 1,
and nothing was started. Local Helix, mutagent agent check, pack and run work without it.--api-key after mutagent helix is refused
--api-key after mutagent helix is refused
mutagent helix, --api-key would be read as your Mutagent platform key and sent to the
platform. Model keys belong to the workspace’s LLM providers.
To pass your Mutagent key, put it before the command, as in
mutagent --api-key <mutagent-key> helix -p "<task>", or set MUTAGENT_API_KEY.--endpoint after mutagent helix is refused
--endpoint after mutagent helix is refused
mutagent helix, --endpoint would be read as the Mutagent platform address, and your
platform key would be sent there. Put it before the command, as in
mutagent --endpoint <url> helix …, or set MUTAGENT_ENDPOINT. An LLM provider’s endpoint is
part of that LLM provider’s configuration.A workspace is required
A workspace is required
--workspace <name-or-id> before the command.
See Sign-in and workspaces.Access to the workspace is refused
Access to the workspace is refused
mutagent workspaces current. A session in another workspace is reported as not
found.Models
The launch is refused with HTTP 428
The launch is refused with HTTP 428
NO_PROVIDER_CONFIGURED. Nothing was started. Read the error message to see
which of the two causes applies:- No default model. The run named no
--model, andmutagent helix modelsshows “No default set”. Pass--model <provider/model>for this run, or set a default:mutagent helix models default <provider/model> [fallback …]. Any workspace member can set it. - The model’s LLM provider is not configured (“Model X needs LLM provider Y, which this
workspace has not configured”). Add the provider:
mutagent providers add --provider <type> --name <name> --api-key-stdin, or copy your local Helix logins withmutagent providers mirror. Or pick a model whose provider is configured.
The launch is refused with HTTP 422 for the model
The launch is refused with HTTP 422 for the model
--model value is not in the workspace’s list. Copy an ID exactly from
mutagent helix models, in the form provider/model.My local models or local default are not listed
My local models or local default are not listed
The model call fails after the run starts
The model call fails after the run starts
mutagent providers test <id>, fix the LLM provider configuration, and run again. Do not put a
model key into an Environment to work around it.In --mode json, a failed model call can still end with exit code 0. Look for an assistant
message with stopReason: "error" and read its errorMessage.Launch arguments
mutagent helix with no task is refused
mutagent helix with no task is refused
-p "<task>",
--mode json "<task>", or --mode rpc. See Run Helix in the cloud.helix agent says the task is missing
helix agent says the task is missing
helix agent is the definition, not the task. Add the task with
-p:My task is ignored in an interactive session
My task is ignored in an interactive session
--mode rpc and no task, then write a prompt
command to stdin:--rpc conflicts with --mode
--rpc conflicts with --mode
--rpc means --mode rpc. Use one of them, not --rpc together with --mode json.A flag that points at a local file is refused
A flag that points at a local file is refused
--extension, --skill, --session, --continue,
--resume, and @file arguments are refused. helix agent --file, --system-prompt, and
--append-system-prompt read the file on your machine and send its contents. To give the agent
other files, put what it needs into the task.--cwd is refused with --repository
--cwd is refused with --repository
--repository, the checkout is the working directory. Leave out --cwd. A managed agent
(mutagent helix agent @<slug>) refuses --repository too.An agent name is not found
An agent name is not found
--name looks in your local agent directories, then in the agents built into the cloud image.
Check the name, or pass the definition with --file <path>.The sandbox provider name is refused
The sandbox provider name is refused
--sandbox-provider takes the name of a sandbox provider configured for the platform. The error
lists the names you can use. Leave the flag out to use the default.Sessions
The stream disconnected
The stream disconnected
session attach command the CLI printed; its --since value
starts after the last output you received. Reattaching never resends your input.session send is refused with HTTP 409
session send is refused with HTTP 409
- The session is
headlessin theMODEcolumn.-pand--mode jsonruns cannot receive input. - The session has ended, or its input was closed.
- The sandbox is being stopped for idling. Wait a few seconds and send again: once it has stopped, a send wakes it.
STATUS column of mutagent helix session ls.My session shows stopped-for-idling, or send returns HTTP 404
My session shows stopped-for-idling, or send returns HTTP 404
stopped-for-idling means the sandbox had no activity for 15 minutes and was stopped; an
interactive session was checkpointed first. Send it a message and it wakes, restored from that
checkpoint, and gets the message:mutagent helix session restore hs1_… restores an interactive session by hand.
See Idle sandboxes.My reference stopped working after a restore
My reference stopped working after a restore
mutagent helix session ls, where
it has status restored.restore is refused with HTTP 409 MANAGED_AGENT_RESTORE_UNSUPPORTED
restore is refused with HTTP 409 MANAGED_AGENT_RESTORE_UNSUPPORTED
mutagent helix agent @<slug>.session checkpoint is refused with HTTP 409
session checkpoint is refused with HTTP 409
restore printed yellow lines
restore printed yellow lines
--on-drift refuse, a
restore whose transcript names missing files stops before switching.Ctrl-C, abort, and signal do different things
Ctrl-C, abort, and signal do different things
- Ctrl-C on a launch sends SIGINT to Helix in the sandbox and waits for it to exit.
- Ctrl-C on
session attachonly stops watching. session send <reference> --type abortends the current turn; the session keeps running.session signal <reference> --forcesends SIGINT, or SIGTERM with--type SIGTERM, even when Helix has stopped reading its input. Without--forceit refuses and sends nothing.
Environments
A variable is refused as an LLM provider key
A variable is refused as an LLM provider key
--allow-provider-key and store the value as a secret.A variable name is reserved by the platform
A variable name is reserved by the platform
Environment not found
Environment not found
mutagent env ls and the selected workspace. Environments belong to one workspace.Nothing to set
Nothing to set
KEY=VALUE, --secret KEY=VALUE, --from-file <path>, or
--secrets-from-file <path>.env rm, env unset or env set --replace refuses without --force
env rm, env unset or env set --replace refuses without --force
mutagent env rm <name> deletes the Environment and its secrets, mutagent env unset <name> <KEY>
removes entries, and env set --replace removes every entry you did not name, so all three
require --force. None of them asks for confirmation: without --force they exit 1 with
CONFIRMATION_REQUIRED and change nothing.LLM provider mirroring
mirror exits with code 1 and writes nothing
mirror exits with code 1 and writes nothing
mirror cannot ask for confirmation, so it refuses and writes nothing. Exit
code 1 is also used when at least one entry failed to copy; the report says which. Run
mutagent providers mirror --json to see the plan, review it, then run it again with --yes.mirror exits with code 3
mirror exits with code 3
mutagent login and select a workspace.An entry is skipped
An entry is skipped
mutagent providers add instead. See Mirror your local Helix setup.