VS Code
VS Code reads the proxy endpoint, virtual key, and target model from
claudeCode.environmentVariables in your settings.json. To switch providers
later, change only the ANTHROPIC_MODEL value — everything else stays the same.
There are two ways to configure VS Code:
| Method | Best for |
|---|---|
| Configure via CLI | Recommended. sotatek-proxy setup writes and backs up settings.json for you. |
| Configure via Extension | Manual setup when you want to inspect or edit every value yourself. |
Choose the method first, then click the provider tab that matches your model provider.
Prerequisites
Section titled “Prerequisites”- VS Code installed
- sotatek-proxy installed and running on
127.0.0.1:3817 - A Bifrost virtual key (
sk-bf-xxx) — contact your admin
Configure via CLI
Section titled “Configure via CLI”sotatek-proxy setup -p vscode writes all required env vars directly into VS Code’s settings.json — no manual file editing needed. It backs up the existing file before writing.
sotatek-proxy setup -p vscode -m fridayaix -k sk-bf-your-keysotatek-proxy setup -p vscode -m minimax -k sk-bf-your-keysotatek-proxy setup -p vscode -m deepseek -k sk-bf-your-key| Flag | Description |
|---|---|
-m / --model | Model profile: fridayaix, minimax, deepseek (default: fridayaix) |
-k / --key | Bifrost virtual key; falls back to existing settings or ANTHROPIC_AUTH_TOKEN env var |
--workspace | Write to .vscode/settings.json in the current project instead of user-level |
--dry-run | Preview target path without writing |
Reload VS Code after running to apply the changes.
Configure via Extension
Section titled “Configure via Extension”Prefer manual setup, or want to review each value? Configure the Claude Code extension directly through settings.json.
Step 1 — install Claude Code extension
Section titled “Step 1 — install Claude Code extension”VS Code → Extensions → search Claude Code → Install.
Step 2 — open settings.json
Section titled “Step 2 — open settings.json”Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows/Linux) → Preferences: Open User Settings (JSON).
For workspace-only config, open the workspace settings.json instead.
Step 3 — paste env config
Section titled “Step 3 — paste env config”Replace sk-bf-your-virtual-key-here with your actual key. If settings.json
already contains other keys, merge the claudeCode.environmentVariables
entry — don’t create a second root {}.
{ "claudeCode.environmentVariables": [ { "name": "ANTHROPIC_BASE_URL", "value": "http://127.0.0.1:3817/anthropic" }, { "name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-bf-your-virtual-key-here" }, { "name": "ANTHROPIC_MODEL", "value": "fridayaix/claude-sonnet-4-6" }, { "name": "ANTHROPIC_DEFAULT_OPUS_MODEL", "value": "fridayaix/claude-opus-4-8" }, { "name": "ANTHROPIC_DEFAULT_SONNET_MODEL", "value": "fridayaix/claude-sonnet-4-6" }, { "name": "ANTHROPIC_DEFAULT_HAIKU_MODEL", "value": "fridayaix/claude-haiku-4-5-20251001" }, { "name": "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS", "value": "1" }, { "name": "DISABLE_PROMPT_CACHING", "value": "1" } ]}{ "claudeCode.environmentVariables": [ { "name": "ANTHROPIC_BASE_URL", "value": "http://127.0.0.1:3817/anthropic" }, { "name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-bf-your-virtual-key-here" }, { "name": "ANTHROPIC_MODEL", "value": "MiniMax/MiniMax-M3" }, { "name": "ANTHROPIC_DEFAULT_OPUS_MODEL", "value": "MiniMax/MiniMax-M3" }, { "name": "ANTHROPIC_DEFAULT_SONNET_MODEL", "value": "MiniMax/MiniMax-M2.7" }, { "name": "ANTHROPIC_DEFAULT_HAIKU_MODEL", "value": "MiniMax/MiniMax-M2.5-highspeed" }, { "name": "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS", "value": "1" }, { "name": "DISABLE_PROMPT_CACHING", "value": "1" } ]}{ "claudeCode.environmentVariables": [ { "name": "ANTHROPIC_BASE_URL", "value": "http://127.0.0.1:3817/anthropic" }, { "name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-bf-your-virtual-key-here" }, { "name": "ANTHROPIC_MODEL", "value": "deepseek/deepseek-v4-pro" }, { "name": "ANTHROPIC_DEFAULT_OPUS_MODEL", "value": "deepseek/deepseek-v4-pro" }, { "name": "ANTHROPIC_DEFAULT_SONNET_MODEL", "value": "deepseek/deepseek-v4-pro" }, { "name": "ANTHROPIC_DEFAULT_HAIKU_MODEL", "value": "deepseek/deepseek-v4-flash" }, { "name": "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS", "value": "1" }, { "name": "DISABLE_PROMPT_CACHING", "value": "1" } ]}Step 4 — switch model
Section titled “Step 4 — switch model”To switch providers, update these four env vars together:
| Env var | FridayAIX | MiniMax | Deepseek |
|---|---|---|---|
ANTHROPIC_MODEL | fridayaix/claude-sonnet-4-6 | MiniMax/MiniMax-M3 | deepseek/deepseek-v4-pro |
ANTHROPIC_DEFAULT_OPUS_MODEL | fridayaix/claude-opus-4-8 | MiniMax/MiniMax-M3 | deepseek/deepseek-v4-pro |
ANTHROPIC_DEFAULT_SONNET_MODEL | fridayaix/claude-sonnet-4-6 | MiniMax/MiniMax-M2.7 | deepseek/deepseek-v4-pro |
ANTHROPIC_DEFAULT_HAIKU_MODEL | fridayaix/claude-haiku-4-5-20251001 | MiniMax/MiniMax-M2.5-highspeed | deepseek/deepseek-v4-flash |
Step 5 — reload and verify
Section titled “Step 5 — reload and verify”- Save
settings.json. Developer: Reload Windowif VS Code doesn’t pick up the change.- Open Claude Code chat:
Hello, which model are you using? - Confirm no authentication error.
Quick reference
Section titled “Quick reference”| Setting | Value |
|---|---|
| Base URL | http://127.0.0.1:3817/anthropic |
| Token field | ANTHROPIC_AUTH_TOKEN |
| Model field | ANTHROPIC_MODEL |
| Token format | sk-bf-xxx |
Troubleshooting
Section titled “Troubleshooting”| Issue | Solution |
|---|---|
| Authentication error | ANTHROPIC_AUTH_TOKEN is the Bifrost virtual key; ANTHROPIC_BASE_URL is http://127.0.0.1:3817/anthropic |
Connection refused on 127.0.0.1:3817 | sotatek-proxy is not running. Run sotatek-proxy status && sotatek-proxy start. |
| Model not found | Verify exact ANTHROPIC_MODEL string with provider prefix and capitalisation |
| VS Code ignores new values | Save settings.json and run Developer: Reload Window |
Broken settings.json | Validate JSON — check commas and brackets |