Installation
Requirements
- macOS, Linux, or Windows
- At least one AI CLI tool installed:
- Claude Code
- Gemini CLI
- Or any other supported tool
Install Methods
Homebrew (Recommended)
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-agentsperforms 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 runningmurmurddaemon is restarted onto the new binary too. Without the flag,mur updateprints 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.
Optional: Semantic Search
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
- Quick Start — Initialize and create your first pattern
- Configuration — Customize tools, search, and learning