Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.murmur.dev/llms.txt

Use this file to discover all available pages before exploring further.

Creates a new agent. Configures the agent’s repo(s), branch, model, session mode, idle behavior, and task checklist, then launches it on an ephemeral VM. If the agent is already running, returns an error — use queue_add to send a follow-up instead. Equivalent to murmur spawn in the CLI.

Parameters

NameTypeRequiredDescription
slugstringyesAgent task slug (e.g. fix-auth-bug). When flight is set, defaults to flight-<name>.
descriptionstringyes (autonomous)Task description or follow-up message. Required for autonomous mode unless flight is set.
workspacestringyes (new spawns)Workspace name. The server resolves repos and environment from the workspace definition.
branchstringnoWorking branch for every repo in this spawn. Per-repo overrides in repos[].branch take precedence.
purposestringnoOne-sentence human-readable summary of the agent’s goal (e.g. “Add pagination to the users API”). Displayed in the dashboard. Max 240 characters.
modelstringnoModel override (e.g. claude-opus-4-6).
agentstringnoClaude Code agent persona (e.g. programmer, architect).
backendstringnoCode agent backend: claude (default) or codex.
reasoning_effortstringnoReasoning effort level. Claude: low, medium, high, xhigh, max. Codex: low, medium, high, xhigh. Empty = model default.
reasoning_summarystringnoCodex reasoning summary: auto, concise, detailed, none. Only valid for backend=codex.
verbositystringnoCodex verbosity: low, medium, high. Only valid for backend=codex.
service_tierstringnoCodex service tier: standard (default), fast, flex. Only valid for backend=codex.
reposobject[]noRepos to clone with optional branch overrides. Each entry must have clone_url. See Repo object.
session_modestringnoautonomous (default), interactive, or streaming.
completion_checkstringnonone (default) or assessor (run completion assessor up to 3x before idling).
on_idlestringnoIdle behavior: sleep (default), terminate, terminate_when_prs_resolved, or keep_alive.
dequeue_strategystringnoFollow-up dequeue strategy: all (default, drain all queued follow-ups), one (one per turn), or five (up to five per turn).
resurrectbooleannoResume a completed/killed agent on the same branch with its full conversation history. Requires the same slug. Default: false.
force_newbooleannoStart fresh even if a prior session exists. Default: false.
fork_fromstringnoBranch off another agent’s conversation into a new independent agent. Use a new slug — the fork gets the parent’s history but diverges from that point.
tasksstring[]noChecklist items the agent must complete.
append_system_promptstringnoText appended to the agent’s system prompt.
outstringnoExpected output artifact. Short keywords are expanded: pr (open a pull request), push (push changes, no PR), respond (just respond, no code changes). Freeform text is passed through verbatim.
flightstringnoFlight file path relative to .murmur/flights/ (e.g. deploy.md). When set, reads and executes the flight via a pilot agent.
flight_inputsobjectnoContext inputs for the flight, injected into the pilot prompt (e.g. {"repo": "org/repo", "number": "42"}). Only used when flight is set.
eachstringnoFanout: path to a file containing one item per line. Spawns one agent per line. slug and description must contain {} which is replaced with each item.

Repo object

FieldTypeRequiredDescription
clone_urlstringyesCanonical clone URL (e.g. https://github.com/org/repo).
base_branchstringnoBase branch to branch from (e.g. main). Resolved from tenant config or workspace default if omitted.
branchstringnoWorking branch for this repo. Overrides the top-level branch.

Response

Returns the slug of the spawned agent.
FieldTypeDescription
slugstringThe slug of the spawned agent.
When each is used, returns a list of spawned slugs instead:
FieldTypeDescription
slugsstring[]Slugs of all spawned agents.
countintegerNumber of agents spawned.

Examples

Basic autonomous agent

{
  "slug": "fix-auth-bug",
  "description": "Fix the authentication bypass in the login handler",
  "workspace": "backend",
  "out": "pr"
}
Response:
{
  "slug": "fix-auth-bug"
}

With model and persona

{
  "slug": "api-refactor",
  "description": "Refactor the users API to support pagination",
  "workspace": "backend",
  "model": "claude-opus-4-6",
  "agent": "architect",
  "on_idle": "terminate",
  "out": "pr"
}

Multi-repo spawn with branch overrides

{
  "slug": "cross-repo-fix",
  "description": "Update the shared proto and regenerate clients",
  "workspace": "platform",
  "branch": "proto-update",
  "repos": [
    {"clone_url": "https://github.com/org/protos", "branch": "update-user-proto"},
    {"clone_url": "https://github.com/org/api-server"}
  ],
  "out": "pr"
}

Resume a dead agent

{
  "slug": "fix-auth-bug",
  "resurrect": true,
  "description": "Continue fixing the auth bug — tests are still failing",
  "workspace": "backend"
}

Fork from another agent

{
  "slug": "fix-auth-v2",
  "fork_from": "fix-auth-bug",
  "description": "Try a different approach to the auth fix",
  "workspace": "backend",
  "out": "pr"
}

Flight execution

{
  "slug": "deploy-v2",
  "flight": "deploy.md",
  "flight_inputs": {"version": "2.1.0"},
  "workspace": "platform"
}

Fanout

{
  "slug": "lint-{}",
  "description": "Run linter on {}",
  "each": "/tmp/repos.txt",
  "workspace": "platform",
  "out": "pr"
}
Response:
{
  "slugs": ["lint-api-server", "lint-web-client", "lint-shared"],
  "count": 3
}

Errors

CodeMeaningWhat to do
ALREADY_EXISTSAn agent with that slug is already running.Use queue_add to send a follow-up, or pass force_new: true to start fresh.
INVALID_ARGUMENTMissing required field, invalid enum value, or resurrect and force_new both set.Check the error message and fix the input.
NOT_FOUNDWorkspace, flight, or fork source not found.Verify the workspace name, flight path, or fork_from slug.
UNAUTHENTICATEDIdentity token is missing or expired.Check credentials.
  • murmur spawn — equivalent CLI command
  • Agents — concept overview
  • status — check agent state
  • ls — list running agents
  • kill — cancel an agent
  • queue_add — send follow-up to a running agent
  • wait — block until an agent reaches a target phase