Install

Install MUON on macOS

MUON ships as a native macOS app (Apple silicon) that hosts its own local backend and background runner — there is nothing else to start. The v1 build is unsigned, so the first launch needs one extra step past Gatekeeper.

Requirements

  • macOS on Apple silicon (arm64). Intel/universal builds are a follow-up, not available in v1.
  • git installed and on your PATH. MUON works on git workspaces and shells out for identity, diffs and merges.
  • At least one coding-agent CLI installed and logged in. MUON drives your own agents; it never ships or authenticates one for you.
AgentInstallLog in (you run this)
Claude Codenpm i -g @anthropic-ai/claude-coderun claude and sign in
Codexnpm i -g @openai/codexcodex login
Cursorcurl https://cursor.com/install -fsS | bashcursor-agent login
OpenCodecurl -fsSL https://opencode.ai/install | bashopencode auth login
Kirocurl -fsSL https://cli.kiro.dev/install | bashkiro-cli login or KIRO_API_KEY for headless use

Each lane plays its strongest position

Claude Code and Codex build, lead, and hold the coordinator seat. Cursor runs review-class roles (reviewer, QA, architect, scout) with a guarantee attached: it reads and judges, and your workspace stays untouched. OpenCode is the crew's scout, and MUON forwards it no credential at all. Kiro runs governed worker roles; it can also hold the attached coordinator seat. MUON forwards a Kiro API key only to the child when one is configured.

Using Kiro? Set it up first

Kiro needs a little more than an install and a login: an IAM Identity Center login also needs a profile, and Kiro needs at least one fleet seat. Follow Set up Kiro for MUON before muon mcp install kiro, or run muon kiro doctor for a guided check.

Get the app

Download the app from the download page: grab MUON-<version>-arm64.dmg, open it, and drag MUON into Applications. Every artifact ships with a published SHA-256 checksum (SHA256SUMS) so you can verify what you got before you open it.

First launch: getting past Gatekeeper

Because the v1 build carries no Developer ID signature, macOS blocks the very first launch and calls MUON an app from an “unidentified developer.” You only do this once.

  1. 01

    System Settings → Privacy & Security → Open Anyway

    Double-click MUON.app once. When macOS blocks it, open System Settings → Privacy & Security, scroll to the “MUON was blocked” notice, and click Open Anyway. This is the path on current macOS releases.

  2. 02

    Older macOS: right-click → Open

    On older releases you can instead Control-click (or right-click) MUON.app, choose Open, then confirm Open in the dialog.

  3. 03

    Or: clear the quarantine flag from the Terminal

    xattr -dr com.apple.quarantine /Applications/MUON.app

    This is the standard macOS mechanism for an unsigned app you trust — the same thing “Open Anyway” does. Run it once, after the app is in /Applications.

Install the CLI and TUI

The terminal surfaces install with one command (requires Node 20+ and npm on your PATH):

curl -fsSL https://getmuon.com/install.sh | bash

That installs muon (the CLI — it auto-starts the local brain on first use, so there is no server to run) and muon-tui (the full-screen terminal cockpit). On macOS it also installs the desktop app, which carries the brain; pass --no-desktop for the CLI alone. Then run one command:

muon setup

It verifies your GitHub identity (MUON stays locked until you do), registers MUON as an MCP server with the coding agents you choose, and starts the brain and runner. For the details, see the CLI reference and the MCP guide.

“Unsigned” — why, and is it safe?

MUON's v1 build is not signed with an Apple Developer ID certificate and is not notarized. Treat it as a controlled build, not (yet) a certificate-verified one.

  • Why: Developer ID signing requires an active Apple Developer Program membership; the entitlements, notarization hook and config seam already exist so it can flip on later with no rework.
  • What it means for you: macOS quarantines and warns on first launch. There is no other behavioral difference — MUON still runs entirely on your machine.
  • How to trust the build: every release ships a published SHA256SUMS file next to the download — verify the DMG's checksum before opening it.

Auto-update

From a terminal, muon updateupdates the CLI and the app together and brings MUON back up if it was running. In the app, the sidebar's Updates panel checks MUON's release feed when you click Check for updates, or on every launch if you turn that on (it is off by default).

An app installed in /Applications applies the update itself. It downloads the update, verifies it against the feed, swaps the app in place and relaunches, keeping a rollback copy until the new version boots. Every step is your click. A copy anywhere else can only tell you a newer release exists.

Anonymous usage telemetry is on by default

MUON reports which surfaces and commands are used, whether dispatches succeed, and model token counts and cost. Turn it off in the first-run wizard, in Settings → Privacy, or with muon telemetry off. muon telemetry status prints exactly what is sent, including the one exception: MCP tool calls are captured in full. The privacy page has the details.

Where MUON stores data

PathWhat
~/Library/Application Support/MUON/Settings, the embedded SQLite brain, the graph store, the lockfile
…/MUON/logs/brain.logEmbedded backend log
…/MUON/logs/runner.logSandboxed runner boot, lease, dispatch and recovery log

Uninstalling: delete MUON.app. Clearing the data directory is a manual step today.