* fix(cli): stabilize Windows CI tests and rebalance slow shards Three Windows-only instabilities in the CLI unit suite: 1. httpapi-instance-route-auth.test.ts failed with an uncaught "Invalid handle" error. The test's ConfigProvider.layer( fromUnknown(...)) replaced the ambient config provider, blinding KILO_EXPERIMENTAL_DISABLE_FILEWATCHER=true that CI/preload sets. With the flag hidden, the @parcel/watcher Windows backend subscribed on the temp repo's .git; the tmpdir fixture then deleted that directory while the never-disposed per-test runtime still held the subscription, and CreateFileW failed with the hardcoded "Invalid handle" (napi rejection with no JS stack). Add the disable-filewatcher flag to every test config map that boots instances via the HttpApi app (instance-route-auth, cors, ui, exercise backend, kilo-edit, memory). 2. config-overlay.test.ts intermittently returned HTTP 500 on Windows. Filesystem.write's atomic temp-file+rename had no retry for Windows transient locked-file errors (EPERM/EACCES/EBUSY) from Defender/indexer and the detached background plugin install racing the rename in the same tmpdir. Mirror the proven cleanup.ts locked-error retry pattern with a short backoff, Windows-only. 3. Windows shards were badly imbalanced: the sharder weighted files by byte size, which concentrated every slow spawn/FS/lock-heavy file (snapshot, prompt, provider, run-process, instance-bootstrap, httpapi-session) into one shard (~612s vs ~356s siblings), and the resulting contention forced whole-file retries that doubled cost. Add TestShard.timedWeight and a committed test-timings.json seeded from CI junit data so shards balance by measured runtime (spread collapses from ~200s to ~18s) and contention-prone files spread across shards. Platforms without manifest entries fall back to size weighting. * fix(cli): skip stale manifest entries in timed shard weighting Bun.file().size returns 0 (never throws) for missing paths, so the try/catch in timedWeight was dead code and stale/renamed manifest entries added their time to the scale numerator with zero size, inflating the size-to-time ratio that estimates unknown files. Skip entries with a non-positive on-disk size instead of catching a throw that never happens. * revert(cli): drop hardcoded test-timings manifest The committed test-timings.json (482 entries) was a maintenance burden: it goes stale as tests are added/renamed and no size-based heuristic can replace it (slow subprocess outliers like run-process.test.ts are 7kb but 112s, 10x the runtime-per-byte of other files). Revert the timing-weighted sharding to the prior size-based LPT. The Windows reliability fixes (ConfigProvider filewatcher flag + Filesystem.write locked-file retry) remain and are what eliminate the failures and the ~360s of retry overhead that dominated the 12m50s shard. A maintainable runtime-based rebalance (self-updating CI cache fed from the junit artifacts CI already uploads) is a separate follow-up.
English | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | 日本語 | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | Українська | বাংলা | Ελληνικά | Tiếng Việt
The open source coding agent for building with AI in VS Code, JetBrains, or the CLI.
Kilo Code is an AI coding agent that meets you everywhere you work: VS Code, JetBrains, and the CLI. It's open source with open pricing. You pick from 500+ models, switch between them mid-task, and pay the model provider's rate with zero markup. No API keys required to start.
Installation
Pick where you want to run Kilo.
VS Code
Install the Kilo Code extension directly, or grab it from the VS Code Marketplace. Create an account and you'll have access to 500+ models including GPT-5.5, Claude Opus 4.7, Claude Sonnet 4.6, and Gemini 3.1 Pro Preview, all at provider pricing.
CLI
# npm
npm install -g @kilocode/cli
# curl
curl -fsSL https://kilo.ai/cli/install | bash
# pnpm
pnpm add -g @kilocode/cli
# bun
bun add -g @kilocode/cli
# Homebrew (macOS / Linux)
brew install Kilo-Org/tap/kilo
# Arch Linux (AUR)
paru -S kilo-bin
Then run kilo in any project directory to start.
JetBrains
Install the Kilo Code plugin from the JetBrains Marketplace, or search "Kilo Code" in Settings → Plugins inside any JetBrains IDE.
Install the CLI from GitHub Releases (binaries)
Download the latest binary from the Releases page.
| Platform | Asset |
|---|---|
| Windows (most PCs) | kilo-windows-x64.zip |
| macOS (Apple Silicon) | kilo-darwin-arm64.zip |
| macOS (Intel) | kilo-darwin-x64.zip |
| Linux x64 | kilo-linux-x64.tar.gz |
| Linux ARM | kilo-linux-arm64.tar.gz |
Notes: x64-baseline is a compatibility build for older CPUs without AVX. musl is the statically linked build for Alpine or minimal Docker images without glibc. kilo-vscode-*.vsix is the VS Code extension package, not the CLI. Source code archives are for building from source.
Agents
Kilo ships with specialized agents you switch between depending on the task. You can also build your own custom agents.
- Code - The default. Implements and edits code from natural language.
- Plan - Designs architecture and writes implementation plans before any code gets written.
- Ask - Answers questions about your codebase without touching any files.
- Debug - Troubleshoots and traces issues.
- Review - Reviews your changes and surfaces issues across performance, security, style, and test coverage.
Learn more about agents and custom agents.
What it does
- Code generation from natural language, across multiple files.
- Inline autocomplete with ghost-text suggestions and tab to accept.
- Self-checking so the agent reviews and corrects its own work.
- Terminal and browser control to run commands and automate the web.
- MCP marketplace to find and wire up MCP servers that extend what the agent can do.
- 500+ models with mid-task switching, so you can match latency, cost, and reasoning to the job.
Autonomous Mode (CI/CD)
Run kilo run with --auto for fully autonomous operation with no prompts, built for CI/CD pipelines:
kilo run --auto "run tests and fix any failures"
--auto disables all permission prompts and lets the agent execute any action without confirmation. Only use it in trusted environments.
Documentation
For configuration and everything else, head over to the docs.
Contributing
Contributions are welcome from developers, writers, and everyone in between. Start with the Contributing Guide for environment setup, coding standards, and how to open a pull request. See RELEASING.md for the VS Code extension and CLI release process, and packages/kilo-jetbrains/RELEASING.md for the JetBrains plugin.
Please review our Code of Conduct before getting involved.
License
MIT. You're free to use, modify, and distribute this code, including commercially, as long as you keep the attribution and license notices. See License.
FAQ
Where did Kilo CLI come from?
Kilo CLI is a fork of OpenCode, enhanced to work within the Kilo agentic engineering platform.