Changelog
This page documents the changes in each Kimi Code CLI release.
0.11.0 (2026-06-05)
Features
Add experimental sub-skill discovery gated by the
KIMI_CODE_EXPERIMENTAL_SUB_SKILLenvironment variable. Ships thesub-skillbuiltin bundle (sub-skill.review,sub-skill.consolidate) for inventorying and consolidating skills into hierarchical groups.Add the following environment variables:
KIMI_MODEL_TEMPERATURE,KIMI_MODEL_TOP_P— sampling parameters applied globally to anykimiprovider (not tied toKIMI_MODEL_NAME).KIMI_MODEL_THINKING_KEEP— Moonshot preserved-thinking passthrough (thinking.keep), injected only while Thinking is on.KIMI_CODE_NO_AUTO_UPDATE(legacy aliasKIMI_CLI_NO_AUTO_UPDATE) — fully disables the update preflight (no check, background install, or prompt).
Show built-in skills as direct slash commands and group them ahead of external skill commands.
Bug Fixes
- Fix slash command autocomplete so goal text can be submitted when the cursor is before existing text.
- Fix queued goals so failed promotion attempts do not lose or duplicate queued work.
- Fix upcoming-goal queue handling while editing or pasting queued goals.
- Ask before starting goals in YOLO mode so users can switch to Auto for unattended work.
- Show concise provider filtering errors when responses are blocked before visible output.
- Show "unknown command" instead of "too many arguments" when an invalid subcommand is entered.
- Clamp OpenAI Chat Completions
xhighandmaxthinking effort tohighunless the model supportsxhighonv1/chat/completions. - Preserve thinking effort when compacting long conversations.
- Refresh provider model metadata when capabilities change without model ID changes.
Polish
- Show the upcoming-goal confirmation with the same accent treatment as goal lifecycle messages.
- Start upcoming goals immediately when there is no active goal to wait for. Support multiline edits when managing upcoming goals.
- Use a fixed 30-minute timeout for subagents and show concise resume instructions when they time out.
- Highlight goal queue subcommands while typing slash commands.
0.10.1 (2026-06-05)
Bug Fixes
- Fix a crash when starting a goal in the TUI.
0.10.0 (2026-06-04)
Features
- Users now can prepare several goals for the agent to work on sequentially. The agent will pick up the next goal from the queue once the current goal is completed. Use
/goal next <objective>to queue a goal and/goal next manageto review and change the queue interactively. - Add the built-in
update-configskill — you can now have Kimi edit its own config files. - Add persistent experimental feature toggles and a TUI panel that applies confirmed changes by reloading the current session.
- Add
/reloadto reload the current session and apply updated config files, plus/reload-tuito reload only TUI preferences. - Add a doctor command for validating Kimi Code configuration files.
Bug Fixes
- Normalize malformed Responses stream rate limit errors as provider rate limit failures.
- Keep managed OAuth credentials scoped to their configured authentication and API endpoints.
- Stop carrying active and queued goals into forked sessions.
- Fail early when Git Bash is missing on Windows before starting CLI sessions.
- Refresh the update target before showing foreground update prompts so the displayed version matches the install.
- Point session error diagnostics to the
/export-debug-zipcommand. - Set terminal tab titles without renaming the running process.
Polish
- Start automatic background updates as soon as startup's fresh update check finds a newer version.
- Set the CLI process title to kimi-code during startup.
- Lowercase the stale file content message in edit tool errors.
Refactors
- Ensure Nix-packaged CLI builds can find ripgrep and fd.
Other
- Document the Git Bash prerequisite for Windows installs.
0.9.0 (2026-06-03)
Features
- Add the
kimi acpsubcommand: kimi-code now speaks Agent Client Protocol 0.23 over stdio so IDEs (Zed, JetBrains AI Chat, custom clients) can drive sessions directly — coverage matrix, Zed configuration and breaking pre-release notes are in kimi acp Subcommand Page. - Add
/btwfor side-channel conversations without steering the active main turn, and allow/btwto open the side-channel panel before entering a question.
Bug Fixes
- Fix external editor (Ctrl+G) on Windows by removing
/bin/shdependency and using platform-aware shell quoting for temp file paths. - Use the OpenAI completion token field required by newer Chat Completions models.
- Use configured model output limits for completion token caps.
- Fix goal budget tool schemas for OpenAI-compatible providers.
- Resume saved subagents lazily when they are accessed.
Polish
- Unify the interaction and visuals across TUI dialogs and selectors.
- Log enabled experimental flags at startup.
Refactors
- Allow SDK runtime creation to use a separate RPC client while preserving local CLI startup.
0.8.0 (2026-06-02)
Features
Add experimental goal mode for longer tasks that need more than one turn. Turn it on with
KIMI_CODE_EXPERIMENTAL_GOAL_COMMAND=1before you start Kimi.Use
/goal <objective>in the TUI when you want Kimi to keep working on one task across turns. For example:text/goal Fix the failing checkout testKimi shows the goal in the TUI and keeps progress visible while it works. Use
/goal status,/goal pause,/goal resume,/goal cancel, and/goal replace <objective>to manage the goal. This feature is still experimental. Try it and tell us what would make it more useful.Add
kimi providerCLI subcommand withadd,remove,list, andcatalog list/catalog addactions, so providers from a custom registry (api.json) or the public models.dev catalog can be imported and managed without launching the TUI.Add background structured questions so agents can continue while waiting for user answers.
Add background automatic upgrades, which can be disabled in tui.toml.
Add
/undoslash command to withdraw the last prompt from conversation history, and keep replay records in sync when a prompt is undone.Add a
kimi upgradecommand for manually checking and upgrade Kimi Code CLI.Add approval lifecycle hook events for observing pending and completed permission prompts.
Allow subagents to use custom tools registered on their parent agent.
Allow glob searches to target explicit absolute paths outside the workspace.
Bug Fixes
- Fix cross-provider replay failures from incompatible tool call IDs and unsigned Claude thinking history.
- Fix custom registry provider handling during re-import. Prevent loss of multi-provider entries and remove stale providers along with their model aliases and default model references.
- Fix tool output preview rendering: trim trailing empty lines, append ellipsis to multi-line Bash command headers, and truncate long single-line output by visual wrapped lines instead of raw newline count.
- Fix slash-activated skills not being recognized by the model due to missing system reminder wrapper.
- Fix a crash in the
/sessionspicker on very narrow terminals by clamping every rendered line to the terminal width. - Normalize glob patterns before brace expansion to prevent incorrect path matching.
- Prevent modified keyboard release sequences from appearing after exiting the CLI.
- Fix Git Bash path detection on Windows by also searching
usr\bin\bash.exelocations, which is where bash lives in many Git for Windows installations wherebin\bash.exedoes not exist.
Polish
- Show MCP server summary in the welcome panel and add configuration hints in the /mcp command output.
- Point users to
/providerinstead of the removed/connectcommand in the welcome screen and the no-models-configured hint. - Append the current todo list as markdown to compaction summaries before writing them to history.
- Show the full model name in the footer status bar instead of truncating the provider prefix.
- Remind the model to refresh TodoList during long-running tasks and strengthen TodoList progress-tracking guidance.
- Replace chalk named color with theme-aware hex in session-directory warning.
Refactors
- Consolidate background task management under the agent background runtime.
0.7.0 (2026-06-02)
Features
- Add
/providercommand for managing AI providers, support custom registry imports, and introduce a tabbed model selector. It replaces the deprecated/connectcommand — use/providerinstead. - Render scheduled reminders distinctly in the TUI, expose cron fired events to SDK clients, and report cron fire times with local timezone offsets.
- Add
KIMI_MODEL_ADAPTIVE_THINKING(and a matchingadaptive_thinkingmodel-alias field) to force adaptive thinking (thinking: { type: 'adaptive' }) on or off, overriding the Anthropic model-name version inference. This lets custom-named compatible endpoints that back an adaptive-capable model opt in even when the model name does not encode a parseable Claude version.
Bug Fixes
- Report truncated compaction summaries clearly and apply valid completion token budgets across supported providers.
- Fix glob pattern backslash escaping and include match count in truncation messages.
Polish
- Clarify Kimi Platform API key login labels and prompt details.
- Polish a small TUI visual interaction.
0.6.0 (2026-05-29)
Features
- Add a
KIMI_MODEL_*environment-variable channel that lets you run Kimi Code against a specific model (provider type, base URL, API key, context size, capabilities, and thinking settings) without editingconfig.toml. - Install plugins directly from GitHub repository URLs, and surface each install's origin and trust level (kimi-official, curated, third-party) in the plugin manager.
Bug Fixes
- Show the real terminal status of background agents in the transcript so lost, failed, and killed ones no longer appear as completed, and include the resume agent id and recovery instructions in the failure notification so the model can resume reliably.
- Recover from provider model token limit errors during long conversations.
- Automatically retry when a model response stream is dropped mid-flight (a
terminatederror) instead of failing the turn. - Handle context overflow errors consistently across provider responses.
- Back off failed compaction retries by a fixed slice of the model context window.
- Fix the native self-updater reporting a successful update when the install command actually failed.
- Project persisted hook and blocked prompt messages into model context.
- Keep blocked prompt hook conversations available to subsequent model turns.
- Fix footer leaking onto the terminal when resuming a non-existent session.
- Fix automatic ripgrep installation when temporary files are on another filesystem.
Polish
- Remove the default per-turn step limit of 1000. Users can still set
max_steps_per_turnin config to enforce a custom limit. - Support querying sessions by sessionId or workDir in listSessions, and show a helpful cd command when resuming a session from a different working directory.
- Expand the footer's rotating tips to surface more commands and shortcuts, featuring newer and important ones more prominently.
- Improve the usage information display in the TUI.
- Restrict plugin trust badges to Kimi-hosted plugin CDN URL patterns.
- Clarify subagent and background task stop messages as user-initiated.
- Align the datasource plugin with the generic two-tool workflow.
Refactors
- Introduce
ModelProviderinterface andSingleModelProviderto decoupleAgentfromProviderManager. - Split
RuntimeConfigintoKaosandToolServicesand update all references accordingly. - Slim the LLM diagnostic logs with fewer, more compact fields.
- Relocate shared tool service typing to the tool support layer.
0.5.0 (2026-05-28)
Features
Add scheduled tasks:
You can now ask the agent to remind you at a specific time, run a task on a recurring cron schedule (for example, check a deploy every 5 minutes or run a daily report every weekday at 9am), or come back on its own in a few minutes to continue what it was doing.
Schedules use the standard 5-field cron syntax.
Add
/autoslash command and--autoCLI flag for auto permission mode.Show file content and diff in Write and Edit approval prompts, and open them in a dedicated full-screen viewer on ctrl+e instead of expanding inline.
Bug Fixes
- Fix compaction to handle edge cases where no messages are compactable and improve retry logic.
- Fix official datasource tools to preserve complete responses and write returned result files.
- Fix migration mapping the legacy
default_yolokey to the deadyolofield instead ofdefault_permission_mode.
Polish
- Add a clickable changelog link to the update prompt.
- Show the full Bash command when expanding a Bash tool card with
ctrl+o. The header still truncates long commands at 60 chars, but the expanded view now reveals the complete multi-line command above the output. - Shorten the session title written to the terminal window/tab from 80 to 32 characters so long first messages and pasted content no longer stretch the tab bar past readable width.
- Cap the inline todo panel at five rows and show a
+N moreindicator so long task lists no longer fill the screen. - Clarify plugin manager keyboard shortcuts and show plugin state changes inline.
- Report discovered plugin skills in plugin manager summaries.
- Offload large base64 media payloads from
wire.jsonlinto external blob files to reduce wire size and memory pressure during session replay. Includes an in-memory read-through cache onBlobStoreso repeated rehydration avoids redundant disk reads. - Wrap long question, body, and option text in the AskUserQuestion dialog instead of truncating with an ellipsis. The question prompt, body description, option label, option description, and submit-tab review entries now flow onto multiple lines with a hanging indent.
Refactors
- Refactor TUI code structure.
0.4.0 (2026-05-27)
Features
- Add user-global plugin installation, interactive plugin management, plugin-provided skills, and plugin-owned MCP servers.
- Expand folded paste markers on second paste.
- Rework tool permissions: reads outside cwd no longer prompt, session approvals match the exact call, and path-based rules are case-insensitive.
- Add
/export-debug-zipslash command to export the current session as a debug ZIP archive directly from the TUI. - Add
/export-mdslash command to export the current session as a Markdown file.
Bug Fixes
- Prevent the TUI from crashing when pull request lookup fails during startup.
- Fix thinking spinner leaking past turn end when an empty thinking delta creates an orphaned thinking component.
- Show the original session resume command after forking a session.
- Restrict plugin zip installs to manifests at the archive root or a single wrapper directory.
- Route session-tagged log entries exclusively to the session sink instead of duplicating them to the global sink. Consistently omit stable main-agent context keys from all session log lines that carry
agentId=main.
Refactors
- Refactor TUI resume replay logic.
- Use one retry classification for transient LLM failures across regular turns and compaction.
Other
- Enhance
kimi exportto include more diagnostic information in the manifest.
0.3.0 (2026-05-26)
Features
/logoutnow opens a picker so you can choose which provider to log out of, instead of always logging out the one tied to the current model. The current provider is highlighted by default, so pressing Enter matches the previous behavior. The command is also available as/disconnect.- The
openaiprovider now works out of the box for OpenAI-compatible reasoner models: it auto-detects thinking fields in responses (reasoning_content/reasoning_details/reasoning) and auto-injectsreasoning_effortwhen history contains prior thinking. DeepSeek, Qwen, One API and other gateway-fronted services no longer need a hand-setreasoning_key, which remains available as an explicit override for non-standard gateways.
Bug Fixes
- Prevent running the
/modeland/sessionsslash commands while streaming or compacting context. - Preserve catalog-declared interleaved reasoning fields for OpenAI-compatible models configured through
/connect. - Fix API key input dialog showing a masked dot in empty state.
- Fix user skills in
~/.agents/not being loaded. - Restore real-time token display for running subagents in the TUI.
- Hide the todo panel on resume when all todos are already completed.
- Always emit a paired tool result when a tool returns a malformed or missing result, preventing the next request from failing with a missing tool_call_id error.
- Fix Plan mode session resets so new sessions no longer fail after plan review rejection and continue receiving events after setup errors.
- Exit promptly when the controlling terminal goes away. The TUI now handles
SIGHUP/SIGTERMand stdout/stderrEIO/EPIPE/ENOTCONNerrors, preventing leftoverkimiprocesses that pin a CPU core after the parent shell or multiplexer dies unexpectedly. - Avoid overly small local completion caps that can truncate reasoning before summaries are produced.
Refactors
- Make
AgentRecordshold theAgentinstance directly and inline the restore dispatch logic.
Other
- Improve the Write tool UX.
0.2.0 (2026-05-26)
Features
- Add a
/connectcommand that configures a provider and model from a model catalog. - The
/connectprovider and model pickers now support type-to-search filtering, and long lists are paginated. The/modelpicker is also paginated when many models are configured. - Add
Ctrl-Jas an additional shortcut for inserting new lines in the TUI prompt. - Add wire record migration handling during session replay.
- Migrate user skills from
~/.kimi/skills/to~/.kimi-code/skills/during the first-launch migration; existing target skills are kept. - Emit session resume hint as a structured meta message in stream-json output format.
Bug Fixes
- Report the macOS product version in OAuth device information instead of the Darwin kernel version.
- Correct the
X-Msh-Platformheader value tokimi_code_cli. - Clarify the prompt-mode error when no model is configured by pointing users to the login flow.
- Hide the empty current session from the sessions picker while keeping other empty sessions visible.
- Stop mentioning OAuth credentials in the migration UI — they are never migrated, so the previous "needs /login" notice misread as a failure. OAuth-only installs no longer trigger the migration screen.
- Surface API-provided error messages during feedback, usage, login, and model setup failures.
- Persist model selections from the terminal UI to the default configuration, and honor the configured default thinking state for new sessions.
- Retry compaction responses that do not contain a summary before updating conversation history.
- Avoid CPU spikes from large streamed tool arguments and coalesce high-frequency streaming UI updates.
- Resume sessions with a newer wire protocol version instead of failing. A warning is now shown in the TUI and records are replayed without migration.
- Warn tmux users when extended key settings may prevent modified Enter shortcuts from working.
- Let Kimi requests use the remaining context window for completion tokens by default while keeping explicit environment limits as hard caps.
Refactors
- Flatten tool call data by inlining tool names and arguments at the top level, and limit legacy record migration so it only rewrites matching tool call payloads.
- Move wire metadata handling into the record layer and keep persistence backends limited to storage operations.
Other
- When no models are configured,
/modeland the welcome panel now point users to/login(for Kimi) and/connect(for other providers).