How do I delegate coding tasks from Claude Code to a cheaper model?
Install the muse plugin, start a new session, run muse login once, then run /muse:delegate with a brief that names the exact files, says what must not change and gives a runnable acceptance check. A Muse Code worker makes the edit in its own git worktree, and a Claude supervisor runs the check itself and sends the worker back until the final check passes. For a batch of independent tasks, /muse:fleet decomposes the job and runs one supervisor per task.
What is Muse Code, and how does it compare with Claude Code?
Muse Code is the coding agent behind Meta's Muse Code API, driven through the muse command-line tool. Here it does not replace Claude Code: muse does the typing, and Claude Code plans the work, reviews each patch and runs your acceptance check. The plugin needs muse on your PATH and credentials from muse login. By default delegated work uses the newest contributor-tier model from muse's own catalog; you can pin a full-rate model such as muse-spark-1.3 instead.
Does the plugin send my code or secrets anywhere?
Prompts, the files the worker reads and its patches go to Meta's Muse Code API under the model you selected, and contributor-tier models state that content may be used for product improvement. Nothing is sent anywhere else: there is no telemetry, no analytics and no network call in the plugin outside the muse CLI. Before a worker starts, the worktree is scanned and delegation is refused on a PEM private-key block, an AWS key id, or a GitHub, Slack, Stripe or Anthropic-format token. For proprietary code, pin muse-spark-1.3 at full rate or do not delegate it.
Can a Claude Code subagent use a different, cheaper model?
A Claude Code subagent can run on a smaller Claude model, but it still types the code itself. muse routes the typing to a different model entirely: a Muse Code worker edits in an isolated git worktree, while the muse-supervisor subagent (on Opus) reads the patch, runs your acceptance check itself and re-prompts the worker with specific defects. A PreToolUse hook denies the supervisor's own writes, and a SubagentStop hook blocks it from stopping while its task has no verdict.
Does it apply patches automatically?
No. No command applies a patch: every run stops at a verdict and a patch path, because an accepted patch is still a patch you have not read. Worktrees and branches stay until you remove them with /muse:cleanup, which is a dry run unless you pass --yes.
Does it work on Windows?
The free offline suite runs in CI on Linux under Python 3.9, 3.11 and 3.13, and on Windows under Git Bash as a blocking job; development is on macOS. You need the muse CLI, git, Python 3.9 or later and Claude Code.
What is the difference between completed and accepted?
Completed means the worker stopped. Accept means a supervisor ran a check and the final one passed. finish --verdict accept refuses unless the final check passed against the tree being harvested; --accept-unverified with a reason is the deliberate way past it, and /muse:status prints that reason.
Does it save Claude Code tokens?
It moves the typing off Claude. The Muse Code worker generates the code, and Claude spends its tokens reading the patch and running the check rather than writing boilerplate. The plugin itself adds about 625 always-on tokens, against a 750-token ceiling the project holds itself to; the seven slash commands are opt-in, and the hooks add context only when they have something to report.