Imanol Maiztegui b4fd1be904 Per-turn diff view with clickable banner (#9999)
* refactor(vscode): replace collapsible diff summary with clickable banner

Replace the expandable accordion-based diff summary in session turns
with a simpler clickable button that opens the dedicated changes view
via a postMessage to the extension host. This removes the inline file
list expansion in favor of the native VS Code changes panel.

- Remove Collapsible/Accordion/StickyAccordionHeader components
- Remove getDirectory/getFilename helpers and expanded state management
- Add openChanges action via useVSCode context
- Style the trigger as a minimal button with hover chevron indicator
- Update story name/description to reflect new behavior

* feat(vscode/diff): simplify DiffSource interface to declarative fetch model

Convert DiffSource from a class-based lifecycle pattern (initialFetch/start/dispose)
to a minimal declarative interface where sources only implement `fetch()` and
optionally `fetchFile`/`revert`/`dispose`. Move all polling, hash-dedup, loading
state, and message posting responsibility into SourceController.

- Replace class-based SessionDiffSource/WorktreeDiffSource with factory functions
- Introduce DiffSourceFetch return type with stopPolling flag for terminal states
- Remove DiffSourcePost/DiffSourceMessage types in favor of controller-owned posting
- SourceController now owns setInterval polling and hash-based dedup logic
- Rename requestFile → fetchFile, revertFile → revert, make dispose optional
- Update all unit tests to match the new declarative source contract

* refactor(vscode): add per-turn diff viewing with hidden picker mode

Introduce a TurnDiffSource that fetches diffs scoped to a single user
message rather than the full session snapshot. The diff viewer can now
open in a fixed, non-switchable mode when invoked from a specific turn.

- Add `turn.ts` source with factory, descriptor, and id helpers
- Extend PanelContext with `hidePicker` flag to suppress source selector
- Thread `turnId` from webview message through sidebar handler to command
- Catalog returns empty descriptors when picker is hidden
- Export `toSessionDiffFile` from session source for reuse in turn source
- Add `turn` to DiffSourceType union
- Add unit tests for turn source fetch behavior and catalog integration

* fix(vscode/diff): always log DiffSource fetch errors

Initial-fetch errors were only posted as a discarded 'error' message and
had no console trace, making them invisible in production. Log on both
initial and polling ticks so Extension Host output captures the failure.

* chore: update kilo-vscode visual regression baselines

* feat(vscode/diff): self-cancel polling when source reports completion

Convert polling callback to async and use runFetch return value to
stop the interval once the diff source signals it is done, avoiding
unnecessary continued fetches after completion.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-07 13:41:03 +02:00
2026-05-06 18:06:56 -04:00
2026-04-13 10:07:46 -04:00
2026-05-06 21:32:26 +02:00
2026-05-06 12:13:06 +02:00
2026-05-07 10:09:40 +00:00
2026-05-06 14:01:51 -03:00
2026-05-06 14:26:06 -03:00
2026-02-02 18:32:22 -03:00
2026-04-13 23:58:00 -03:00
2026-01-01 17:54:11 -05:00
2026-04-28 14:40:59 -03:00
2026-02-13 14:18:59 +00:00
2025-09-27 04:10:56 -04:00
2026-05-06 12:13:06 +02:00

VS Code Marketplace X (Twitter) Substack Blog Discord Reddit

kilo-code-logo

Kilo is the all-in-one agentic engineering platform. Build, ship, and iterate faster with the most popular open source coding agent.

  • Generate code from natural language
  • Checks its own work
  • 🧪 Run terminal commands
  • 🌐 Automate the browser
  • Inline autocomplete suggestions
  • 🤖 Latest AI models
  • 🎁 API keys optional

Key Features

  • Code Generation: Kilo can generate code using natural language.
  • Inline Autocomplete: Get intelligent code completions as you type, powered by AI.
  • Task Automation: Kilo can automate repetitive coding tasks to save time.
  • Automated Refactoring: Kilo can refactor and improve existing code efficiently.
  • MCP Server Marketplace: Kilo can easily find, and use MCP servers to extend the agent capabilities.
  • Multi Mode: Plan with Architect, Code with Coder, and Debug with Debugger, and make your own custom modes.

Get Started in Visual Studio Code

  1. Install the Kilo Code extension from the VS Code Marketplace.
  2. Create your account to access 500+ cutting-edge AI models including Gemini 3.1 Pro, Claude 4.6 Sonnet & Opus, and GPT-5.4 with transparent pricing that matches provider rates exactly.
  3. Start coding with AI that adapts to your workflow. Watch our quick-start guide to see Kilo in action:

Watch the video

Get Started with the CLI

# npm
npm install -g @kilocode/cli

# Or run directly with npx
npx @kilocode/cli

Then run kilo in any project directory to start.

npm Install Note: Hidden .kilo File

On some systems and npm versions, installing @kilocode/cli can create a hidden .kilo file near the installed kilo command (for example in a global npm bin directory). This file is an npm-generated launcher helper, not project data.

  • Why it exists: npm may create helper artifacts while wiring CLI executables.
  • Size caveat: size can vary by platform, npm version, and install mode (symlink vs copied launcher), so a strict fixed size is not guaranteed.
  • Safety: it is safe to leave in place. Do not edit it manually. Use your package manager's uninstall (npm uninstall -g @kilocode/cli) to remove install artifacts cleanly.

Install from GitHub Releases (Optional)

Download the latest binary or source code from the Releases page, use this quick guide:

  • kilo-<os>-<arch>.zip is the CLI binary for your OS and CPU architecture on Windows and macOS. (kilo-linux-<arch>.tar.gz for Linux)
  • darwin means macOS.
  • x64 is standard 64-bit Intel/AMD CPUs.
  • x64-baseline is a compatibility build for older x64 CPUs(do not support AVX Instruction).
  • arm64 is ARM-based Linux/MacOS.
  • musl is statically linked Linux build for Alpine/minimal Docker without glibc. Alpine/minimal Docker users should prefer the matching *-musl asset.
  • kilo-vscode-*.vsix is the VS Code extension package and not the CLI binary.
  • Source code releases are for building from source, not normal installation.

For most users:

  • 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 on ARM: kilo-linux-arm64.tar.gz

Autonomous Mode (CI/CD)

Use the --auto flag with kilo run to enable fully autonomous operation without user interaction. This is ideal for CI/CD pipelines and automated workflows:

kilo run --auto "run tests and fix any failures"

Important: The --auto flag disables all permission prompts and allows the agent to execute any action without confirmation. Only use this in trusted environments like CI/CD pipelines.

Contributing

We welcome contributions from developers, writers, and enthusiasts! To get started, please read our Contributing Guide. It includes details on setting up your environment, coding standards, types of contribution and how to submit pull requests.

See RELEASING.md for the release process.

Code of Conduct

Our community is built on respect, inclusivity, and collaboration. Please review our Code of Conduct to understand the expectations for all contributors and community members.

License

This project is licensed under the MIT License. Youre free to use, modify, and distribute this code, including for commercial purposes as long as you include proper attribution and license notices. See License.

Where did Kilo CLI come from?

Kilo CLI is a fork of OpenCode, enhanced to work within the Kilo agentic engineering platform.

S
Description
Kilo is the all-in-one agentic engineering platform. Build, ship, and iterate faster with the most popular open source coding agent. #1 coding agent on OpenRouter. 1.5M+ Kilo Coders. 25T+ tokens processed
Readme MIT 1.3 GiB
Languages
TypeScript 81.2%
Kotlin 12.5%
CSS 3.1%
JavaScript 2.6%
HTML 0.3%
Other 0.2%