Commit Graph

4273 Commits

Author SHA1 Message Date
kiloconnect[bot] 8427ecbbf6 Fix README based on review feedback
- Fix npx command to use --package flag since package has multiple bins
- Remove undocumented autonomous mode (--auto) from Getting Started and Commands
- Remove kilo serve from Commands table (internal, not user-facing)
- Fix kilo session to show actual subcommands (list, delete)
- Remove kilo completion from Commands table (not working)
- Fix table formatting
2026-03-11 09:23:47 +00:00
kiloconnect[bot] 6272a4a4dd Add README for npm package
The @kilocode/cli npm package page had no README. This adds a
README covering installation, usage, features, and links, and
updates the publish script to include it in the published package.
2026-03-11 08:06:35 +00:00
Evan Jacobson ba703ae1c1 Merge pull request #6883 from Kilo-Org/fix/utf8-multibyte-stream-decoding
fix: use StringDecoder for UTF-8 multi-byte stream decoding
2026-03-10 13:40:13 -06:00
Evan Jacobson 67c375ce43 fix: wait for stdio streams to drain before flushing decoders in bash tool
Change proc.once('exit') to proc.once('close') so all stdout/stderr
data events are delivered before StringDecoder.end() is called. The
'exit' event fires when the process exits but before stdio streams
finish draining, which could cause the decoder flush to miss trailing
chunks and corrupt the last multi-byte character.
2026-03-10 12:47:10 -06:00
Evan Jacobson 90fbe52841 fix: flush StringDecoder at EOF to surface trailing buffered bytes
decoder.write() can hold incomplete multi-byte sequences internally.
Without calling decoder.end() after streams close, those trailing bytes
are silently dropped. Flush all decoders after process exit so any
remaining bytes are emitted as replacement characters rather than lost.
2026-03-10 12:31:11 -06:00
kilo-maintainer[bot] 6e8f21c996 release: v7.0.43 2026-03-10 18:18:40 +00:00
Evan Jacobson b13bfe3889 fix: use separate StringDecoder per stream to prevent cross-pipe corruption
Address review feedback: a shared StringDecoder across stdout and stderr
can mix partial UTF-8 bytes between streams. Use one decoder per pipe so
incomplete sequences on stdout are never completed by stderr bytes.
2026-03-10 11:48:04 -06:00
Evan Jacobson 2596acaf3e fix: use StringDecoder for UTF-8 multi-byte stream decoding
Replace chunk.toString() with StringDecoder in stream processing to
prevent garbled characters (arrows, tree-drawing chars appearing as
mojibake) when multi-byte UTF-8 sequences are split across chunk
boundaries. StringDecoder maintains state across chunks to correctly
reassemble incomplete characters.

