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
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
git_name and git_email
ssh_public_keys
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
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
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 examplesuppress_events, sleep_timeout, autopilot_timeout, or model.
Subscription credentials
Manage Claude and Codex subscriptions withmurmur 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
.murmur/murmur.yaml up the directory tree.
MURMUR_LOCAL_CONFIG
~/.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: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.