Releases: MoonshotAI/kimi-code
Release list
@moonshot-ai/kimi-code@0.23.3
@moonshot-ai/kimi-code@0.23.2
Patch Changes
-
#1489
2206d21Thanks @wbxl2000! - Add the Vercel plugin to the bundled plugin marketplace. Run /plugins and select Vercel Plugin to install it. -
#1477
150206aThanks @chengluyu! - Count the turn that starts an autonomous goal toward its goal turn usage. -
#1483
f30781bThanks @wbxl2000! - Fixkimi -pruns exiting with code 0 when a turn fails. -
#1466
063bce2Thanks @liruifengv! - Fix console windows flashing on Windows each time a hook runs. -
#1474
11c6a37Thanks @wbxl2000! - web: Fix the connection error toast lingering after the WebSocket reconnects when returning from the background. -
#1476
d1a964fThanks @chengluyu! - Prevent autonomous goals from being paused by model-reported status updates. -
#1481
1317000Thanks @chengluyu! - Tighten goal-mode guidance for blocked and complete status updates. -
#1460
474ce28Thanks @RealKai42! - Raise the image downscale cap from 2000px to 3000px, and fix swapped width/height for EXIF-rotated (portrait) photos in compression captions and media read notes so region readback coordinates map correctly. -
#1467
ee38545Thanks @liruifengv! - web: Compile icons at build time so the bundled web UI only carries the icons it renders. -
#1471
9b76e5bThanks @starquakee! - Progressive tool disclosure (select_tools, experimental): compaction now discards the loaded tool schemas instead of re-injecting them. After a compaction the boundary announcement re-lists every loadable tool name and the model re-selects what it still needs; a from-memory call to a no-longer-loaded tool is rejected with guidance to select it first. This keeps the post-compaction context at its minimal users+summary floor and removes the schema-rebuild budget heuristics. No effect unless thetool-selectexperimental flag and aselect_tools-capable model are active. -
#1491
0cc9831Thanks @wbxl2000! - web: The composer model switcher switches the active session's model as before and additionally bumps the global default model, so new sessions inherit the choice. -
#1490
b30a45eThanks @wbxl2000! - web: Press Enter to confirm in archive and other confirmation dialogs. -
#1480
2ad0120Thanks @liruifengv! - web: Redesign the scheduled reminder UI. -
#1492
b0809ddThanks @wbxl2000! - web: Show session skills in the slash menu as/skill:<name>so they are distinguishable from built-in commands; typing the bare skill name still works.
@moonshot-ai/kimi-code@0.23.1
Patch Changes
-
#1432
25a655cThanks @RealKai42! - Preserve prior turns' thinking by default on the Anthropic provider (Claude and Kimi's Anthropic-compatible mode), matching the Kimi default. Disable with[thinking] keep = "off"orKIMI_MODEL_THINKING_KEEP=off. -
#1451
16dc940Thanks @wbxl2000! - web: Recover chat streaming after a stale background-tab WebSocket instead of requiring a page refresh. -
#1456
e9ef939Thanks @chengluyu! - Fix goal completion and blocked updates to produce one final user-facing outcome summary from the tool result. -
#1456
e9ef939Thanks @chengluyu! - Fix goal startup and queue handling so failed starts restore permission mode and queued goals wait behind new user messages. -
#1456
e9ef939Thanks @chengluyu! - Fix goal token budgets to count model completion tokens and stop without extra continuation steps when the budget is exhausted. -
#1452
244ec07Thanks @sailist! - Fix kimi -p abandoning background subagents that start late or run long, so their results reach the main agent. -
#1457
260a807Thanks @liruifengv! - Respect the --skills-dir flag in interactive mode. -
#1445
809a88cThanks @wbxl2000! - web: Fix/btw [<question>]opening an empty side chat on the new-session screen. -
#1445
809a88cThanks @wbxl2000! - web: Fix/goal <objective>silently doing nothing on the new-session screen. -
#1445
809a88cThanks @wbxl2000! - web: Fix slash skill activations (for example/pre-changelog) silently doing nothing on the new-session screen. -
#1437
743f66eThanks @RealKai42! - Stop showing tool-produced<system>metadata in tool outputs; failed tools now show their own error text. -
#1465
bfdbce5Thanks @liruifengv! - Honor explicit Anthropicmax_output_sizesettings instead of clamping them to built-in ceilings. -
#1456
e9ef939Thanks @chengluyu! - Keep goal tools available to the main agent and return clear messages for invalid goal-control calls. -
#1463
03e78aeThanks @chengluyu! - Fix newer Claude minor versions (e.g. Opus 4.8) defaulting to the family-baseline max output tokens; an uncatalogued minor now reuses the nearest earlier known version's limit. -
#1456
e9ef939Thanks @chengluyu! - Show long-running goal wall-clock budget reminders in hours. -
#1456
e9ef939Thanks @chengluyu! - Tighten goal-mode guidance so agents continue reasonable work across turns instead of ending goals prematurely. -
#1450
7a65e0dThanks @liruifengv! - Clarify the permission mode descriptions shown by/permission,/auto, and/yolo, and reorder/autoand/yoloin the command list. -
#1448
65d3017Thanks @RealKai42! - Record a per-request trace in the session wire log, so model requests can be reconstructed for debugging. Not a user-facing feature.
@moonshot-ai/kimi-code@0.23.0
Minor Changes
-
#1417
79b360cThanks @RealKai42! - Enable Preserved Thinking by default for Kimi models when Thinking is on, keeping prior reasoning across turns. Set[thinking] keep = "off"in config.toml (orKIMI_MODEL_THINKING_KEEP=off) to disable it. -
#1073
6c0ce09Thanks @sailist! - Add server APIs to restore archived sessions and list only archived sessions. -
#1369
f0896a5Thanks @starquakee! - Add experimental progressive tool disclosure (select_tools). When thetool-selectexperimental flag is on and the active model declares theselect_toolscapability, MCP tool schemas stay out of the request's top-leveltools[](preserving the provider prompt cache); the model loads tools on demand by exact name via the new built-inselect_toolstool, guided by<tools_added>/<tools_removed>announcements. Off by default and inert on models without the capability — behavior is unchanged until a supporting model is catalogued. The SDK additionally maps theselect_toolscapability when building model aliases from a catalog and reports the new flag throughgetExperimentalFeatures(). -
#1073
6c0ce09Thanks @sailist! - web: Add an Archived sessions page in Settings to browse and restore archived sessions. Open Settings → Archived to find it. -
#1425
c5e3e80Thanks @wbxl2000! - web: Replace the swarm footer with a single inline tool card that shows live subagent progress and the aggregated result, and keep swarm badges stable after refresh.
Patch Changes
-
#1414
c12f309Thanks @RealKai42! - AskUserQuestion now feeds answers back to the model as question text and option labels (e.g.{"answers":{"Which database?":"Postgres"}}) instead of synthesized ids likeq_0/opt_0_1, so the model no longer has to map positional ids back to the original options — the wire protocol is unchanged, clients still answer with option ids. Question texts must now be unique per call and option labels unique per question; the web transcript card resolves both the new label form and legacy id transcripts. -
#1408
fc259abThanks @liruifengv! - Fix@file completion missing deeply nested files in large projects after adding extra workspace directories. -
#1346
b9258eeThanks @liruifengv! - Show compaction summaries in the TUI after compaction. Press Ctrl-O to show or hide the summary. -
#1419
5ea3ec4Thanks @liruifengv! - Fix the Bash tool card collapsing in height when a multi-line command finishes with short output, and visually separate the command from its output. -
#1410
1c817dfThanks @liruifengv! - Fix the edit approval preview shown by ctrl+e to include surrounding context lines, matching the summary panel. -
#1421
1de0286Thanks @liruifengv! - Fix the Edit tool card jumping in height and flickering while its result streams in. -
#1389
ebdffc7Thanks @sailist! - Fix tool calling with Google Gemini models, including Gemini 3 thinking-signature round-trips across turns. -
#1393
4c43935Thanks @justjavac! - web: Show the correct session search shortcut on Windows. -
#1406
ce41f4bThanks @wbxl2000! - web: Fix the collapsed sidebar not hiding and squeezing the conversation layout. -
#1413
913d042Thanks @liruifengv! - Fix the input box shifting upward after the slash command menu closes. -
#1433
ac5b5e4Thanks @liruifengv! - web: Fix tool components jumping the conversation when expanded or collapsed. -
#1394
e95fc83Thanks @justjavac! - web: Fix the font size setting so chat text, composer text, and sidebar text follow the selected size. -
#1411
e6e6dd5Thanks @wbxl2000! - web: Stop the chat history from replaying its entrance animation every time a session is opened. -
#1409
578f7d3Thanks @wbxl2000! - web: Fix the end of a reply staying missing after reopening a session. -
#1390
083d0caThanks @sailist! - Fix sessions that exist on disk but were missing from the session list or returned 404 on direct access, by rebuilding the session index at server startup and keeping it consistent. -
#1357
be7c991Thanks @wbxl2000! - web: Fix queued media messages not loading back into the composer and keep attachments when undoing a message. -
#1428
903e8edThanks @wbxl2000! - web: Add an Archived sessions entry to the mobile settings sheet and clarify the archive confirmation to mention restoring from Settings. -
#1391
c5c6282Thanks @wbxl2000! - web: Render AskUserQuestion answers as a readable option list with the chosen option(s) highlighted, instead of raw JSON. -
#1423
fa6d198Thanks @liruifengv! - web: Fix an almost-invisible composer input caret and a washed-out strikethrough on completed todos. -
#1436
a5fbcb7Thanks @wbxl2000! - web: Keep the composer toolbar from clipping its controls on narrow windows and phones, with the context ring staying visible at every width. -
#1426
2374bc4Thanks @liruifengv! - web: Show scheduled-reminder (cron) fires as notice cards in the chat instead of hiding them. -
#1391
c5c6282Thanks @wbxl2000! - web: Align the markdown diff code block with the design system: code text keeps the normal ink colour while the sign and a soft row background carry the change, matching the ~/diff panel.
@moonshot-ai/kimi-code@0.22.3
Patch Changes
-
#1367
23daf0f- Revert the recent TUI transcript rendering changes to the original upstream behavior while rendering issues are reworked. -
#1343
ec758c7- Add click-to-enlarge for images uploaded in the web chat. Click an image in a message to open it. -
#1343
ec758c7- Fix uploaded videos failing to play in the web chat. -
#1371
5394fea- Wait for background subagents to finish and respond to their results before exiting inkimi -p, instead of ending the turn early. -
#1373
e715b16- Add--dangerous-bypass-authand--keep-aliveflags tokimi server run, so the server can run without a token on trusted networks and stay alive past the idle timeout. -
#1344
26b9022- Add a segmented thinking-level control in the web model picker for models that support multiple reasoning efforts. Open the composer model menu to choose a level.
@moonshot-ai/kimi-code@0.22.2
Patch Changes
-
#1353
68ad686- Fix duplicated transcript content appearing in scrollback during streaming. -
#1340
e2fe62a- Fix sessions silently dropping later user messages after a turn was interrupted between a tool call and its result. -
#1342
84d8d5b- Have context-compaction notes capture a forward plan for the remaining work — upcoming steps, settled decisions, and foreseeable obstacles — instead of only the immediate next step, so the agent continues more coherently after auto-compaction. -
#1340
e2fe62a- Fix requests being rejected by strict providers when the model emits duplicate tool call ids. -
#1339
021786f- Enrich PATH from the user's login shell at startup, so shell commands find user-installed tools (e.g. Homebrew'sgh) even when kimi-code was launched without the full profile PATH. -
#1336
4c1d0a1- Keep automatic background updates from flashing a console window on Windows. -
#1332
93f16c3- Fixkimi upgradefailing on Windows with a spawn error when installing the new version. -
#1348
175b95f- Fix compressed-image prompts leaking an internal<system>compression note into the visible message and the session title. -
#1338
276407d- Promote the language-matching rule to a dedicated section in the system prompt, so replies and reasoning consistently follow the user's language through long English tool output, while repository artifacts keep project conventions. -
#1347
02da587- Inkimi -pruns, wait for background subagents to finish before exiting whenbackground.keep_alive_on_exitis enabled. Setkeep_alive_on_exit = trueto let concurrent background subagents complete. -
#1349
e9db9ca- Record model response ids in session wire logs to make individual model requests easier to trace. -
#1345
3ed22e3- Keep subagent cards at a stable height and show a live status spinner with a compact two-row activity window. -
#1305
9091627- Add a TUI preference to keep rapid multi-line pastes from submitting line by line when bracketed paste is unavailable. Setdisable_paste_burst = trueintui.tomlto turn it off. -
#1328
01b65bd- Rebuild the web design-system easter egg as an in-app overlay that uses the app's real design tokens, so it stays in sync instead of drifting as a separate copy.
@moonshot-ai/kimi-code@0.22.1
Patch Changes
-
#1304
0fc0ae3- When large images are compressed, tell the model the original and delivered image details. Keep the original image available, and support cropped or full-resolution reads for fine details. -
#1315
b40bb71- Fix TUI rendering bugs that caused the screen to go blank and the input box to disappear. -
#1303
2639786- Fix the TUI crashing when the terminal is resized to a very narrow width while the input contains CJK or emoji text. -
#1315
b40bb71- Clear the screen fully when starting a new session via /new, /clear, or a session switch. -
#1301
c3653a1- Show an up arrow on the web composer send button. -
#1290
3ea84a5- Fix the session search dialog showing a horizontal scrollbar for long session titles or snippets. -
#1316
5322c63- Fix web tooltips that could get stuck on screen when their trigger element is removed while open. -
#1319
e8ab7ca- Fix the sidebar session row shifting its title and status badges when hovered. -
#1293
6a469b3- Refresh the web UI icon set and unify the message copy and undo button hover states and tooltips. -
#1311
b40649b- Remove duplicate newline-shortcut handling from the prompt editor. -
#1317
78a058a- Remove the experimental micro compaction feature and its toggle from the experiments panel. -
#1283
ea55911- Improve compaction handoff summaries for more reliable resumed sessions. They now keep the latest intent, key tool results, decisions, open questions, and context to re-check. -
#1295
77eb3a9- Save shell commands to input history and recall them in bash mode. Press Up on an empty!prompt to browse previous shell commands. -
#1316
5322c63- Trim redundant and incorrect tooltips in the web UI. -
#1320
444e6b1- Fix the web UI becoming sluggish after opening many sessions. -
#1322
5441ad1- Let the web sidebar collapse an expanded workspace session list back to its first page.
@moonshot-ai/kimi-code@0.22.0
Minor Changes
-
#1243
ace7901- Automatically compress oversized images before they reach the model. Whatever the source — pasted into the CLI, uploaded from the web/desktop client, sent over ACP, read viaReadMediaFile, or returned by an MCP tool — images are downsampled (longest edge ≤ 2000px) and re-encoded to fit a per-image byte budget, cutting vision-token cost and avoiding provider image-size errors. Screenshots stay lossless PNG and only degrade to JPEG when the byte budget cannot otherwise be met. Compression runs as an input-stage step at each ingestion point (while the content part is built), and guards against decompression bombs by skipping absurdly large pixel/byte payloads before decoding. Best-effort: if it fails for any reason the original image is sent unchanged. -
#1262
c070fbe- Add model alias overrides so manual thinking effort levels and model metadata survive provider catalog refreshes. Set them under[models."<alias>".overrides]. -
#1258
b905dd4- Refresh the web UI with a new design system, including updated colors, typography, spacing, light and dark palettes, restyled tooltips, and subtle enter/exit and expand/collapse animations.
Patch Changes
-
#1258
b905dd4- Show draft pull requests with a distinct draft status instead of displaying them as open. -
#1254
7859b0a- Fix the transcript jumping to the top when scrolling up through history during streaming output. -
#1258
b905dd4- Fix plan, swarm, and goal modes being shared across sessions in the web UI; each session now keeps its own toggles. -
#1264
003733c- Hide the unsupported Off option in the /model thinking switcher for always-on models that already expose multiple effort levels. -
#1272
54703d9- Release pasted images and streaming timers once they are no longer shown, so memory stops growing in long sessions. -
#1272
54703d9- Fix the terminal being left in raw mode with a hidden cursor and disabled flow control after a crash or abrupt exit. -
#1265
8cfb165- Reduce the default TUI transcript window to keep long sessions responsive. -
#1258
b905dd4- Replace the Explore and Native theme options with a single chat layout and a Blue or Black accent-color setting. -
#1258
b905dd4- Show time, duration, connection, and stack details in web error and warning toasts. -
#1258
b905dd4- Fix an active workspace showing only its five most recent sessions on load, so it now keeps loading older sessions from the last 12 hours. -
#1258
b905dd4- Reduce the web composer's default height for a more compact empty state, and fix ArrowUp recalling the previous message while editing a multi-line draft; ArrowUp now recalls only from the very start of the text and is disabled in the expanded editor. -
#1258
b905dd4- Fix the Thinking-by-default setting not taking effect, so new sessions correctly start with thinking enabled. -
#1258
b905dd4- Fix spurious errors from the web question, approval, and task actions when the action was already complete, and add loading feedback so each click is acknowledged immediately. -
#1258
b905dd4- Show queued prompts inline below the running turn in the web chat, and split Stop into its own button so Send no longer interrupts. -
#1278
bbda90a- Hide the conversation outline when there is not enough room to expand its labels, so it no longer clips against the window edge. -
#1258
b905dd4- Show the conversation outline as one entry per user query that expands into a labeled list on hover. -
#1258
b905dd4- Remove the fade-out animation when undoing a message in the web chat. -
#1258
b905dd4- Improve session search with a Cmd/Ctrl+K palette that filters by title, workspace, and last prompt with highlighted matches. Press Cmd+K or Ctrl+K to open it. -
#1258
b905dd4- Group consecutive tool calls into a collapsible stack with per-tool renderers, including diff line-count chips for edits and inline previews for image, video, and audio results. -
#1258
b905dd4- Use one consistent modal dialog for confirmations in the web UI (archive session, delete workspace, delete provider, undo message, and mode toggles). -
#1258
b905dd4- Add workspace sorting by manual order or last-edited time, plus collapse-all and expand-all controls, to the sidebar.
@moonshot-ai/kimi-code@0.21.1
@moonshot-ai/kimi-code@0.21.0
Minor Changes
-
#1204
5cb80ce- Plugins can now provide slash commands via acommandsfield in their manifest, registered as<plugin>:<command>and invoked with$ARGUMENTSexpansion. -
#1214
86e0c92- Rework conversation compaction:- Keep only recent user prompts plus a single user-role summary; drop assistant and tool messages.
- Repair tool_use/tool_result adjacency before sending, fixing a strict-provider HTTP 400 when a tool call and its result became non-adjacent.
- Merge consecutive user turns for strict providers (Gemini/Vertex), fixing an HTTP 400 ("roles must alternate") after compaction or when a turn is steered in right after a tool result.
- Micro-compaction now defaults off.
Patch Changes
-
#1231
ceb27f5- Add a server-side key-value store API for persisting web UI preferences to the user's data directory. -
#1220
ec51324- Add a double-Esc shortcut to open the undo selector. Press Esc twice while idle to undo. -
#1223
80e6888- Fix @ file mentions not opening when typed inside a slash command argument. -
#1233
020992c- Force-exit headless runs (kimi -p) so a stray ref'd handle left over from the run can't keep a completed run alive until an external timeout, and bound prompt cleanup so a wedged shutdown step can't hang shutdown. -
#1225
659062d- Show file path completions when typing/in shell mode (!). -
#1236
bfe8e6a- Fix adding a workspace by path in the web UI failing silently when the daemon rejects the path; it now shows an error instead of a broken workspace. -
#1221
a3f9cec- Fix duplicate workspaces showing in the web sidebar when the same folder is registered more than once. -
#1241
8ac337a- Stop a malformed message history from permanently bricking a session on strict providers (Anthropic). The request is repaired before sending — orphaned tool calls are closed and empty/whitespace-only text blocks dropped — and if the provider still rejects its structure, it is resent once with a wire-compliant rebuild. -
#1228
42e37eb- Split LLM streaming timing in the session log andKIMI_CODE_DEBUG=1output into client vs. API-server portions, so slow turns can be attributed without parsing the wire log. Time-to-first-token splits into the API-server portion (network + server) and the client portion (in-process request building); the decode window splits into time awaiting tokens from the server and time the client spends processing each streamed chunk. -
#1234
882cf35- Hide the provider management dialog in the web UI until the server supports it. -
#1226
7f05f58- Add Mermaid diagram rendering to the web chat. Fencedmermaidblocks in assistant responses now render as diagrams. KaTeX math and Mermaid diagram parsing also run in Web Workers to keep the UI responsive during live streaming. -
#1232
aa6b0d0- Always show the usage-data opt-out toggle in the web settings with a clearer label and description. -
#1234
882cf35- Fix the web workspace rename not persisting after a page refresh.