Mel for VS Code
Mel's agent in VS Code — the same agent as the Mel app, on your Mel plan.
Ask Mel to explain, fix or build something in the folder you have open. It reads your code, runs
commands and edits files the way it does in the Mel app, and it asks you first: every edit and
command waits for your yes, unless you allow that kind of action for the conversation.
This extension is a window onto the Mel app on your computer. It carries no agent of its own:
the Mel app does the work, with your signed-in Mel account, and a conversation you start in VS Code
is in Mel too — open it in either and carry on.

What you need
- The Mel app, version 0.1.48 or newer, installed on this computer — openmel.dev/download.
- Signed in to Mel. Open the Mel app once and sign in; the extension uses that session.
- A Mel plan that includes Mel in VS Code — every plan that can use the Mel app does.
The extension finds Mel on your PATH or where its installer puts it (%LOCALAPPDATA%\Programs\Mel
on Windows, /Applications/Mel.app on macOS, ~/.local/bin on Linux). If yours is somewhere else,
set mel.path in your settings.
What it does
- Chat with Mel in its own view in the activity bar. Answers stream in as Markdown, with Mel's
thoughts folded away and the model, tokens and time under each answer.
- Tool cards for every file Mel reads and every command it runs — expand one to see its output.
- Approvals. Allow once, allow for this conversation, or deny. Mel always asks before it uses a
connector that reaches outside your computer.
- Questions. When Mel needs a decision only you can make, it asks, and carries on from your answer.
- Diffs in VS Code's diff editor. Every file Mel changes gets a card; Open diff shows the file
before Mel's change against the file now.


- Stop a turn at any time. While Mel works, Enter queues your next message for when it
finishes, and Ctrl+Enter (⌘+Enter on macOS) sends it into the running turn.
- Pick a model —
auto (with its four biases) or any model the Mel app offers.
- Your conversations, the same list as in the Mel app — resume any of them here.
Commands
| Command |
Keys |
| Mel: Focus the chat |
Ctrl+Alt+M (⌘⌥M) |
| Mel: Ask about selection — the selected code rides with your next message |
Ctrl+Alt+K (⌘⌥K) |
| Mel: Add file to context |
editor and Explorer menus |
| Mel: Start a task in this folder |
Explorer menu on a folder |
| Mel: Open in Mel — the Mel app, at this folder |
view title bar, Explorer menu |
| Mel: New conversation |
Ctrl+Alt+N (⌘⌥N) in the Mel view |
| Mel: Conversations · Mel: Stop · Mel: Show log |
— |
The chat follows your VS Code theme — light, dark and high contrast.
Privacy
The extension itself sends nothing anywhere: it talks only to the Mel app on your computer, over a
pipe. What the Mel app sends, and to whom, is exactly what it sends when you use it directly — see
Mel's privacy page. The extension never sees your session token.
Terms · Privacy · Pricing
Licence
AGPL-3.0-only, like the Mel app.
Developing
npm install
npm test # the protocol against the Mel app's golden lines, the conversation reducer, the client
npm run build # dist/extension.js + dist/webview.js
npm run package # mel-<version>.vsix
The extension speaks protocol v1 with mel ide serve, a subcommand of the Mel app — one JSON object
per line each way. The Rust side (mel/apps/mel/src/ide_serve/protocol.rs in the Mel repository) is
the source; test/golden/ is a byte-identical copy of its golden lines, and a test in the Mel
repository holds the two equal.