#5046 fd2029c Thanks @marius-kilocode! - Add --on-task-completed <prompt> flag to send a custom prompt to the agent when the task completes. This flag requires --auto mode and allows users to define any follow-up action (e.g., creating a PR, running tests, generating documentation). The prompt is sent to the agent after the main task completes, enabling flexible post-task automation.
#5022 2fc244c Thanks @marius-kilocode! - Add syntax highlighting to code edit diffs in the CLI. Diffs now display with language-aware syntax coloring using Shiki, making code changes easier to read. Includes support for 60+ languages, automatic language detection from file extensions, and theme-aware highlighting that works with both light and dark themes. Also increased the diff display limit from 20 to 50 lines with smart context collapsing around changes.
#4988 7253ac0 Thanks @marius-kilocode! - Fix Bedrock provider validation to support API key authentication without requiring access keys
#5064 2713d06 Thanks @marius-kilocode! - Add default autocomplete suggestions for select commands (/model select, /provider select, /tasks select, /session select)
#5066 8055f15 Thanks @marius-kilocode! - Fix CLI dispose, randomUUID, and debug UX issues
#5011 9c8bb7b Thanks @marius-kilocode! - Fix multiline paste regression where pasting text with newlines would submit after the first line
#5000 1c88a66 Thanks @marius-kilocode! - Fix empty files being created when project path contains non-Latin characters (e.g., Cyrillic, Chinese)
The CLI's write_to_file command was creating empty files when the project directory path contained non-Latin characters. This was caused by improper handling of Uint8Array content in the FileSystemAPI.writeFile method. The fix ensures proper Buffer.from() conversion before writing to the filesystem.
#5058 c9f1f6a Thanks @marius-kilocode! - Fix autocomplete for /teams select and other multi-argument commands
#4985 69a541a Thanks @marius-kilocode! - Fix Windows cmd.exe display bug with escape sequences
On Windows cmd.exe, the \x1b[3J (clear scrollback buffer) escape sequence is not properly supported and causes display artifacts like raw escape sequences appearing in the output (e.g., [\r\n\t...]).
#4916 f02364c Thanks @marius-kilocode! - Abbreviate large pasted text in CLI input as [Pasted text #N +X lines] to prevent input field overflow when pasting logs or large code blocks
#4997 2a663be Thanks @marius-kilocode! - Add kilocode models --json command to expose available models as JSON for programmatic use
#4936 bfcd1d5 Thanks @idreesmuhammadqazi-create! - Add colorblind theme support to CLI
#4983 82ef9b0 Thanks @marius-kilocode! - Add /checkpoint enable and /checkpoint disable subcommands to toggle checkpoint creation and save disk space
#4982 7d02d43 Thanks @marius-kilocode! - fix(cli): improve error message for custom mode not found
#4996 d7016fa Thanks @marius-kilocode! - Add maxConcurrentFileReads configuration support to CLI with documentation
#4981 0268494 Thanks @marius-kilocode! - Fix CLI /model list returning "No models available" for nano-gpt provider
#4977 c71cff8 Thanks @marius-kilocode! - Add proper display for deleteFile tool in CLI instead of showing "Unknown tool: deleteFile"
#4978 ed5073c Thanks @marius-kilocode! - Fix number key hotkeys (1, 2, 3) not working in command approval menu
#4993 c3c7bbe Thanks @marius-kilocode! - Fix CLI hanging on rate limit errors in autonomous mode by enabling auto-retry for API failures
#4995 95e9b6d Thanks @kevinvandijk! - fix: use correct api url for some endpoints
eef76d0 Thanks @marius-kilocode! - Add Shift+Tab keyboard shortcut to cycle through modes in the CLI#4941 b7052cc Thanks @Drilmo! - Add extension path resolution for F5 debug workflow
#4967 99029a5 Thanks @marius-kilocode! - Improved file update display in CLI with compact format and colored diffs
#4949 f56d88a Thanks @eshurakov! - Add --attach flag for file attachments in CLI
#4959 2dce098 Thanks @marius-kilocode! - feat(cli): add word-by-word cursor navigation
Adds support for word-by-word cursor navigation in the CLI text input:
Meta+b / Meta+Left to move to the beginning of the previous wordMeta+f / Meta+Right to move to the beginning of the next wordThis enhances the editing experience with Emacs-style keybindings and standard Meta+Arrow key navigation.
#4827 2a66afb Thanks @marius-kilocode! - Fix slash commands being intercepted by followup suggestions during ask_followup_question prompts.
#4940 9809864 Thanks @Drilmo! - Add KILOCODE_DEV_CLI_PATH support for easier extension + CLI development workflow
4e09e36 Thanks @marius-kilocode! - Fix browser action results displaying raw base64 screenshot data as hexadecimal garbage2d8f5b4 Thanks @kiloconnect! - Add --append-system-prompt CLI option to append custom instructions to the system prompt695f68f Thanks @marius-kilocode! - Add autocomplete for /mode command in CLI, similar to model autocomplete. When typing /mode and pressing tab, users now see suggestions for all available modes including default and custom modes with their names, descriptions, and source labels.#4792 25b7efe Thanks @marius-kilocode! - Fix API request cost updates in the CLI when using static message rendering
#4735 ffabf05 Thanks @marius-kilocode! - Add CLI /condense command for manual context condensation
#4732 2f16482 Thanks @marius-kilocode! - Add instant ESC/Ctrl+X cancellation feedback with optimistic UI and reduced readline escape timeout
#4740 f291417 Thanks @kiloconnect! - Fix CLI formatting for unknown message types, JSON content, and codebase search results
#4797 ae3701b Thanks @marius-kilocode! - Fix slash command suggestions to select first entry by default when typing /
#4778 ea212ca Thanks @kiloconnect! - Fix CLI auto-update regression caused by inverted conditional logic with --nosplash flag. The version check now runs for all users by default, regardless of the nosplash flag state.
#4780 0cfe8b0 Thanks @Drilmo! - Add log file rotation to prevent unbounded disk usage
The CLI log file at ~/.kilocode/cli/logs/cli.txt now automatically rotates at startup when it exceeds 10 MB, keeping only the most recent ~5 MB of logs. This prevents the log file from growing indefinitely and consuming excessive disk space for heavy CLI users or long-running sessions.
#4728 8ecb081 Thanks @marius-kilocode! - Clear input field when Ctrl+C is pressed
#4244 f32adee Thanks @marius-kilocode! - Add image paste support to CLI
845f8c1 Thanks @kiloconnect! - Add markdown theming support for Reasoning box contentf2cc065 Thanks @kiloconnect! - feat: add session_title_generated event emission to CLI6078a9c Thanks @lambertjosh! - Default read permissions now require approval for read operations outside the workspace#4155 74fe4b8 Thanks @omniwired! - feat(cli): add Ctrl+Y keybinding to toggle YOLO mode
#4447 0022305 Thanks @EamonNerbonne! - Provide a few tips for when an LLM gets stuck in a loop
#4477 564b60e Thanks @marius-kilocode! - Simplify --yolo option description
#4367 8b3ef61 Thanks @iscekic! - flush cli session on completion
#4362 d596a08 Thanks @iscekic! - extract an extension message handler for extension/cli reuse
215c48f Thanks @pandemicsyn! - Fix race during session restorationa475394 Thanks @marius-kilocode! - Add JSON stdin handler for bidirectional CLI communication1c5e35b Thanks @pandemicsyn! - fix cli ephemeral mode config leak489b366 Thanks @iscekic! - refactor session manager to better handle asynchronicity of file save events8d44a94 Thanks @pandemicsyn! - Fix: inject configuration before session restoration44ebf95 Thanks @pandemicsyn! - fix potential credential seeding race#4066 1831796 Thanks @iscekic! - use shared session manager from extension folder
#4121 7cd2035 Thanks @catrielmuller! - Improve "/model list" command with pagination, filters and sorting
#4122 fa54645 Thanks @catrielmuller! - Pulish version on Github Pages
c6072d0 Thanks @catrielmuller! - NPM provenancea36323c Thanks @catrielmuller! - Public Docker images0bb5dfe Thanks @catrielmuller! - Kilo Gateway one click authorizationdf83fc7 Thanks @benzntech! - Custom modes support2841b10 Thanks @catrielmuller! - Thinking animation#3949 5bc6c66 Thanks @catrielmuller! - Continue and abort commands
#4001 fb12c27 Thanks @pandemicsyn! - Support emitting Unix exit codes for signal interruption (SIGINT/SIGTERM).
00e6fb5 Thanks @catrielmuller! - Update Dependencies70b956f Thanks @catrielmuller! - Allow the user to type any custom follow up suggestion#3774 0dd8458 Thanks @catrielmuller! - New '/provider' command to switch beteen configured providers
#3783 6d3911c Thanks @catrielmuller! - Configure the CLI using ENV variables
#3774 0dd8458 Thanks @catrielmuller! - provider (-pv/--provider) and model (-mo/--model) command arguments
#3776 81afb3f Thanks @Eldevia! - Support installing CLI with bun
#3769 eff6f2b Thanks @catrielmuller! - Update providers configurations
#3777 bad3bbe Thanks @catrielmuller! - --nosplash argument to hide welcome screen and notifications
#3744 e1442ff Thanks @catrielmuller! - Fix OpenAI compatible provider config
#3701 7c8f30c Thanks @catrielmuller! - Improve Auth Wizard for KiloCode
4d4d3da Thanks @catrielmuller! - Fix "/teams list" command#3648 ff2ccee Thanks @catrielmuller! - Fix initialization race conditions on auto mode
#3672 1bb9cab Thanks @catrielmuller! - Fix file write/read race condition
#3694 0253f12 Thanks @catrielmuller! - Improve Kitty protocol keyboard support
#3623 ef6bcac Thanks @Sureshkumars! - # Checkpoint Restore
Allows users to restore their conversation to a previous point in time.
/checkpoint list
This shows all available restore points with: Hash for the checkpoint When it was created
/checkpoint restore abc123...
You'll see a confirmation showing: Which checkpoint you're going back to How many messages will be removed What will happen to your current work
Choose Restore to go back, or Cancel to keep working.
Let's say you asked Kilo CLI to refactor some code, but you don't like the result:
Run /checkpoint list to see earlier save points
Find the checkpoint from before the refactoring
Run /checkpoint restore <hash> with that checkpoint's hash
Confirm the restore Your conversation is now back to before the refactoring happened
#3641 94bc43a Thanks @KrtinShet! - Fix workspace path resolution when using relative paths with --workspace flag. Bash commands now execute in the correct directory.
#3528 77438f1 Thanks @KrtinShet @iscekic! - add shell mode
#3556 0fd4e8f Thanks @iscekic! - adds support for overriding config with env vars
#3259 9e50bca Thanks @stennkool! - Continue the last task conversation in the workspace (-c argument)
#3491 b884c9e Thanks @catrielmuller! - File mention suggestion - @my/file
#3474 e04b81a Thanks @catrielmuller! - Streaming message typewriter rendering
#3263 97afc88 Thanks @oliver-14203! - /theme command - Enjoy the colors! by: oliver-14203
#3289 6a64388 Thanks @catrielmuller! - Tasks history support
#3497 bb917a2 Thanks @catrielmuller! - Fix Wellcome Message regression
#3452 127a255 Thanks @Sureshkumars! - This PR improves the display of MCP tool requests and responses in the CLI, addressing issues with truncated payloads, poor formatting, and lack of metadata.
Created new SayMcpServerResponseMessage component for MCP responses and refactored AskUseMcpServerMessage to share formatting logic. Both will make use of newly added utility functions for JSON detection, formatting, and metadata display.
formatContentWithMetadata() - Detects JSON, formats it, handles preview logic (>20 lines → show 5)
formatJson() - Pretty-prints JSON with configurable indentation
approximateByteSize() - Estimates byte size using str.length * 3
formatByteSize(), buildMetadataString() - Display helpers
| before | after |
|---|---|
Run the KiloCode CLI and let it automatically use any configured MCP server.
#3463 512f58a Thanks @catrielmuller! - Improve low balance message and added a retry action
#3468 8f8ef10 Thanks @catrielmuller! - Resolve orphaned partial ask messages
#3465 bd0d51e Thanks @iscekic! - improves autocomplete behavior
e0e01b2 Thanks @RSO! - Add a --json flag to render a stream of JSON objects while in --auto mode#3352 c89bd23 Thanks @Sureshkumars! - MCP operations were being auto-rejected in CI mode (autonomous mode) even when autoApproval.mcp.enabled: true, breaking GitHub Actions workflows and other autonomous operations that rely on MCP servers.
Root Cause: The extension sends MCP requests with the ask type set to the operation name (e.g., "use_mcp_server", "access_mcp_resource"), but the approval decision logic only handled these as tool names within the "tool" ask type. This caused MCP requests to fall through to the default case and get auto-rejected.
The approval decision service uses a switch statement on askType to determine whether to auto-approve, auto-reject, or require manual approval:
switch (askType) {
case "tool": // handles tool names like "readFile", "writeFile"
case "command": // handles command execution
case "followup": // handles followup questions
case "api_req_failed": // handles retry requests
default: // ❌ MCP ask types fell here → auto-reject
}
Added explicit cases for MCP ask types to the switch statement:
case "use_mcp_server":
case "access_mcp_resource":
if (config.mcp?.enabled) {
return { action: "auto-approve" }
}
return isCIMode ? { action: "auto-reject", ... } : { action: "manual" }
Also enhanced the tool handler to catch MCP operations sent as tool names (in case the extension changes format):
if (tool === "use_mcp_tool" || tool === "use_mcp_server" || tool === "access_mcp_resource") {
if (config.mcp?.enabled) {
return { action: "auto-approve" }
}
// ... rejection logic
}
| before | after |
|---|---|
| MCP operations auto-rejected in CI mode with error "Auto-rejected in CI mode" | MCP operations auto-approved when autoApproval.mcp.enabled: true |
kilocode --auto "Review the PR #2 in X/X repo, use github mcp servers if needed"Set autoApproval.mcp.enabled: true in config
cat > ~/.kilocode/cli/config.json <<EOF
{
"version": "1.0.0",
"autoApproval": {
"mcp": {
"enabled": true
}
}
}
EOF
`kilocode --auto "Review the PR #2 in X/X repo, use github mcp servers if needed"`
cba3d00 Thanks @catrielmuller! - Improved stability of the approval menu, preventing it from showing when you don't expect it#3260 0f71526 Thanks @catrielmuller! - Improved stability of the approval menu, preventing it from showing when you don't expect it
#3262 e6b62d4 Thanks @catrielmuller! - 'Added /clear command'
#3255 55430b7 Thanks @catrielmuller! - Fix suggestion selection with arrow keys
#3253 db9cb43 Thanks @catrielmuller! - Terminal resize support
#3201 c44f948 Thanks @RSO! - Added an onboarding wizard that helps you get set up in the CLI.
#3208 cdc007c Thanks @catrielmuller! - Allow auto-approval of commands straight from the approval menu
#3202 6ab57f4 Thanks @catrielmuller! - Added prompt history. Use your up/down keys to navigate through previous prompts!
#3176 4bcc1ee Thanks @catrielmuller! - Support Kilo Code for Teams
#3168 476d835 Thanks @catrielmuller! - Fix compatibility with extension v4.107.0
#3161 712b104 Thanks @catrielmuller! - Improved install speed and fixed the outdated dependencies
04a8de4 Thanks @catrielmuller! - Support all providers that are supported by the VS Code extension#3094 b55f3a8 Thanks @RSO! - Rename -ci flag to -a (longform --auto)
#3080 021c91c Thanks @catrielmuller! - Added support for multi-line prompts
#3109 2ed8e2e Thanks @catrielmuller! - Update notification message at startup