{
  "manifest_version": "1",
  "slug": "muse-code",
  "title": "Muse Code",
  "headline": "Run Meta's Muse Code on a remote server",
  "description": "Run Muse Code, Meta's terminal coding agent, on an always-on exe.dev VM: goals and subagents keep working after you disconnect, and sessions resume.",
  "category": "ai-agents",
  "tags": [
    "muse code",
    "meta muse code",
    "muse spark",
    "muse wonder",
    "meta ai",
    "ai coding agent",
    "remote development",
    "tmux"
  ],
  "url": "https://exe.dev/deploy/muse-code",
  "markdown_url": "https://exe-staging.dev/deploy/muse-code.md",
  "upstream": {
    "website": "https://dev.meta.ai/products/muse-code",
    "docs": "https://dev.meta.ai/docs/muse-code",
    "license": "Proprietary (Meta Model API Terms of Service)"
  },
  "example_vm_name": "my-muse-code",
  "time": "5 minutes",
  "stack": [
    {
      "name": "Muse Code",
      "detail": "`muse` 1.4, Meta's official installer; updates itself",
      "data": "~/.config/muse and ~/.local/share/muse"
    },
    {
      "name": "Your project",
      "data": "~/project"
    },
    {
      "name": "tmux",
      "detail": "keeps Muse running when you disconnect"
    },
    {
      "name": "Muse models",
      "detail": "Meta's Model API, signed in with your Meta account or an API key"
    }
  ],
  "access": [
    {
      "url": "ssh my-muse-code.exe.xyz",
      "who": "private",
      "what": "your terminal, with Muse in a tmux session"
    }
  ],
  "delivers": [
    "Muse Code installed with Meta's official installer, answering a test prompt with no account",
    "A project folder at `~/project` on persistent disk",
    "A `muse` tmux session that survives disconnects, ready for you to sign in to Meta"
  ],
  "deployable": true,
  "deploy": {
    "new_vm_url": "https://exe-staging.dev/new?prompt=Set%20up%20Muse%20Code%20on%20this%20VM%20by%20following%20the%20exe.dev%20recipe%20at%20https%3A%2F%2Fexe-staging.dev%2Fdeploy%2Fmuse-code.md%20from%20top%20to%20bottom.%0A%0AThe%20recipe%27s%20example%20VM%20name%20is%20my-muse-code.%20This%20VM%27s%20name%20is%20the%20output%20of%20%60hostname%60%3A%20use%20it%20wherever%20the%20recipe%20writes%20my-muse-code.%20Skip%20the%20step%20that%20creates%20the%20VM%3B%20you%20are%20on%20it.%0A%0AYou%20are%20done%20when%20all%20of%20these%20are%20true.%20Check%20each%20one%20yourself%3A%0A-%20Muse%20Code%20installed%20with%20Meta%27s%20official%20installer%2C%20answering%20a%20test%20prompt%20with%20no%20account%0A-%20A%20project%20folder%20at%20%60~%2Fproject%60%20on%20persistent%20disk%0A-%20A%20%60muse%60%20tmux%20session%20that%20survives%20disconnects%2C%20ready%20for%20you%20to%20sign%20in%20to%20Meta%0A%0ARun%20only%20the%20VM-side%20commands%20in%20%22Install%20Muse%20Code%22%20%28skip%20VM%20creation%0Aand%20SSH%29.%20If%20~%2Fproject%20already%20exists%2C%20use%20it%20as%20it%20is.%20Create%20tmux%0Adetached%20%28%60tmux%20new%20-d%20-s%20muse%20-c%20~%2Fproject%60%29%20rather%20than%20attaching%2C%0Aand%20reuse%20the%20session%20if%20it%20exists.%20Do%20not%20start%20interactive%20%60muse%60%2C%0Arun%20%60muse%20login%60%2C%20or%20ask%20for%20a%20Meta%20API%20key%3A%20signing%20in%20is%20the%20owner%27s%0Astep.%20Don%27t%20change%20an%20existing%20~%2F.config%2Fmuse.%0AVerify%20%60~%2F.local%2Fbin%2Fmuse%20--version%60%20prints%20a%20version%20and%2C%20from%0A~%2Fproject%2C%20%60~%2F.local%2Fbin%2Fmuse%20exec%20--provider%20echo%20--trust-workspace%0A%27ready%27%60%20prints%20%60echo%3A%20ready%60%20%28no%20account%20needed%29.%20Check%0A%60tmux%20has-session%20-t%20muse%60.%20Skip%20the%20later%20optional%20sections%20and%20FAQ.%0AFinish%20with%20the%20SSH%20command%20from%20%22Leave%20it%20running%22%2C%20using%20this%20VM%27s%0Aname%2C%20and%20tell%20the%20owner%20to%20run%20%60muse%60%20inside%20it%20and%20sign%20in.%0A%0AFinish%20with%20the%20URLs%20I%20should%20open.%0A",
    "terminal": "curl -fsSL https://exe-staging.dev/deploy/muse-code/prompt.txt | ssh exe.dev new --prompt=/dev/stdin",
    "prompt": "Set up Muse Code on this VM by following the exe.dev recipe at https://exe-staging.dev/deploy/muse-code.md from top to bottom.\n\nThe recipe's example VM name is my-muse-code. This VM's name is the output of `hostname`: use it wherever the recipe writes my-muse-code. Skip the step that creates the VM; you are on it.\n\nYou are done when all of these are true. Check each one yourself:\n- Muse Code installed with Meta's official installer, answering a test prompt with no account\n- A project folder at `~/project` on persistent disk\n- A `muse` tmux session that survives disconnects, ready for you to sign in to Meta\n\nRun only the VM-side commands in \"Install Muse Code\" (skip VM creation\nand SSH). If ~/project already exists, use it as it is. Create tmux\ndetached (`tmux new -d -s muse -c ~/project`) rather than attaching,\nand reuse the session if it exists. Do not start interactive `muse`,\nrun `muse login`, or ask for a Meta API key: signing in is the owner's\nstep. Don't change an existing ~/.config/muse.\nVerify `~/.local/bin/muse --version` prints a version and, from\n~/project, `~/.local/bin/muse exec --provider echo --trust-workspace\n'ready'` prints `echo: ready` (no account needed). Check\n`tmux has-session -t muse`. Skip the later optional sections and FAQ.\nFinish with the SSH command from \"Leave it running\", using this VM's\nname, and tell the owner to run `muse` inside it and sign in.\n\nFinish with the URLs I should open.\n",
    "prompt_url": "https://exe-staging.dev/deploy/muse-code/prompt.txt"
  },
  "updated": "2026-11-13",
  "verified": "2026-11-13",
  "related": [
    "claude-code",
    "codex",
    "kimi-code",
    "gemini-cli",
    "exe-mcp",
    "agent-secrets"
  ],
  "alternatives": [
    "Claude Code",
    "Codex"
  ]
}
