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
Arguments
| Name | Type | Required | Description |
|---|
--out | string | no | Write local config to this path. Use - for stdout. Default: murmur.local.yaml in the .murmur/ directory. |
--non-interactive | bool | no | Skip prompts and the OAuth flow — read credentials from environment variables instead. Requires an existing murmur.yaml. Default: false. |
--skip-ssh-keys | bool | no | Skip SSH key discovery. Use in environments without key pairs. Default: false. |
--commit-signing | bool | no | Upload a signing key to GitHub for verified commits. In interactive mode, you are prompted when this flag is not set. Default: false. |
--upload | bool | no | Upload 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:
- GitHub authentication — Discovers your GitHub token via the
gh CLI. If gh is not authenticated, opens gh auth login for you.
- Tenant selection — Lists the tenants you belong to and lets you pick one. If only one tenant exists, it is selected automatically.
- Workspace selection — Lists workspaces for the selected tenant and lets you pick one.
- 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.
- OpenAI credentials — Checks for
OPENAI_API_KEY in the environment and prompts for confirmation.
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.
- Profile encryption — Encrypts your credentials and writes
murmur.local.yaml (personal, gitignored).
- Profile upload — Optionally uploads your profile so you can spawn agents from the dashboard.
- 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:
| Variable | Purpose |
|---|
CLAUDE_CODE_OAUTH_TOKEN | Claude OAuth access token. |
CLAUDE_CODE_OAUTH_REFRESH_TOKEN | Claude OAuth refresh token. |
ANTHROPIC_API_KEY | Anthropic API key (alternative to OAuth tokens). |
OPENAI_API_KEY | OpenAI 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
▸ 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
Errors
| Code | Meaning | What to do |
|---|
gh CLI not found | The gh CLI is not installed. | Install it from cli.github.com. |
no .murmur/murmur.yaml found | Non-interactive mode requires an existing config file. | Run interactive murmur setup first, or create .murmur/murmur.yaml manually. |
no tenants found | Your 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 required | No credentials were provided. | Supply at least one credential via the interactive prompts or environment variables. |
murmur.yaml is required | No config file exists and creation was declined. | Run murmur setup from a git repository, or create .murmur/murmur.yaml manually. |