Skip to main content

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.

Gathers your credentials, discovers your tenant and workspace, encrypts your profile, and writes the local config file (murmur.local.yaml). Run this once per repo to get ready to spawn agents.

Synopsis

murmur setup [flags]

Arguments

NameTypeRequiredDescription
--outstringnoWrite local config to this path. Use - for stdout. Default: murmur.local.yaml in the .murmur/ directory.
--non-interactiveboolnoSkip prompts and the OAuth flow — read credentials from environment variables instead. Requires an existing murmur.yaml. Default: false.
--skip-ssh-keysboolnoSkip SSH key discovery. Use in environments without key pairs. Default: false.
--commit-signingboolnoUpload a signing key to GitHub for verified commits. In interactive mode, you are prompted when this flag is not set. Default: false.
--uploadboolnoUpload your developer profile to the server for dashboard spawning. In interactive mode, you are prompted. Default: false.

What it does

In interactive mode, murmur setup walks through these steps:
  1. GitHub authentication — Discovers your GitHub token via the gh CLI. If gh is not authenticated, opens gh auth login for you.
  2. Tenant selection — Lists the tenants you belong to and lets you pick one. If only one tenant exists, it is selected automatically.
  3. Workspace selection — Lists workspaces for the selected tenant and lets you pick one.
  4. Claude credentials — Prompts for an Anthropic API key, or offers to run a Claude OAuth flow for subscription-based access. Skippable if you use an OpenAI key instead.
  5. OpenAI credentials — Checks for OPENAI_API_KEY in the environment and prompts for confirmation.
  6. murmur.yaml creation — Creates .murmur/murmur.yaml (shared team config) if it does not exist, with your tenant and workspace. Adds murmur.local.yaml to .gitignore.
  7. Profile encryption — Encrypts your credentials and writes murmur.local.yaml (personal, gitignored).
  8. Profile upload — Optionally uploads your profile so you can spawn agents from the dashboard.
  9. MCP server — If Claude Code is installed, offers to register murmur as an MCP server (claude mcp add).

Non-interactive mode

With --non-interactive, murmur setup reads credentials from environment variables instead of prompting. An existing .murmur/murmur.yaml is required. The recognized variables are:
VariablePurpose
CLAUDE_CODE_OAUTH_TOKENClaude OAuth access token.
CLAUDE_CODE_OAUTH_REFRESH_TOKENClaude OAuth refresh token.
ANTHROPIC_API_KEYAnthropic API key (alternative to OAuth tokens).
OPENAI_API_KEYOpenAI API key for Codex backend.
At least one of a Claude OAuth token, an Anthropic API key, or an OpenAI API key is required.

Examples

Interactive setup in a new repo

murmur setup
▸ Discovering GitHub token...
✓ gh CLI authenticated as "alice"
  Use this token? [Y/n] y
▸ Discovering tenants...
  Using personal tenant: github_oauth/alice
▸ Discovering workspaces...
  Using workspace: backend
▸ Authenticating with Claude...
✓ Authenticated (expires in 31536000 seconds, scopes: user:profile user:inference user:file_upload)
▸ Resolving identity...
  identity: github_oauth/alice
▸ Gathering credentials and SSH keys...
  Alice Smith <alice@example.com> (github: alice)
  2 SSH key(s)
✓ Wrote .murmur/murmur.local.yaml (identity: github_oauth/alice)
  Upload developer profile to the server for dashboard spawning? [Y/n] y
▸ Uploading credentials to CatalogUser...
✓ Credentials uploaded to CatalogUser

✓ Setup complete — you're ready to use murmur.

Non-interactive setup in CI

export ANTHROPIC_API_KEY="sk-ant-..."
murmur setup --non-interactive --skip-ssh-keys --upload

Write local config to stdout

murmur setup --out -

Errors

CodeMeaningWhat to do
gh CLI not foundThe gh CLI is not installed.Install it from cli.github.com.
no .murmur/murmur.yaml foundNon-interactive mode requires an existing config file.Run interactive murmur setup first, or create .murmur/murmur.yaml manually.
no tenants foundYour GitHub account is not associated with any tenant.Contact your organization admin to be added.
at least one of a Claude OAuth token, an Anthropic API key, or an OpenAI API key is requiredNo credentials were provided.Supply at least one credential via the interactive prompts or environment variables.
murmur.yaml is requiredNo config file exists and creation was declined.Run murmur setup from a git repository, or create .murmur/murmur.yaml manually.