Skip to main content
Starts a new agent in a workspace. The agent provisions a VM, clones the workspace’s repositories, and begins working on the given task. The agent works independently and reports results. The agent clones the workspace’s repositories at the base branches that workspace declares, wherever you run the command from. Add --repo to clone a repository the workspace does not declare, or to pin a different base branch — including your own feature branch, which must be pushed to origin first, since the agent clones from the remote and not from your working tree.

Synopsis

The slug is a short identifier for this agent. It appears in status output, PR titles, and logs. The description is the task: everything after the slug is joined into a single string. The description is required unless --resurrect is set. Flags may appear before or after the positionals. A description word that starts with a dash is read as a flag; pass -- before the positionals to keep such words literal. When --flight is set, the slug is optional. It defaults to flight-<name>.

Arguments

Output

On success, prints the spawned agent’s slug and a summary of follow-up commands:
The Dashboard: line appears when the server returns a dashboard URL. With --json, the command prints the SpawnResponse as JSON instead. When --wait is set, the command blocks until the agent is terminal or at rest, then prints a one-line outcome (wait ended: …) and the agent’s full status (same format as murmur status). With --json, it prints only the AgentStatus as JSON.

Examples

Spawn an autonomous agent

Spawn with a persona

The --agent flag selects an agent persona: a predefined configuration that shapes the agent’s behavior and system prompt.

Add a repo or override a base branch

The agent clones the workspace’s repositories by default. Use --repo to add a repository the workspace does not declare, or to override a workspace repository’s base branch. The format is URL, URL=base, or URL=base:working. Name each repository at most once. To start an agent from a branch you are working on, pin it:

Spawn in a specific workspace

If your murmur.yaml already sets a workspace, you can omit --workspace.

Fork from another agent

The new agent starts with all the context from the fix-auth agent’s session. Always use a distinct slug when forking to avoid branch name conflicts.

Resurrect a previous session

Restores the agent’s prior context for the fix-auth slug. If a previous session is still shutting down, the command waits for it to finish before spawning.

Wait for completion

The command blocks until the agent is terminal or at rest, then prints the outcome and full status. Under the default on_idle: sleep policy, a finished agent rests rather than completing.

Forward environment variables

-e API_KEY reads the value from your current shell environment. -e DATABASE_URL=postgres://localhost/mydb sets it explicitly. The agent receives these as environment variables on its VM. Values are encrypted by the server before they reach the agent’s VM. Set a variable on the top-level spawn to give it to the whole subtree; children inherit their parent’s secrets. Secret inheritance is independent of the identity the agent uses. A spawn under a service profile receives -e values alongside the profile’s credentials, while GH_TOKEN remains the profile’s minted GitHub token.

Execute a flight

Resolves the billing-migration flight from the tenant catalog and spawns a pilot agent to execute it. The slug defaults to flight-billing-migration. Pass --input to provide context variables the flight expects.

Spawn with a task checklist

Each --task flag adds a checklist item the agent tracks and completes.

Tag an agent

Each --tag attaches a tag for grouping and filtering in the dashboard. A tag name that does not yet exist is created automatically.

Confine an agent to the repositories it works in

The agent may reach only the repositories this spawn involves: the workspace’s repos, their pull-request upstreams, and the workspace’s plugins, and holds no GitHub token of its own; each GitHub operation is authorized and credentialed individually. See Repository confinement for what changes for the commands the agent runs.

Propose a spawn for review

Nothing spawns yet. The command stages a SpawnAction change-request as PENDING for review. A reviewer can approve it with a command such as murmur change-request approve. Approval executes the spawn under the infra-bot service profile, so the agent acts as the profile rather than the proposer or approver. Proposing requires change-request.create plus workspace.read; approval requires service-profile.assume on the profile.

Errors