Getting started with Muse Code: from install to first merge
Meta’s terminal coding agent is deliberately minimal to set up: one command, one browser sign-in, and you’re driving a multi-agent session inside your own repository. Here’s the whole path, including the parts worth slowing down for.
One command, one binary
Muse Code ships in beta for macOS and Linux, and the install is a single line:
curl -fsSL https://dev.meta.ai/install.sh | bash
The script places a muse binary on your PATH; muse --version confirms it landed. Piping a remote script into bash is a convenience trade-off with any vendor, so cautious teams should download the script first (curl -fsSL https://dev.meta.ai/install.sh -o install.sh), read it, and then run it. Note what’s deliberately absent: there is no IDE plugin and no desktop app. Unlike some competing agents, Muse Code is terminal-only by design.
Authentication in the browser, keys for machines
The first time you run muse, it opens your browser to sign in at dev.meta.ai with a Meta developer account. Credentials cache locally afterward, so you won’t re-authenticate every session. Everything — access and billing alike — runs through the same Meta Model API account that serves the Muse Spark models directly.
For CI pipelines, scripts, and headless machines, skip the browser: create a key in the Model API dashboard (API keys → Create API key) and export it as MODEL_API_KEY. The key format looks like LLM|{numeric_id}|{secret} — keep it in an environment variable or secrets manager, never in code.
Pick a first task that proves the loop
cd into any git repository and run muse. The agent reads local context and opens a task loop; you describe outcomes in plain language. Resist the temptation to start with a grand refactor. The fastest way to understand Muse Code’s character is a small, verifiable task — something like “add a missing test for the parseDate function and make sure it passes.”
Within a couple of minutes you’ll watch the division of labor that defines the product: a worker agent drafts the change, a reviewer agent critiques it in the background, and the test actually runs. That worker-and-reviewer pattern is on by default for every task — it’s the reason Meta describes the product as multi-agent by default rather than multi-agent as an option.
Two cost levers to learn on day one
Muse Spark is a reasoning model: it thinks before it answers, and those thinking tokens bill as output. The /effort command dials reasoning up or down, so a routine rename doesn’t pay for deep deliberation while a gnarly concurrency bug can get it. Second, standing rules — your tone, format, conventions — belong in a system message once, not repeated in every prompt. Between the two, day-one usage bills stay boring, which is what you want.
Where to go next
Once the loop feels familiar, three built-in skills structure bigger work: /plan turns a task into an approval-gated plan, /grill stress-tests that plan until it holds up, and /goal keeps an agent driving toward the objective you set. We cover them in depth in the bundled skills post, and the full reference lives in the docs.