Manual setup (GitHub Copilot)
Step-by-step UI walkthrough with screenshots — add a Fireworks custom endpoint without the FireConnect CLI
Prerequisites
- Visual Studio Code with the GitHub Copilot extension
- GitHub Copilot Pro or Enterprise (the free tier only supports the Auto model)
- A Fireworks API key (
fw_...) or a Fire Pass key (fpk_...) - The FireConnect CLI (see Install)
Azure routing not implemented yet for VS Code.
fireconnect vscode on always configures direct Fireworks, even when global config has --provider azure or you pass --azure. See Microsoft Foundry in FireConnect.Enable Fireworks routing
VS Code stores custom-endpoint API keys (encrypted) instate.vscdb. Quit VS Code before running on or off — FireConnect hard-errors if VS Code is still running unless you pass --force.
Browse and add models
model list, model add, model select, and model reset only edit chatLanguageModels.json. VS Code hot-reloads that file — no restart needed for model changes.
What gets written
FireConnect merges a Fireworks custom endpoint into VS Code’s language-model config and stores the API key in VS Code’s secret storage:
Platform paths:
The endpoint uses model URL
https://api.fireworks.ai/inference (VS Code appends /v1/chat/completions). The API key is not stored in the JSON — VS Code resolves the ${input:chat.lm.secret.<id>} reference through its secret storage.
On macOS, safeStorage encrypts with a master key VS Code stores in the login Keychain. On Linux, safeStorage needs libsecret (secret-tool) for real encryption — without it, Chromium falls back to a hardcoded password (obfuscated, not encrypted), which FireConnect still writes but warns about.
FireConnect snapshots the original chatLanguageModels.json under ~/.fireconnect/vscode/ before the first change. Running fireconnect vscode off restores it byte-for-byte and deletes the chat.lm.secret.fw-* secret row from state.vscdb.
FireRouter mode
fireconnect vscode on --router retargets VS Code Chat at FireRouter so it speaks the Anthropic Messages wire format (https://router.fireworks.ai/v1/messages) and routes Anthropic models server-side. This requires both a Fireworks key and an Anthropic key:
apiKey), so FireRouter’s two-header auth can’t both be encrypted. FireConnect stores the Anthropic key encrypted in state.vscdb and writes the Fireworks key as a plaintext literal in each model’s requestHeaders["X-FireRouter-Fireworks-Key"].
on --router registers the Claude models FireRouter advertises — pick one in the VS Code Chat picker. --main and the model commands (list/select/add/reset) are disabled in router mode; model choice lives entirely in the Chat picker. Fire Pass keys are rejected (router mode is Anthropic-only).
CLI reference
fireconnect vscode help for all options, including --vscode-path (explicit chatLanguageModels.json path), --router (FireRouter mode), and --force.
Turn off Fireworks routing
Quit VS Code, then run:chatLanguageModels.json from the backup in ~/.fireconnect/vscode/ and removes the FireConnect secret from state.vscdb. Restart VS Code for the change to take effect.
Related
- GitHub Copilot integration guide — manual custom-endpoint setup with screenshots
- Cursor — use Fireworks models in Cursor IDE