Skip to main content
Murmur supports layered configuration: a shared murmur.yaml committed to the repo, a gitignored murmur.local.yaml for per-developer credentials, and environment variable overrides for CI or special cases.

murmur.local.yaml

Keep murmur.local.yaml and all murmur.*.local.yaml files in .gitignore. murmur setup adds .murmur/murmur.local.yaml and .murmur/murmur.*.local.yaml to your .gitignore automatically.
The primary local overlay lives at .murmur/murmur.local.yaml. This file is gitignored and contains per-developer settings that should not be committed to the repository. It is created by murmur setup. murmur login also updates the identity_name and username it records.

Fields

username

Type: string Your username with the tenant’s identity provider. Used to associate agents with your identity, scope agent listings, and determine authorization.

git_name and git_email

Type: string The git author identity your agents commit with.

ssh_public_keys

Type: array of strings SSH public keys authorized for connecting to your agent VMs via murmur ssh. Add a key for each machine you work from. Keys are sent with each spawn and injected into the VM’s authorized_keys. murmur setup discovers them from ~/.ssh (skip with --skip-ssh-keys).

encrypted_secrets

Type: map of secret name to encrypted blob Static developer credentials murmur setup collected, such as ANTHROPIC_API_KEY, OPENAI_API_KEY, SIGNING_KEY, and GH_TOKEN when you chose a fixed GitHub token. Each value is encrypted with the tenant’s KMS key. Only the control plane can decrypt it.

identity_name

Type: string (optional, default: default) The OS-keychain identity this repo signs in with. Set it with murmur setup --identity or murmur login --identity. The credential itself stays in the keychain.

Other fields

Any murmur.yaml field can also be set here to override the shared value for your own spawns, for example suppress_events, sleep_timeout, autopilot_timeout, or model.

Subscription credentials

Manage Claude and Codex subscriptions with murmur setup subscription. Their tokens are stored as encrypted server-side secrets referenced by your developer profile, rather than in murmur.local.yaml. Adding, updating, or removing a subscription changes that stored set directly; no separate profile upload is needed.

Explicit path overrides

For maximum control, bypass walk-up discovery entirely with explicit file paths:

MURMUR_CONFIG

Replaces walk-up discovery. Murmur loads the shared config from this exact path instead of searching for .murmur/murmur.yaml up the directory tree.

MURMUR_LOCAL_CONFIG

Overrides the local overlay path. Useful when your local settings live outside the repository, for example in ~/.config/murmur/.

Environment variable reference

The full set of environment variables that affect Murmur configuration: Every other config field follows the same rule: uppercase its YAML path, join the segments with _, and prefix MURMUR_.

Precedence rules

When the same setting appears in multiple sources, the highest-precedence source wins:
For named contexts, context-specific files replace the defaults entirely: murmur.dev.yaml is loaded instead of murmur.yaml, not merged with it. Similarly, murmur.dev.local.yaml replaces murmur.local.yaml. Environment variables always take highest precedence, regardless of which context is active.