Providers
Kilo Gateway
Kilo Gateway routes requests to many models behind a single OpenAI-compatible endpoint and API key.
| Property | Value |
|---|---|
| Provider | kilocode |
| Auth | KILOCODE_API_KEY |
| API | OpenAI-compatible |
| Base URL | https://api.kilo.ai/api/gateway/ |
Install plugin
openclaw plugins install @openclaw/kilocode-provideropenclaw gateway restartSetup
Create an account
Go to app.kilo.ai, sign in or create an account, then generate an API key.
Run onboarding
openclaw onboard --auth-choice kilocode-api-keyOr set the environment variable directly:
export KILOCODE_API_KEY="<your-kilocode-api-key>" # pragma: allowlist secretVerify the model is available
openclaw models list --provider kilocodeDefault model and catalog
The default model is kilocode/kilo/auto, a provider-owned smart-routing model. OpenClaw does not
publish a task-to-upstream-model mapping for it; routing behind kilo/auto is owned by Kilo Gateway.
At startup OpenClaw queries GET https://api.kilo.ai/api/gateway/models and merges discovered models
ahead of a static fallback catalog. The static fallback contains only kilocode/kilo/auto (Kilo Auto,
input: ["text", "image"], reasoning: true, contextWindow: 1000000, maxTokens: 128000).
Any model on the gateway is addressable as kilocode/<upstream-id> (for example
kilocode/anthropic/claude-sonnet-4, kilocode/openai/gpt-5.5). Run /models kilocode or
openclaw models list --provider kilocode to see the full discovered list.
Config example
{ env: { KILOCODE_API_KEY: "<your-kilocode-api-key>" }, // pragma: allowlist secret agents: { defaults: { model: { primary: "kilocode/kilo/auto" }, }, },}Behavior notes
Transport and compatibility
Kilo Gateway is OpenRouter-compatible, so it uses the proxy-style OpenAI-compatible request
path rather than native OpenAI request shaping (no store, no OpenAI reasoning-effort payload).
- Gemini-backed Kilo refs stay on the proxy-Gemini path: OpenClaw sanitizes Gemini thought signatures there but does not enable native Gemini replay validation or bootstrap rewrites.
- Requests use a Bearer token built from your API key.
Stream wrapper and reasoning
The Kilo stream wrapper adds an X-KILOCODE-FEATURE request header (default openclaw,
override with the KILOCODE_FEATURE env var) and normalizes reasoning-effort payloads for
models that support it.
Troubleshooting
- If model discovery fails at startup, OpenClaw falls back to the static catalog containing
kilocode/kilo/auto. - Confirm your API key is valid and that your Kilo account has the desired models enabled.
- When Gateway runs as a daemon, ensure
KILOCODE_API_KEYis available to that process (for example in~/.openclaw/.envor viaenv.shellEnv).