Fixed in bash tool, prompt shell execution, and ripgrep output.
2026-03-10 11:34:40 -06:00
kilo-maintainer[bot] 75e46decc2 release: v7.0.42 2026-03-10 17:30:26 +00:00
Marius cae63f8396 fix: add windowsHide to all spawn calls to prevent CMD window flash on Windows (#6813)
Every child_process.spawn() call was missing windowsHide: true, causing
a visible CMD console window to briefly appear on every shell command,
LSP server start, ripgrep search, clipboard operation, and process kill
on Windows. This option is a no-op on non-Windows platforms.
2026-03-10 16:59:49 +01:00
Evgeny Shurakov ab7cc73d51 Merge pull request #6853 from Kilo-Org/eshurakov/cloud-fork-cli
CLI - Add --cloud-fork option to import cloud sessions locally
2026-03-10 13:49:45 +01:00
kilo-maintainer[bot] 96ba9549a8 release: v7.0.41 2026-03-10 11:43:50 +00:00
Evgeny Shurakov 4b1748aa50 feat: add --cloud-fork CLI option to import cloud sessions locally
Add --cloud-fork flag to run, attach, and thread commands that imports
a cloud session to local storage before continuing. Extract shared
validateCloudFork helper to reduce duplication. Use graceful exit
patterns in attach.ts and thread.ts to ensure proper cleanup.
2026-03-10 11:42:49 +01:00
Catriel Müller d5de298cb8 fix: permission config string to object update 2026-03-10 00:32:50 -03:00
Josh Holmer 73c0d924ed fix(cli): save and load per-agent model selection 2026-03-09 11:51:46 -04:00
Catriel Müller 3b535cf5aa feat: migrate .opencode project folder to .kilo 2026-03-09 11:19:57 -03:00
Igor Šćekić d97714b11a fix: use separate taskID for title generation to prevent model leak (#6552)
ensureTitle was sending small-model requests with the same HEADER_TASKID
as the agent session. The gateway saw two different models (kilo-auto/small
and kilo-auto/frontier) under the same task and routed to both. Prefixing
the title sessionID with "title-" isolates it from the agent task.
2026-03-07 00:51:47 +01:00
kilo-maintainer[bot] 7ab275117b release: v7.0.40 2026-03-06 22:43:15 +00:00
Christiaan Arnoldus 1dd79b33f3 Merge branch 'main' into fix/acp-kilo-default-model 2026-03-06 23:05:12 +01:00
Imanol Maiztegui fb4becc4c6 Merge branch 'main' into feat/auth-messages 2026-03-06 22:08:57 +01:00
Imanol Maiztegui ad48d8aefb fix: Adjusted copy on connect message 2026-03-06 22:04:58 +01:00
Snow-in-Dublin 95362990ac fix(acp): avoid parsing provider-less kilo default models 2026-03-07 04:59:42 +08:00
Imanol Maiztegui 6b38e8a423 fix: Added toast for Kilo errors 2026-03-06 21:54:11 +01:00
Imanol Maiztegui 2d5f8a256c fix: Moved kilocode specific code to kilocode folder 2026-03-06 21:15:18 +01:00
Imanol Maiztegui ec0e0bf5ed feat: Better messages for auth required errors 2026-03-06 20:29:54 +01:00
Catriel Müller 1e5ed35be8 fix(vscode): prevent extension hang on server shutdown
- Reduce SSE heartbeat timeout from 90s to 15s to detect dead connections faster
- Add independent health poll every 10s as a second detection channel
- Kill entire process group (SIGTERM + SIGKILL fallback) instead of just the child process
- Add orphan detection in serve.ts so the server exits when the extension host dies
- Race Instance.disposeAll() against a 5s timeout to prevent hung MCP subprocesses blocking shutdown
2026-03-06 16:26:02 -03:00
Christiaan Arnoldus 3fff82bfa2 Apply suggestions from code review 2026-03-06 16:22:26 +01:00
Christiaan Arnoldus a341ecdb6f kilo-auto is not a provider 2026-03-06 16:18:13 +01:00
Christiaan Arnoldus 251161f318 Rename auto-small to kilo-auto/small 2026-03-06 16:12:25 +01:00
kiloconnect[bot] 55a1de8d9e refactor(model): migrate default to kilo-auto/frontier across codebase
migrate default model IDs from kilo/auto to kilo-auto/frontier and related references across the codebase. update defaults in gateway constants, VSCode provider, tests, UI defaults, and e2e seed. align docs and examples to use kilo-auto/frontier and kilo-auto/free. this is a breaking change for existing configurations

BREAKING CHANGE: update default model IDs to kilo-auto/frontier and kilo-auto/free
kilo/auto and kilo/auto-free no longer used as defaults; update all
references accordingly
2026-03-06 15:03:35 +00:00
Marian Alexandru Alecu e33e18a9f6 Merge pull request #6699 from Kilo-Org/fix/plan_exit_regression
fix(plan): restore unconditional plan_exit tool registration
2026-03-06 15:36:31 +02:00
Imanol Maiztegui b7d978b6f0 Merge pull request #6676 from Kilo-Org/fix/migration-dispose-change
Fix - Migration dispose change
2026-03-06 14:25:35 +01:00
Marian Alexandru Alecu f8f1dd3739 Merge branch 'main' into fix/plan_exit_regression 2026-03-06 15:15:30 +02:00
Alex Alecu 4dc0ed0ff0 fix(batch): disallow plan_exit from batch tool execution
BatchTool rebuilds its tool map from ToolRegistry.tools() without
passing the caller agent, so agent-level permission filtering is
bypassed. Add plan_exit to the DISALLOWED set to prevent non-plan
agents from triggering it via batch.
2026-03-06 14:51:16 +02:00
Alex Alecu 4129abac9f fix(plan): restore unconditional plan_exit tool registration
A merge conflict resolution incorrectly gated PlanExitTool behind
KILO_EXPERIMENTAL_PLAN_MODE && KILO_CLIENT === "cli", preventing the
plan agent from signaling completion. This broke the "looks good,
implement" flow — the follow-up prompt never appeared and no new
code-mode session was created.

Regression of #6240.
2026-03-06 14:38:47 +02:00
Igor Šćekić 3754d01b36 chore: add kilocode_change markers to config.ts null sentinel changes 2026-03-06 13:32:08 +01:00
Imanol Maiztegui 0f7eb9daf8 Merge branch 'main' into fix/migration-dispose-change 2026-03-05 18:48:15 +01:00
Igor Šćekić 927f75e540 feat: add model per mode settings (#6211)
Add a "Model per Mode" section in Provider settings where users can set
a default model for each primary agent (code, plan, debug, orchestrator,
ask). The per-mode model is used automatically when starting new sessions
in that mode, with the precedence: session override > per-mode config >
global default model.

Also fixes the "unset" bug where clearing a model default didn't persist
because undefined values were stripped during JSON serialization. Now
uses null as a delete sentinel throughout the config pipeline.
2026-03-05 18:35:09 +01:00
kilo-maintainer[bot] f8d6753cc2 release: v7.0.39 2026-03-05 15:53:20 +00:00
Imanol Maiztegui d4f7a68925 fix: Removed dependencies 2026-03-05 16:32:32 +01:00
Imanol Maiztegui ea3cffb4aa fix: Remove disposeAll() on auth 2026-03-05 16:31:11 +01:00
Imanol Maiztegui 35968ed556 Merge branch 'main' into fix/auth-reload-state 2026-03-05 13:31:48 +01:00
Imanol Maiztegui ac4cfd329b fix: Add unit test and review bot fixes 2026-03-05 13:21:00 +01:00
Imanol Maiztegui c3ed9466a2 fix: invalidate model cache on auth/org changes and reload state after dispose 2026-03-05 12:23:25 +01:00
kiloconnect[bot] 55928ab3c1 fix: remove duplicate reasoning hack for kilo provider
The fixDuplicateReasoning workaround was added to handle a bug in
@openrouter/ai-sdk-provider v1 that caused reasoning details to be
duplicated in messages. This was fixed upstream in
https://github.com/OpenRouterTeam/ai-sdk-provider/pull/344/ and the
fix has since been applied to @kilocode/kilo-gateway, making this
workaround no longer necessary.
2026-03-05 07:20:41 +00:00
kilo-maintainer[bot] 5a85a0d7c9 release: v7.0.38 2026-03-04 22:27:58 +00:00
Mark IJbema cfe12b8d26 Merge pull request #6607 from Kilo-Org/disable-web-command
Disable 'kilo web' command (unsupported opencode web UI)
2026-03-04 16:22:04 +01:00
idrees qazi 3218691c29 Add colorblind-friendly theme to the cli (again) (#6493)
* feat: add colorblind-friendly theme

Add a new colorblind-accessible theme using a scientifically-designed
palette that works for deuteranopia, protanopia, and tritanopia:

- Primary Blue (#0077BB) for main UI elements
- Secondary Orange (#EE7733) for variables and operators
- Success Teal (#009988) instead of green for success states
- Warning Yellow (#CCBB44) for warnings
- Error Vermillion (#CC3311) instead of red for errors
- Accent Sky (#33BBEE) for functions and links

Key design principles:
- No red/green combinations (most common color blindness)
- Blue/orange as primary contrasting colors
- Teal/vermillion for diff colors instead of green/red
- High luminance contrast between adjacent colors

* Update packages/opencode/src/cli/cmd/tui/context/theme.tsx

Co-authored-by: Marius <marius@kilocode.ai>

* Update packages/opencode/src/cli/cmd/tui/context/theme.tsx

Co-authored-by: Marius <marius@kilocode.ai>

* Update packages/opencode/src/cli/cmd/tui/context/theme/colorblind.json

Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>

* Update packages/opencode/src/cli/cmd/tui/context/theme/colorblind.json

Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>

* fix malformed block

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Marius <marius@kilocode.ai>
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-03-04 12:47:50 +00:00
kiloconnect[bot] 272fab73ec disable 'kilo web' command (unsupported opencode web UI) 2026-03-04 12:12:05 +00:00
Mark IJbema ee8daf6907 Merge pull request #6599 from Kilo-Org/mark/remove-kilocode-change-markers
Remove kilocode_change markers from kilo-specific packages
2026-03-04 11:55:29 +01:00