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.

These commands handle initial developer setup and ongoing authentication. Most developers run murmur setup once per repo and never think about authentication again.

murmur setup

The primary onboarding command. Gathers your credentials (GitHub token, Claude token, SSH signing key), encrypts them, and writes the encrypted profile to .murmur/murmur.local.yaml.
murmur setup [flags]

Flags

FlagTypeDescription
--outstringOutput path for the encrypted local config (default: .murmur/murmur.local.yaml)
--non-interactiveboolCI-friendly mode. Reads credentials from environment variables instead of prompts.
--skip-ssh-keysboolSkip SSH signing key generation (useful in CI where commit signing is not needed)
--commit-signingboolUpload the SSH signing key to GitHub for verified commit badges
--uploadboolUpload the encrypted profile to the platform (for VMs to use)

Interactive flow

murmur setup
The interactive setup walks through these steps:
  1. GitHub identity: Discovers your GitHub login and token via gh auth token
  2. Tenant selection: Lists your available tenants (personal account and orgs with the Macroscope GitHub App installed) and prompts you to choose
  3. Claude credentials: Opens a browser for Claude OAuth authorization, or prompts for an API key
  4. OpenAI key (optional): Discovers OPENAI_API_KEY from your environment for Codex backend support
  5. SSH signing key: Generates an ed25519 SSH key pair for signing commits on VMs
  6. Workspace config: Creates .murmur/murmur.yaml (shared team config) if it does not already exist
  7. Encrypted profile: Encrypts all credentials and writes .murmur/murmur.local.yaml (gitignored)

Non-interactive mode (CI/automation)

For CI pipelines and automation, set credentials via environment variables and run in non-interactive mode:
export GH_TOKEN="ghp_..."
export ANTHROPIC_API_KEY="sk-ant-..."
murmur setup --non-interactive --skip-ssh-keys
Environment variablePurpose
GH_TOKENGitHub personal access token
ANTHROPIC_API_KEYAnthropic API key (alternative to OAuth)
OPENAI_API_KEYOpenAI API key for Codex backend (optional)

Commit signing

Upload your SSH signing key to GitHub so commits made by agents show as “Verified”:
murmur setup --commit-signing
This adds the public key to your GitHub account’s SSH signing keys. Commits signed with this key on VMs will display the verified badge on GitHub.

Named contexts

Create separate credentials for different environments using --out and MURMUR_CONTEXT:
# Set up staging credentials
MURMUR_CONTEXT=staging murmur setup --out .murmur/murmur.staging.local.yaml

# Set up production credentials
MURMUR_CONTEXT=production murmur setup --out .murmur/murmur.production.local.yaml

What gets written

FileContentVCS
.murmur/murmur.yamlWorkspace name, tenant, model defaults, API addressCommitted (shared)
.murmur/murmur.local.yamlKMS-encrypted developer profile (tokens, keys)Gitignored
.murmur/.gitignorePatterns for *.local.yaml and other sensitive filesCommitted

murmur install

Interactive guided setup for .murmur/murmur.yaml. This creates the shared workspace configuration that the entire team uses.
murmur install
The install wizard prompts for:
  1. Workspace name: A short identifier for your team/project
  2. Repositories: Which repos agents should clone
  3. Default model: Claude model for agent sessions
  4. API endpoint: Platform API address (defaults to the hosted service)
murmur install
# ? Workspace name: backend-team
# ? Repository URL: https://github.com/acme/api
# ? Add another repository? (y/N): n
# ? Default model: claude-sonnet-4-6
# Created .murmur/murmur.yaml
murmur install only creates the shared config. Run murmur setup afterward to create your personal encrypted profile.

murmur install-repo

Install the GitHub webhook and Actions workflow for real-time event delivery to agents. This enables agents to receive PR comments, CI results, and other GitHub events.
murmur install-repo --webhook-url <url>

Flags

FlagTypeDescription
--webhook-urlstringThe webhook endpoint URL for event delivery (required)
murmur install-repo --webhook-url https://api.murmur.ai/webhooks/github
This command:
  1. Installs a GitHub webhook on the repository pointing to the provided URL
  2. Configures the webhook to deliver events: push, pull_request, issue_comment, check_run, check_suite
  3. Optionally sets up a GitHub Actions workflow for CI event forwarding
The webhook URL is typically the Murmur API’s GitHub webhook endpoint. It enables real-time event delivery so agents can react to PR comments, CI failures, and code reviews.

murmur auth

Authenticate with the Murmur API. Opens a browser for GitHub OAuth authorization and outputs export lines with the resulting token.
murmur auth

What happens

  1. Opens your browser to GitHub’s OAuth authorization page
  2. After authorization, receives a Murmur identity token
  3. Prints export lines to set the token in your shell
murmur auth
# Opening browser for GitHub OAuth authorization...
# Authorization successful.
#
# Export these in your shell:
# export MURMUR_TOKEN="eyJhbGciOiJSUzI1NiIs..."
You can copy-paste the export line or source it:
eval $(murmur auth 2>/dev/null)

When to use

  • First time: Part of initial setup (usually handled by murmur setup)
  • Token expired: Re-authenticate when your token expires
  • CI pipelines: Generate a token for automation scripts
  • Troubleshooting: Verify authentication works independently of murmur setup

murmur connect

Test connectivity to the Murmur API. Verifies that the CLI can reach the API endpoint and that your credentials are valid.
murmur connect

Example output

API:     https://api.murmur.ai
Status:  connected
Tenant:  acme-corp
User:    alice
Latency: 45ms
If connectivity fails, the output includes diagnostic information:
API:     https://api.murmur.ai
Status:  failed
Error:   authentication failed: token expired
Hint:    Run 'murmur auth' to refresh your token

Troubleshooting checklist

SymptomLikely causeFix
connection refusedAPI endpoint unreachableCheck network, VPN, or api.address in config
authentication failedToken expired or missingRun murmur auth or murmur setup
tenant not foundWorkspace points to wrong tenantCheck workspace in .murmur/murmur.yaml
permission deniedGitHub App not installed for orgInstall the Macroscope GitHub App on your org

murmur version

Print version information.
murmur version [flags]

Flags

FlagTypeDescription
--clientboolPrint only the client version (no API call)
# Client version only (offline)
murmur version --client
# murmur v0.42.0 (abc1234) built 2025-01-15

# Client and server versions
murmur version
# Client: v0.42.0 (abc1234) built 2025-01-15
# Server: v0.42.0
Use --client for a quick offline check (no API connectivity required). Without the flag, the CLI also queries the API for the server version.