> ## 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.

# Customize your Workspace

> Run murmur init to bake a custom VM image and provision a Murmur workspace from the CLI — picks a recipe, validates it, and registers the result.

`murmur init` is an interactive wizard that turns one or more local repos into a fully provisioned [Workspace](/concepts/workspaces), including the underlying [Recipe](/concepts/recipe), [Image](/concepts/images) bake, and a smoke test.

<Note>
  Run [`murmur setup`](/quickstart#step-3-set-up) first. `murmur init` reads your tenant config from `.murmur/murmur.yaml`, which `setup` creates.
</Note>

## Run `murmur init`

From inside one of the repos your Workspace will span:

```bash theme={null}
murmur init
```

The wizard inspects your repo(s), generates a [Recipe](/concepts/recipe), bakes the [Image](/concepts/images), runs a smoke test, and creates or updates the Workspace. The full flow takes 10 to 20 minutes, most of it the unattended bake. You only need to be at the keyboard for the first few minutes.

You only need to run `init` once per Workspace. The wizard will ask you which repos to include, so list every repo your agents need to clone onto the same VM.

<Card title="Heads up: --dangerously-load-development-channels" icon="lightbulb-exclamation-on">
  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](/concepts/events) (bake progress, smoke-test status, child lifecycle) into the wizard's conversation as `<channel>` tags. Without it the wizard can't observe the bake-iterate-fix loop and 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`](/cli/director) and by every interactive agent VM that Murmur spawns.

  **When Claude Code prompts you to confirm channels, say yes and opt in.** The wizard can't observe the bake without it.
</Card>

## What gets customized

The custom part lives in your **Recipe**, the shell script the wizard generates and bakes into a VM Image. Typical things to install:

* Language toolchains beyond Node.js (Go, Python, Ruby, Java)
* Build tools (Docker, Bazel, make)
* Private CLIs or SDKs
* System packages your repos need (`libpq-dev`, ImageMagick, ffmpeg)
* Environment variables and dotfiles

See [Bake a custom agent Image](/guides/custom-images) for the full anatomy of a Recipe.

## Next steps

<CardGroup cols={2}>
  <Card title="Spawn your first agent" icon="rocket" href="/spawn-your-first-agent">
    Launch an agent into the Workspace you just customized.
  </Card>

  <Card title="Bake a custom agent Image" icon="oven" href="/guides/custom-images">
    Edit your Recipe to add tools, libraries, or private dependencies.
  </Card>
</CardGroup>
