llmgw's own extension for VS Code, plain JavaScript with no dependencies, packed into a .vsix by the binary at /setup/vscode/llmgw.vsix with the serving gateway's address in it, so it needs no build, no Node and no marketplace. It registers llmgw as a language-model provider: the chat's model picker, agent mode and any extension that asks VS Code for a model get every chat model the key may use, sized and with tool and vision capabilities as the catalog says, streamed, tool calls both ways. VS Code is a tool on the account page's Connect your editor: a key, the install command, and an Open in VS Code link that hands the key to the extension's secret storage. The extension's Sign In opens the page with a state of its own; a link without it is confirmed, the gateway named, since it decides where code is sent. Tested in VS Code 1.138 against the PoC: 27 models listed, an answer from qwen2.5-0.5b-instruct, and qwen3-coder-30b calling a tool and using its result (internal/vscodeext/e2e). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.1 KiB
llmgw for VS Code
The models your llmgw gateway serves, in VS Code: in the chat's model picker, in agent mode, and in any extension that asks VS Code for a language model. Nothing goes anywhere but the gateway you connect it to.
Connecting
- llmgw: Sign In from the command palette. It opens your gateway's account page; sign in there and choose Make a key and the configuration with VS Code as the tool. The page hands the key back to VS Code.
- Or llmgw: Enter API Key and paste a key from that page.
The gateway's address is the llmgw.gatewayUrl setting. An extension
downloaded from a gateway has that gateway's address in it already.
The key is kept in VS Code's secret storage. llmgw: Sign Out forgets it; revoke it on the account page to stop it working.
Which models
Every chat model the key may use. Agent mode acts only through tool calls,
so it needs a model the gateway's catalog says makes them; set
llmgw.showModelsWithoutTools to false to see only those.
Completion as you type is not part of what VS Code lets a model provider offer; for that, use an extension such as Continue against the same gateway.