Files
kilocode/packages/opencode
Igor Šćekić ace509dc60 feat(opencode): remote create_session fields, org metadata, rename/title sync, cancel proof (#12704)
* feat(opencode): remote create_session fields, rename adoption, title sync

Extend create_session wire with optional agent/model/orgId (strict v1,
old-CLI degrade via client retry); claim org via session metadata
(metadata > KILO_ORG_ID > auth); adopt system session.renamed via
setTitle with consume-on-failure adoption marks; POST generation-aware
title changes through readiness (auto-titles marked by ensureTitle,
same-title Updated consumes pending adoptions).

* test(opencode): prove cancel→reprompt reaches idle; lock exit survivor

Item 14 CLI prove-it at SessionPrompt level: cancel-when-idle,
mid-stream, mid-tool, queued follow-up (deterministic queue wait), and
abortIntakes all settle to idle and reprompt completes — no production
hang found, no src change. Item 8: lock survivor session send_message
after sibling exit_cli.

* test(opencode): drop AppRuntime spy from create_session default test

Satisfies check-opencode-promise-facades while still proving the
production default forwards {agent, model, metadata} into
Session.Service.create.

* fix(opencode): bound rename marks, wire title report path, harden title tests

Kilobot review on #12704: adoption/auto-title maps now carry timestamps,
prune on write (60s TTL), and clear on Session.Event.Deleted (exported
clear/clearAll); the Updated watcher calls the interface
reportSessionTitle and fullSync passes preloaded info into meta();
ensureTitle's Kilo logic lives in kilocode/session/prompt.ts behind one
kilocode_change call site; title tests poll instead of sleeping and lock
mark-before-write plus clear-on-failure for real; meta() get-failure
org fallback covered via the _metaForTests seam.

* fix(kilo-sessions): mark bookkeeping before ingest sync, AppRuntime, test cleanup

Kilobot round 2 on #12704: consume rename/auto-title marks before the
ingest.sync network hop so the 60s TTL spans only the in-process hop;
call reportSessionTitle via AppRuntime.runPromise; auth cleanup back
under Effect.ensuring; restore the upstream blank line in prompt.ts so
the fork diff is only the kilocode_change call site.

* fix(kilo-sessions): keep title report self-healing if ingest.sync fails

Advance knownTitles only after successful sync; restore consumed rename/
auto-title marks on failure so the next Updated can re-POST. IIFE keeps
const-style outcome derivation.

* fix(kilo-sessions): optimistic knownTitles with full title-path rollback

Advance knownTitles before the network hop so concurrent Updated handlers
see sameTitle and cannot POST the same title with a wrong generated flag.
Restore prev + consumed marks when ingest.sync throws or reportSessionTitle
returns not-ok, so the next Updated retries the full self-healing path.

* style(kilo-sessions): prettier title Updated handler

* fix(kilo-sessions): preserve newer title state

* refactor(kilo-sessions): simplify title reporting tests

* fix(kilo-sessions): report unseeded title updates

* fix(kilo-sessions): consume unseeded title marks

* test(kilo-sessions): cover unseeded title marks

* test(kilo-sessions): unique ids for unseeded title tests

Thread a distinct session id through unseededMockSessionLayer so
session_share Storage records do not couple the three unseeded cases.
2026-07-31 18:25:03 +00:00
..
2026-07-22 13:31:23 +02:00
2026-07-22 13:31:23 +02:00
2026-07-22 13:31:23 +02:00
2026-07-29 11:29:05 +00:00
2026-07-22 13:31:23 +02:00
2026-07-22 13:31:23 +02:00
2026-07-22 13:31:23 +02:00

Kilo Code CLI

The AI coding agent built for the terminal. Generate code from natural language, automate tasks, and run terminal commands -- powered by 500+ AI models.

Kilo CLI showing code edits in a terminal

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

Website · Install · IDE · CLI · Docs · Models · Gateway · Pricing · Kilo Pass

500+ models. One open source agent in VS Code, JetBrains, CLI, Slack, and Cloud.

Install

npm install -g @kilocode/cli

Or run directly with npx:

npx --package @kilocode/cli kilo

Getting Started

Run kilo in any project directory to launch the interactive TUI:

kilo

Run a one-off task:

kilo run "add input validation to the signup form"

Features

  • Code generation -- describe what you want in natural language
  • Terminal commands -- the agent can run shell commands on your behalf
  • 500+ AI models -- use models from OpenAI, Anthropic, Google, and more
  • MCP servers -- extend agent capabilities with the Model Context Protocol
  • Multiple modes -- Plan with Architect, code with Coder, debug with Debugger, or create your own
  • Sessions -- resume previous conversations and export transcripts
  • API keys optional -- bring your own keys or use Kilo credits

Commands

Command Description
kilo Launch interactive TUI
kilo run "<task>" Run a one-off task
kilo auth Manage authentication
kilo models List available models
kilo mcp Manage MCP servers
kilo session list List sessions
kilo session delete Delete a session
kilo export Export session transcripts

Run kilo --help for the full list.

Alternative Installation

Homebrew (macOS/Linux)

brew install Kilo-Org/tap/kilo

GitHub Releases

Download pre-built binaries from the Releases page.

Documentation

License

MIT