Installation

Requirements

Install Methods

brew tap mur-run/tap && brew install mur

From Source (Rust)

cargo install --git https://github.com/mur-run/mur.git

Upgrading from v1 (Go)

If you have the Go version installed:

# Install v2 via Homebrew
brew tap mur-run/tap && brew install mur

v2 reads v1 patterns automatically — no migration step required.

Verify Installation

mur --version

You should see something like:

mur 2.0.0-alpha.7

Updating

mur update                    # upgrade in place (uses brew if you installed via brew)
mur update --check            # just report whether a newer version exists
mur update --restart-agents   # upgrade, then restart agents + daemon onto the new binary

An upgrade replaces every MUR binary, which has two consequences worth knowing:

  • Running agents keep the old binary until restarted. --restart-agents performs the restart for you, gracefully (the in-flight turn drains first) and only for agents that are actually stale — then verifies each one actually came back, retrying a missed respawn with an active service kick, and ends with a per-agent ✓/✗ summary. An agent that cannot be confirmed running fails the command instead of scrolling by as a note. A running murmurd daemon is restarted onto the new binary too. Without the flag, mur update prints a checklist of what is left to do.
  • MCP pins survive upgrades on their own. MUR's bundled MCP server re-pins itself at agent start, and third-party pins cover binaries an upgrade never touches — no manual re-pinning is needed.

Keep specific agents out of the automatic restart:

# ~/.mur/config.yaml
update:
  restart_exclude: [research-worker-1]

macOS: keep Keychain grants across upgrades

If you store provider keys in the macOS Keychain, the grant you approved is bound to the binary's code-signing identity. Installed binaries are ad-hoc signed by default, which gives every upgrade a new identity — so the grant lapses, and an agent started by the Hub or by a service cannot show the re-authorization prompt. It fails quietly instead.

If you have a Developer ID certificate, name it and mur update re-signs the installed binaries with it after each upgrade, keeping one stable identity and one grant:

# ~/.mur/config.yaml
update:
  codesign_identity: "Developer ID Application: Your Org (TEAMID)"

MUR_CODESIGN_IDENTITY works as an environment fallback. Without either, mur update warns and leaves the install ad-hoc — everything still works, but expect to re-authorize in the foreground after an upgrade.

For semantic pattern search, configure an embedding provider. mur init will guide you through this interactively. Or set up manually:

# Option 1: Ollama (free, local — recommended)
ollama pull qwen3-embedding:0.6b   # ~1.5GB RAM, fast
# or: qwen3-embedding:4b (8GB), qwen3-embedding:8b (16GB), nomic-embed-text (300MB)

# Option 2: OpenAI (~$0.001 per 200 patterns)
export OPENAI_API_KEY=sk-...

Then rebuild the index:

mur reindex

Next Steps

  1. Quick Start — Initialize and create your first pattern
  2. Configuration — Customize tools, search, and learning