See Flights and Events for the underlying model. Every pattern below shows the CLI form first, then a parallel MCP form where the same thing can be triggered from inside a running agent’s coding session. If you’d rather coordinate all of this conversationally, a director is the agent that runs the patterns below on your behalf.
Parent and child
The simplest pattern. From inside a running agent’s coding session, use the Murmur MCP tools to spawn a child, wait for it, and read its result:mcp__murmur__spawn, mcp__murmur__wait, and mcp__murmur__status. The same thing from a separate terminal uses murmur spawn and murmur status.
The parent gets a child_lifecycle event when the child finishes or fails. The child runs in its own VM with its own clean context, so a long, noisy investigation in the child doesn’t pollute the parent’s transcript. This is the right move when an agent realizes mid-stream that a sub-task is meaty enough to deserve its own focus, or when it’d benefit from a different persona (e.g. spawn a tester to write coverage while the parent keeps shipping the feature).
Fan out across many items
When you have the same task to run across a list (modules, files, repos), spawn one agent per item withmurmur each:
{} is replaced with the item from that line. From the MCP side, mcp__murmur__spawn accepts an each parameter:
Run a multi-step Flight
A Flight is a Markdown file that defines a DAG of agent tasks. You write the steps as headings, declare what each step depends on, and Murmur figures out what can run in parallel and what has to wait.design first, then kicks off backend and frontend in parallel (both depend only on design), and finally integration-test once both upstream PRs merge. The gate: ci directive tells the pilot to wait for CI green before considering a step done, so downstream work only starts on commits that actually pass tests.
For critical Flights (anything you’d hate to silently fail), add --pilot to enable the completion assessor. It runs an evaluation loop after the Flight finishes (up to 3 times) to check whether the goal was actually achieved, not just whether the steps ran. Useful for things like deploys, where “ran without errors” and “actually deployed correctly” aren’t the same thing:
Trigger a Flight from GitHub events
You can register a Flight to fire automatically on GitHub activity. Put anon: block at the top of the file:
murmur set (the CLI command, see murmur set):
bug automatically spawns this Flight. The agent triages, proposes, fixes, opens a PR, and gates on CI. Humans only get involved when there’s something interesting to review.
This pattern shines when the trigger is external and frequent: bug reports, dependabot PRs, CI failures, security alerts. Anything that arrives on a schedule you don’t control.
Stream follow-ups into a running agent
Sometimes you want to add more work to an agent that’s already going, instead of starting a new one: Start the agent withmurmur spawn and --on-idle keep-alive, then push follow-ups in with murmur queue add:
mcp__murmur__queue_add.
The agent keeps its full context (everything it already knows about your codebase, the conventions you use, the bugs it’s already worked around), so a follow-up costs less and lands faster than respawning. The --on-idle keep-alive flag tells the VM not to shut down when the agent thinks it’s done, so the queue keeps a path forward.
Set the delivery cadence at spawn time with --dequeue-strategy:
one delivers one queued message per turn (good when you want the agent to finish each follow-up before seeing the next). all delivers the whole queue at once. Default is auto, which delivers up to five follow-ups of one kind per turn and never mixes manual follow-ups with auto-generated events (PR comments, CI results, conflict resolutions) — your message always gets the agent’s undivided attention.
Watch what’s happening
For any of the patterns above, you can see the whole agent tree at once withmurmur status: