Overview
Kilo Code (slug kilo) is a command line coding agent run non-interactively
against the test case prompt. It reaches its model through OpenRouter with a
user-supplied key, so its runs are routed and priced by an aggregator rather than
billed by a single provider. See kilo.ai.
Model IDs
Section titled “Model IDs”Kilo Code uses OpenRouter model identifiers, which carry an openrouter/ prefix
in front of the provider-qualified slug. The following are illustrative, not an
exhaustive list:
openrouter/anthropic/claude-opus-4.8openrouter/minimax/minimax-m3openrouter/google/gemini-3.5-flash
Invocation
Section titled “Invocation”The harness probes and invokes the kilo binary. It is installed into the run
container at run time with:
npm install -g @kilocode/cli && npm cache clean --forceEach non-interactive session runs the binary with these flags:
| Flag | Purpose |
|---|---|
run | The non-interactive subcommand. |
--format json | Emit the line-delimited JSON event stream consumed for events and usage. |
--auto | Run unattended, without per-action approval prompts. |
--model <id> | The model to run. |
The prompt is passed as the final positional argument.
Authentication. Kilo Code’s API key is sourced from OPENROUTER_API_KEY on
the host, which is forwarded into the run container under the same name.
Pricing. Kilo Code already reports OpenRouter-prefixed model IDs, so the
comparable-cost lookup strips the leading openrouter/ before consulting
OpenRouter — openrouter/anthropic/claude-opus-4.8 becomes
anthropic/claude-opus-4.8. Kilo Code does not self-report a run cost, so the
comparable cost is always OpenRouter-derived; see Metrics.
See Events for how Kilo Code’s output is normalized and Metrics for how its usage is counted. For the harness layer these pages fit into, see Harnesses.