Skip to main content
FireConnect adds Fireworks AI models to GitHub Copilot Chat in Visual Studio Code by writing a custom language-model endpoint. See the FireConnect overview for install and CLI basics.

Manual setup (GitHub Copilot)

Step-by-step UI walkthrough with screenshots — add a Fireworks custom endpoint without the FireConnect CLI

Prerequisites

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) in state.vscdb. Quit VS Code before running on or off — FireConnect hard-errors if VS Code is still running unless you pass --force.
Or pass the key once:
Start or restart VS Code, then open Copilot Chat and pick a Fireworks model from the model picker.

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.
Short model IDs are expanded to full Fireworks paths. FireConnect writes model metadata (display name, token limits, tool calling, and vision flags) into your Copilot language-model config. In Copilot Chat, open the model picker (Auto), expand Other Models, and choose your model under Fireworks.

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:
VS Code’s custom endpoint resolves exactly one credential from secret storage (the provider 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

Run 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:
This restores your previous 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.

Source

FireConnect is open source: github.com/fw-ai/fireconnect