Skip to main content
Kilo Code is an open-source AI coding agent available in VS Code, JetBrains, CLI, Slack, and Cloud. It connects to OrcaRouter through its Custom provider (an OpenAI-compatible endpoint). This guide covers both the VS Code extension (the most common way to use Kilo Code) and the CLI (@kilocode/cli, for headless use).
Protocol: OpenAI-compatible
  • Base URL: https://api.orcarouter.ai/v1 (includes /v1)
  • Model IDs use the vendor/model format — the simplest is orcarouter/auto

VS Code extension

  1. Install Kilo Code from the VS Code Marketplace (open the Extensions panel and search “Kilo Code”), then open it from the Kilo Code icon in the Activity Bar (the left icon strip). In the panel, click the ⚙ gear in the top-right to open settings.
The Kilo Code panel with the settings gear highlighted
  1. Go to Providers. Under Popular providers, find Custom provider (“Add an OpenAI-compatible provider by base URL”) and click + Connect.
The Custom provider entry in Kilo Code's Providers settings
  1. Fill in the provider fields:
    • Provider ID: orcarouter (lowercase letters, numbers, hyphens, or underscores only — no slashes; orcarouter/auto is rejected here).
    • Display name: OrcaRouter (anything you like).
    • Base URL: https://api.orcarouter.ai/v1
    • API key: your OrcaRouter key (sk-orca-...).
OrcaRouter provider ID, base URL, and API key in Kilo Code
  1. Choose your models. Once the key and base URL are valid, Kilo Code fetches the live model list from OrcaRouter — tick the ones you want (or Select all), then click Submit. To use auto-routing, also + Add model with the model ID orcarouter/auto (it’s a routing alias, so it won’t appear in the fetched list).
Kilo Code model picker showing models fetched from OrcaRouter
  1. The provider now shows under Connected providers as OrcaRouter (CUSTOM).
OrcaRouter listed under Connected providers in Kilo Code
  1. Select the OrcaRouter model in the chat panel’s model picker and send a test message — a reply confirms the connection.
Kilo Code replying through OrcaRouter
On a large repository, Kilo Code may first ask whether to wait for its snapshot system to initialize — choose Disable for this project to skip it (git still tracks everything) so the request goes through.
The JetBrains plugin uses the same Custom provider with the identical base URL / key / model values.

CLI

For headless / scripted use, install the CLI.

Install

npm install -g @kilocode/cli
The command is kilo.

Configure

Config file: ~/.config/kilo/kilo.jsonc (also accepts kilo.json; project-level ./kilo.jsonc overrides).
{
  "$schema": "https://app.kilo.ai/config.json",
  "provider": {
    "orcarouter": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "OrcaRouter",
      "options": { "baseURL": "https://api.orcarouter.ai/v1", "apiKey": "sk-orca-..." },
      "models": { "orcarouter/auto": { "name": "OrcaRouter Auto" } }
    }
  },
  "model": "orcarouter/orcarouter/auto"
}
Swap in a specific model if you prefer, e.g. anthropic/claude-opus-4.8 or google/gemini-2.5-flash. Model IDs use the vendor/model format.

Run

echo "Reply with exactly: OK" | kilo run --auto --format json
Expected: a JSON event with "type":"text" and "text":"OK".

Notes

  • The base_url includes /v1.
  • Model references use provider/model. Because the provider is named orcarouter and the model ID also carries a vendor prefix, the reference is three segments: orcarouter/orcarouter/auto (or orcarouter/anthropic/claude-opus-4.8).
  • Headless mode is kilo run "<prompt>" --auto (or pipe the prompt via stdin). --format json gives a machine-readable event stream.
  • Reasoning/thinking: use the --variant <name> flag for provider-specific reasoning effort (e.g. high, max, minimal), and --thinking to display thinking blocks.
Known issue: --auto has reported cases of hanging after completion / when the key is missing (kilocode issues). Wrap with a timeout in CI and make sure the key is loaded.