Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>Muse Code (Unofficial)New to Visual Studio Code? Get it now.
Muse Code (Unofficial)

Muse Code (Unofficial)

corona10

|
3 installs
| (0) | Free
Unofficial, community-built VS Code chat UI for Muse Code, Meta's agentic coding CLI. Not affiliated with Meta or Anthropic. Inspired by the Claude Code VS Code extension.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Muse Code for VS Code (Unofficial)

A native VS Code chat UI for Muse Code, Meta's agentic terminal coding agent.

Unofficial community project. This extension is not made, endorsed, or supported by Meta. "Muse" and "Muse Code" are Meta's names for their product; they are used here only to describe what the extension connects to.

Inspired by the Claude Code VS Code extension. The layout, commands, keybindings, settings and workflow of this extension deliberately mirror Anthropic's Claude Code for VS Code so that anyone who knows that extension feels at home. This project is not affiliated with Anthropic or Meta.

  • Works alongside you: Muse explores your codebase, reads and writes code, and runs terminal commands with your approval.
  • Integrated with the editor: Muse knows about your current file and text selection, and you can review its file changes as a diff right in the editor.
  • Durable sessions: resume any past conversation for the workspace, including ones started from the muse terminal TUI.
  • Agentic features supported: approvals with policy amendments, user-input questions, subagents, todo lists, context compaction, model and reasoning-effort selection, and user shell commands.

Requirements

  • VS Code 1.98.0 or higher.
  • The muse CLI, version 1.0.3 or later. Run muse login once before using the extension. The extension looks for muse on PATH, in common install locations (~/.local/bin, /opt/homebrew/bin, ...), and via your login shell, so it works even when VS Code is launched from the Dock. Set museCode.executablePath only if it still cannot be found.

Getting started

  1. Open a folder.
  2. Click the Muse icon in the editor title bar, or press Cmd+Escape (Ctrl+Escape on Windows/Linux).
  3. Type a message and press Enter.

Use @ to mention files, / for commands, and ! to run a shell command yourself.

Commands

Command Default keybinding
Muse Code: Open Cmd/Ctrl+Escape (focus)
Muse Code: Open in New Tab Cmd/Ctrl+Shift+Escape
Muse Code: Open in Side Bar
Muse Code: Open in New Window
Muse Code: Open in Terminal Cmd/Ctrl+Escape when museCode.useTerminal is on
Muse Code: New Conversation Cmd/Ctrl+N when enabled
Muse Code: Resume Past Conversation
Muse Code: Reopen Closed Session Cmd/Ctrl+Shift+T
Muse Code: Insert @-Mention Reference Alt+K
Muse Code: Toggle Focus view Ctrl+Alt+F
Muse Code: Create Worktree
Muse Code: Accept / Reject Proposed Changes editor title buttons while viewing a diff
Muse Code: Login / Logout
Muse Code: Show Logs

Inside the chat: Enter sends, Shift+Enter inserts a newline, Esc interrupts, Shift+Tab cycles the approval mode, ↑ recalls previous prompts.

Settings

Setting Description
museCode.executablePath Path to the muse executable. A bare name (default muse) is resolved via PATH, common install dirs, and your login shell; ~ is expanded.
museCode.environmentVariables Extra environment variables for the Muse process.
museCode.useTerminal Run the muse TUI in a terminal instead of the native UI.
museCode.initialApprovalMode onRequest, promptUnmatched, denyUnmatched or allowAll for new conversations.
museCode.allowDangerouslyAllowAll Permit the allowAll mode (never asks). Sandboxes only. Picking "Allow all" in the mode picker offers to turn this on after a confirmation.
museCode.model / museCode.reasoningEffort Defaults for new conversations.
museCode.autosave Save all files before each prompt.
museCode.focusView Hide tool calls and reasoning; show only prompts and replies.
museCode.useCtrlEnterToSend Send with Ctrl/Cmd+Enter so Enter inserts newlines.
museCode.preferredLocation panel (editor tab) or sidebar.
museCode.includeEditorContext Attach the active file and selection to prompts.
museCode.respectGitIgnore Respect .gitignore in the @-mention file picker.
museCode.hideOnboarding Hide the welcome checklist.

How it works

The extension launches muse serve, the Muse Session Protocol (MSP) host, once per workspace folder and talks to it over newline-delimited JSON-RPC on stdio. Sessions, turns, streaming items, approvals and user-input prompts are all MSP objects; the TypeScript types in src/msp/msp.d.ts are generated by muse schema generate-ts and can be regenerated for a newer CLI.

Approval modes map directly onto Muse's: On request (ask when a tool requests it), Prompt unmatched (ask for anything no policy already allows), Deny unmatched, and Allow all.

Prefer the terminal?

Set museCode.useTerminal to true. The Muse icon and Cmd/Ctrl+Escape then open the muse TUI in an integrated terminal, and Cmd/Ctrl+Alt+K types an @file#L1-2 reference for the current selection into it.

Development

npm install
npm run build        # or: npm run watch
# Press F5 in VS Code to launch the Extension Development Host
npm run package      # produces muse-code-<version>.vsix

Regenerate the protocol types after upgrading muse:

muse schema generate-ts --out src/msp

Acknowledgements

Inspired by the Claude Code VS Code extension by Anthropic. Muse Code is a product of Meta. This is an independent community project released under the MIT license.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft