Skip to main content
Launches an interactive onboarding session that creates a recipe, validates the provisioning script, and sets up a workspace for the target repo. Runs Claude Code with a specialized persona that guides you through each step.

Synopsis

Arguments

Prerequisites

murmur init checks these prerequisites before starting:
  • Project root — The directory contains at least one recognized project marker (.git, go.mod, package.json, pyproject.toml, Cargo.toml, Gemfile, or Makefile).
  • Claude Codeclaude is on your PATH. Install with npm install -g @anthropic-ai/claude-code.
  • Claude authenticationclaude auth status succeeds. Run claude auth login if not.
  • MCP server — The murmur MCP server is configured in Claude Code. Run claude mcp add murmur -- murmur mcp if not.
  • murmur setup — A valid .murmur/murmur.yaml exists. Run murmur setup first.

What it does

The onboarding session runs as an interactive Claude Code conversation. The persona drives a workflow that:
  1. Inspects the repo to understand languages, frameworks, and build tools.
  2. Creates a provisioning script (.murmur/provisioning.sh) that installs dependencies and prepares the environment.
  3. Validates the script by running a bake-iterate-fix loop until the image builds cleanly.
  4. Creates the recipe and workspace in the catalog.
  5. Optionally runs a smoke test by spawning a test agent.
After the session completes, murmur init persists the workspace name to murmur.yaml so that murmur spawn uses it by default.
The onboarding session runs on your machine, not in a sandbox. Read-only operations and writes to .murmur/ are auto-approved. Other operations prompt you for confirmation.

Why murmur init passes --dangerously-load-development-channels

Under the hood, murmur init launches Claude Code with --dangerously-load-development-channels server:murmur. The flag opts the session into Claude Code’s channel transport, which Murmur uses to stream real-time events (bake progress, smoke-test status, child lifecycle) from the control plane into your conversation as <channel> tags. Without it the onboarding persona can’t observe the bake-iterate-fix loop or the test spawn, and the session falls back to blind polling.The dangerously- prefix is Claude Code’s wording for an opt-in developer feature, not a security warning specific to Murmur. The same flag is also used by murmur director and by every interactive agent VM that Murmur spawns, so all sessions can post to and receive from server:murmur.When Claude Code prompts you to confirm channels, say yes and opt in. The wizard can’t observe the bake without it.

Examples

Onboard the current repo

Onboard a different directory

Onboard with explicit names

Replace an existing recipe and workspace

Errors