Editors and extensions
Kilo Code
Add NoviaHub to Kilo Code as a Custom provider, set context limits and switch models.
Kilo Code is an open-source AI coding agent that writes code from natural language and runs terminal commands, available for VS Code, JetBrains and the command line. Its settings let you add a Custom provider; enter NoviaHub’s address and your key there to use NoviaHub models.
This page follows the VS Code extension.
Prerequisites
Section titled “Prerequisites”- A NoviaHub API key (see API keys) and a positive balance (see Wallet and top-ups).
- VS Code 1.84.0 or newer.
Install
Section titled “Install”- Open VS Code and press
Ctrl+Shift+X(Cmd+Shift+Xon macOS) to open Extensions. - Search for
Kilo Code. - Click the dropdown arrow next to Install and choose Install Pre-Release Version.
According to the docs, the current Kilo Code extension ships on the Marketplace’s pre-release channel; that label is only a distribution channel, and the extension is stable and recommended for everyone.
Editors that can’t use the VS Code Marketplace, such as VSCodium or Windsurf, can install Kilo Code from Open VSX.
Configure NoviaHub
Section titled “Configure NoviaHub”-
Open the Kilo Code panel, click the gear icon to open Settings, and go to the Providers tab.
-
Scroll to the bottom of the list and click Custom provider.
-
Fill in the dialog:
Field What to enter Provider ID A provider ID using lowercase letters, digits, -and_, for examplenoviahub. Models are then selected asnoviahub/<model ID>.Display name A display name, for example NoviaHub.Provider API OpenAI Compatible. Base URL https://noviahub.com/v1(with/v1).API key Your NoviaHub key (starts with sk-).Models Once Base URL and API key are filled in, Kilo Code reads the model list from NoviaHub’s /v1/models; tick the models you want, or type model IDs by hand. Add at least one model.Headers Leave empty. -
Click Submit. The models you added appear in the model selector in the chat box.
Using the Responses or Anthropic protocol (optional)
Section titled “Using the Responses or Anthropic protocol (optional)”Provider API also offers OpenAI Responses and Anthropic Messages. For all three options, set Base URL to https://noviahub.com/v1; Kilo Code appends each protocol’s path:
| Provider API | Base URL | Endpoint called | Endpoint label the model needs |
|---|---|---|---|
| OpenAI Compatible | https://noviahub.com/v1 |
/v1/chat/completions |
Chat |
| OpenAI Responses | https://noviahub.com/v1 |
/v1/responses |
Response |
| Anthropic Messages | https://noviahub.com/v1 |
/v1/messages |
Anthropic |
- Endpoint labels are in each model’s details under Models & Pricing. On 2026-09-28 every text model on NoviaHub had the
Chatlabel, so OpenAI Compatible is the safe choice. For Claude models, Anthropic Messages is recommended; see Protocol conversion for why. - With Anthropic Messages, Kilo Code doesn’t load the model list; type the model IDs under Models yourself (for example
claude-sonnet-5). - A provider uses one protocol. To use two, add a second Custom provider with a different Provider ID (for example
noviahub-claude). - In the config file, the three options are the
npmvalues@ai-sdk/openai-compatible,@ai-sdk/openaiand@ai-sdk/anthropic.
Set context limits (recommended)
Section titled “Set context limits (recommended)”According to the docs, for a model that isn’t in Kilo Code’s built-in catalog, leaving the context length (limit.context) and maximum output (limit.output) unset makes both 0. Then:
- compaction is disabled, so the conversation keeps growing until the API rejects it as too long;
- output falls back to 32,000 tokens per response;
- context usage isn’t shown.
Both values are set in the config file. According to the docs, the Settings UI reads and writes the same config files. The global config file is at:
- macOS / Linux:
~/.config/kilo/kilo.jsonc - Windows:
C:\Users\<username>\.config\kilo\kilo.jsonc
Find the provider you just added under provider (its key is the Provider ID you entered) and add limit to each model. If it isn’t in the file, or you’d rather skip the Settings UI, write this complete example instead:
{ "provider": { "noviahub": { "npm": "@ai-sdk/openai-compatible", "env": ["NOVIAHUB_API_KEY"], "options": { "baseURL": "https://noviahub.com/v1" }, "models": { "deepseek-v4-flash": { "name": "deepseek-v4-flash", "limit": { "context": 1000000, "output": 384000 } } } } }, "model": "noviahub/deepseek-v4-flash"}| Field | Meaning |
|---|---|
npm |
The protocol package. @ai-sdk/openai-compatible is OpenAI Chat Completions and is the default when omitted. |
env |
The environment variable to read the key from, so the key stays out of the file. A provider added through Settings with an API key doesn’t need it. You can also put "apiKey": "sk-..." in options instead. |
options.baseURL |
https://noviahub.com/v1. |
models |
Keys are NoviaHub model IDs and must match Models & Pricing exactly. |
limit.context / limit.output |
Context length and maximum output. The values above come from Models & Pricing on 2026-09-28; use the Context and Max output figures shown there. According to the docs, limit.output is capped at 32,000 by default. |
model |
The default model, as <provider ID>/<model ID>. |
To read the key through env, first store it in the environment variable NOVIAHUB_API_KEY (see step 2 of the Quickstart), then reopen VS Code.
Verify
Section titled “Verify”In the Kilo Code chat box, pick a model under NoviaHub in the model selector and send a message. If you get an answer and the call shows up in NoviaHub’s Usage Logs, the setup works.
Switch models
Section titled “Switch models”- Click the model selector in the chat box, or type
/modelsto open the model picker. - To add more models, go back to Settings → Providers, click Edit provider next to the provider and tick them under Models, or add them to
modelsin the config file.
Troubleshooting
Section titled “Troubleshooting”“Invalid API Key” or 401 Invalid token
The key is wrong, or it is disabled, expired or out of quota. Check its status on the API Keys page; see The four statuses.
“Model Not Found” The model ID doesn’t match NoviaHub’s. Copy the exact ID from Models & Pricing.
The model list doesn’t load
Check that Base URL is https://noviahub.com/v1 and the API key is correct. If loading still fails, type the model IDs by hand.
403 insufficient_user_quota
Your account balance has run out. Top up first.
References
Section titled “References”Checked on 2026-09-28 and 2026-09-29:
- Install: https://kilo.ai/docs/getting-started/installing
- Sign-in and providers: https://kilo.ai/docs/getting-started/setup-authentication
- OpenAI-compatible providers: https://kilo.ai/docs/ai-providers/openai-compatible
- Custom models and
limit: https://kilo.ai/docs/code-with-ai/agents/custom-models - Config file locations: https://kilo.ai/docs/getting-started/settings
- Model selection, small model, logging out of the Kilo Gateway: https://kilo.ai/docs/code-with-ai/agents/model-selection
- The three Provider API options and their request paths: Kilo Code source
packages/kilo-vscode/src/shared/provider-model.ts,packages/kilo-vscode/webview-ui/src/components/settings/CustomProviderDialog.tsx,packages/opencode/src/provider/provider.ts; AI SDK@ai-sdk/anthropic3.0.111 (calls{Base URL}/messages) and@ai-sdk/openai3.0.88 (calls{Base URL}/responses)