Skip to content

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.

  1. Open VS Code and press Ctrl+Shift+X (Cmd+Shift+X on macOS) to open Extensions.
  2. Search for Kilo Code.
  3. 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.

  1. Open the Kilo Code panel, click the gear icon to open Settings, and go to the Providers tab.

  2. Scroll to the bottom of the list and click Custom provider.

  3. Fill in the dialog:

    Field What to enter
    Provider ID A provider ID using lowercase letters, digits, - and _, for example noviahub. Models are then selected as noviahub/<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.
  4. 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 Chat label, 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 npm values @ai-sdk/openai-compatible, @ai-sdk/openai and @ai-sdk/anthropic.

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:

~/.config/kilo/kilo.jsonc
{
"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.

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.

  • Click the model selector in the chat box, or type /models to 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 models in the config file.

“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.

Checked on 2026-09-28 and 2026-09-29: