Coding tools
Cline, Roo Code & Kilo Code
These VS Code extensions all point at xKiro through an OpenAI Compatible provider, but the settings panel no longer looks the same in each one — Kilo Code especially, which replaced its provider dropdown with a Custom provider dialog.
Wire format
OpenAI format
Base URL
https://api.xkiro.com/v1
Configured by
Extension settings UI
Model IDs always carry the vendor prefix
Use openai/gpt-5.6-sol, not a bare gpt-5.6-sol. The current list is at GET /v1/models.
Cline and Roo Code still share almost the same settings panel. Kilo Code has since diverged and needs its own steps — see its section below.
Cline#
Open Settings (⚙️) and set the API Provider dropdown to OpenAI Compatible.
| Field | Type | Description |
|---|---|---|
API Provider | select | OpenAI Compatible |
Base URL | string | Placeholder Enter base URL... — enter https://api.xkiro.com/v1 |
API Key | string | sk-xt-… |
Model ID | string | Placeholder Enter Model ID... — full ID with prefix, e.g. openai/gpt-5.6-sol |
Pick OpenAI Compatible — the plain OpenAI preset has no Base URL field
The plain OpenAI preset exposes no Base URL field at all — only an API key input, a model dropdown, a reasoning-effort selector and a model-info panel. There is nothing there to point at xKiro. Only OpenAI Compatible has a Base URL field.
The collapsible Model Configuration section lets you declare Supports Images, Context Window Size, Max Output Tokens, Input Price / 1M tokens, Output Price / 1M tokens and Temperature. Those are hints for Cline's own bookkeeping — match them to the model you picked from GET /v1/models so it does not truncate prompts earlier than it needs to.
A separate collapsible Custom Headers section is also available, if your gateway setup needs extra headers beyond the API key.
Roo Code#
Roo Code shares the same OpenAI Compatible provider as Cline, but labels its model field differently — look for Model:, not Model ID.
| Field | Type | Description |
|---|---|---|
API Provider | select | OpenAI Compatible |
Base URL | string | https://api.xkiro.com/v1 |
API Key | string | sk-xt-… |
Model: | string | Full ID with prefix, e.g. openai/gpt-5.6-sol |
Its own Model Configuration section covers Max Output Tokens, Context Window, Image Support, Computer Use, Input Price and Output Price.
Docs moved
Roo Code's documentation now lives at roocodeinc.github.io/Roo-Code — the old docs.roocode.com domain redirects there.
Kilo Code#
Kilo Code has diverged from Cline and Roo Code. Its documentation also moved, from kilocode.ai to kilo.ai, and the settings panel replaced the API Provider dropdown with a Custom provider dialog.
- Open Settings (gear icon) and go to the Providers tab.
- Scroll to the bottom and click Custom provider.
- Fill in the dialog.
- Click Submitto save. The provider's models appear in the model picker.
The dialog's protocol selector is labelled Provider API, with three options: OpenAI Compatible, OpenAI Responses and Anthropic Messages. Pick OpenAI Compatible for xKiro.
| Field | Type | Description |
|---|---|---|
Provider ID | string | Placeholder myprovider. Lowercase letters, numbers, hyphens, or underscores — e.g. xkiro. |
Display name | string | e.g. xKiro |
Provider API | select | OpenAI Compatible |
Base URL | string | Placeholder https://api.myprovider.com/v1 — enter https://api.xkiro.com/v1 |
API key | string | Optional. Leave empty if you manage auth via headers. Enter sk-xt-… |
Models | list | Repeatable list; each entry has an ID and a Name, e.g. ID openai/gpt-5.6-sol, Name GPT-5.6 Sol |
Headers | list | Optional. |
Models fill in automatically
Kilo Code auto-fetches available models once the Base URL exposes an OpenAI-compatible models endpoint, which xKiro's does — you rarely need to add every model to the Models list by hand.
There is no Model Configurationsection in this dialog. For additional model configuration — token limits, tool calling, variants — Kilo Code's docs point to editing the kilo.jsonc config file directly.
For scripting or CLI use, the same provider can be declared in the config file at ~/.config/kilo/kilo.json (or ./kilo.json):
{
"provider": {
"xkiro": {
"npm": "@ai-sdk/openai-compatible",
"name": "xKiro",
"options": { "baseURL": "https://api.xkiro.com/v1", "apiKey": "sk-xt-..." },
"models": { "openai/gpt-5.6-sol": { "name": "GPT-5.6 Sol" } }
}
},
"model": "xkiro/openai/gpt-5.6-sol"
}npm: "@ai-sdk/openai-compatible" targets OpenAI Chat Completions, which is what xKiro serves.
If it does not work#
Send one request by hand before touching your extension's settings again. A reply proves the URL and key are both fine, which means whatever is left is in the tool's own configuration — and that is a much smaller place to look.
curl https://api.xkiro.com/v1/chat/completions \
-H "Authorization: Bearer $XKIRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"openai/gpt-5.6-sol","messages":[{"role":"user","content":"ping"}],"max_tokens":8}'An error naming an unknown model still counts as a success here: the request was authenticated before the model was rejected. Common failures and what each one means are on the overview page.


