Step 1: Copy and save the config
name: RouterHub version: 1.0.0 schema: v1 models: - name: "RouterHub · Grok 4.7" provider: openai model: "grok-4.7" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · DeepSeek V4 Pro" provider: openai model: "deepseek-v4-pro" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · DeepSeek V4 Pro Uncensored" provider: openai model: "deepseek-v4-pro-uncensored" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · DeepSeek V4.1 Flash" provider: openai model: "deepseek-v4.1-flash" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · DeepSeek V4.1 Flash Uncensored" provider: openai model: "deepseek-v4.1-flash-uncensored" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · GLM 5.3 Flash" provider: openai model: "glm-5.3-flash" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · GLM 5.3 Flash Uncensored" provider: openai model: "glm-5.3-flash-uncensored" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · GLM 5.3" provider: openai model: "glm-5.3" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · GLM 5.3 Uncensored" provider: openai model: "glm-5.3-uncensored" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · Gemini 4 Argon" provider: openai model: "gemini-4-argon" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · GLM 5.3 Flash Abliterated" provider: openai model: "glm-5.3-flash-abliterated" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · GLM 5.3 Abliterated" provider: openai model: "glm-5.3-abliterated" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · Qwen 3.8 Max" provider: openai model: "qwen3.8-max" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · Qwen 3.8 Max Uncensored" provider: openai model: "qwen3.8-max-uncensored" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · Kimi K3.1 Pro" provider: openai model: "kimi-k3.1-pro" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · Kimi K3.1 Pro Uncensored" provider: openai model: "kimi-k3.1-pro-uncensored" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · DeepSeek V4.1 Flash Abliterated" provider: openai model: "deepseek-v4.1-flash-abliterated" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · DeepSeek V4 Pro Abliterated" provider: openai model: "deepseek-v4-pro-abliterated" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chat - name: "RouterHub · DeepSeek V4.1 Flash 1017 Abliterated" provider: openai model: "deepseek-v4.1-flash-1017-abliterated" apiBase: https://routerhub.si/v1 apiKey: ${{ secrets.ROUTERHUB_API_KEY }} useResponsesApi: false requestOptions: timeout: 600 roles: - chatmacOS / Linux
Save as
~/.continue/config.yaml.Windows
Save as
%USERPROFILE%/.continue/config.yaml.Create any missing folders. Already have
config.yaml? Add these entries under its existingmodels:list instead of replacing the file.Step 2: Save your API key
Replace the placeholder with your RouterHub key, without quotes:
ROUTERHUB_API_KEY=PASTE_ROUTERHUB_KEY_HEREmacOS / Linux
Save as
~/.continue/.env.Windows
Save as
%USERPROFILE%/.continue/.env.All models use this one key. Keep this file private.
Step 3: Open Continue
Restart VS Code. In Continue, choose Local Config, then RouterHub · your chosen model in the model picker. Use Chat mode.
Need to install Continue?
Install the official Continue extension in VS Code, then open its sidebar.
Check the connection (optional)
When you’re ready to use credits, open an empty project and send this short test:
Reply with OK. Do not read files, run commands, or make edits.
Open RouterHub usage and check that the request appears under the right model. Keep auto-approval off while testing. A text reply checks the connection, not all coding features.
Troubleshooting
A slow request times out
Every generated model entry includes requestOptions.timeout: 600. Continue measures this setting in seconds, so do not copy OpenCode’s 600000 value here. Preserve the indentation under each model and restart VS Code. This is an API request setting, not a tool-execution deadline. Inspect Usage and the request ID before manually retrying.
The YAML has an error or the model is missing
Use spaces, not tabs. Keep the entry inside models: and preserve the file’s name, version, schema, and other models. Select Local Config.
Invalid key or 404
Keep provider: openai and apiBase: https://routerhub.si/v1. Check the exact model ID, key, and availability. Keep the user .env private, restart the IDE after changes, and check for a conflicting workspace secret. Do not append /chat/completions.
Autocomplete or Agent mode is unavailable
This setup only configures the chat role. Test that connection before adding other roles or claiming tool-call support.
Still stuck? Contact support.
Common questions
Why does the provider say openai?
It selects Continue’s compatible client. apiBase sends requests to RouterHub, and billing uses your RouterHub key—not an OpenAI account.
Does this cover JetBrains?
These UI steps are for VS Code. Continue also supports JetBrains; consult its official installation guide for that interface.