Skip to content

Releases: MoonshotAI/kimi-code

@moonshot-ai/kimi-code@0.22.1

Choose a tag to compare

@github-actions github-actions released this 02 Jul 13:58
5083845

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

Choose a tag to compare

@github-actions github-actions released this 02 Jul 03:14
ba7f18b

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 via ReadMediaFile, 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

Choose a tag to compare

@github-actions github-actions released this 01 Jul 06:46
70f01ab

Patch Changes

  • #1256 0cc02ac - Keep the waiting spinner visible while encrypted reasoning streams, fixing a blank spinner-less gap before the first response text appears.

@moonshot-ai/kimi-code@0.21.0

Choose a tag to compare

@github-actions github-actions released this 01 Jul 02:54
f2c7ec7

Minor Changes

  • #1204 5cb80ce - Plugins can now provide slash commands via a commands field in their manifest, registered as <plugin>:<command> and invoked with $ARGUMENTS expansion.

  • #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.
  • #1132 108299b - Refactor the thinking effort system

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 and KIMI_CODE_DEBUG=1 output 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. Fenced mermaid blocks 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.

@moonshot-ai/kimi-code@0.20.3

Choose a tag to compare

@github-actions github-actions released this 30 Jun 04:40
b41f108

Patch Changes

  • #1207 14d9e98 - Refresh provider model lists automatically in the background instead of only at startup, so newly available models appear without restarting.

  • #1191 0df1812 - Fix provider error messages rendering as blank lines in the TUI when the server returns an HTML error page.

  • #1212 636ccc4 - Fix the web composer being hidden behind the mobile Safari toolbar and the page auto-zooming when the composer is focused.

  • #1068 c82dcf9 - Glob now uses ripgrep, so it respects .gitignore by default, supports brace patterns, returns only files, and keeps partial results with a warning when some directories are unreadable.

  • #1209 0635387 - Align malformed tool call argument handling with schema validation fallback.

@moonshot-ai/kimi-code@0.20.2

Choose a tag to compare

@github-actions github-actions released this 29 Jun 06:51
52e2719

Patch Changes

  • #1166 dfcfdfd - Add an optional exclude_empty parameter to the session list API to omit sessions that have no messages.

  • #1156 794db55 - Cap compaction output at 128k tokens by default to avoid provider max_tokens errors.

  • #1129 d02b5c4 - Fix compaction ignoring the configured max output size.

  • #1188 db5fbc5 - Fix unnecessary full-screen redraws when typing in the input box or toggling the slash panel.

  • #1187 97f9263 - Fix debug timing output lingering after undoing a turn.

  • #1163 ff6e8bb - Fix the web composer occasionally keeping typed text after sending the first message of a new session.

  • #1189 04b3492 - Fix working tips getting squeezed against the agent swarm progress bar.

  • #1159 23a553b - In the bundled web UI, /new and /clear are now aliases that open the session onboarding composer and focus the input. iOS auto-zoom is prevented by keeping text inputs at 16px instead of disabling viewport scaling.

  • #1186 821847c - Add KIMI_CODE_CUSTOM_HEADERS for custom outbound LLM request headers and send the User-Agent header to non-Kimi providers. Set KIMI_CODE_CUSTOM_HEADERS to newline-separated Name: Value lines.

  • #1186 821847c - Route managed Kimi Code models on the Anthropic-compatible protocol through the beta Messages API.

  • #1170 cf558cd - Recover from provider 413 context overflows by compacting before retrying.

  • #1170 cf558cd - Support the Anthropic-compatible protocol for managed Kimi Code, including video input.

  • #1186 821847c - Add provider type and protocol attributes to turn and API error telemetry.

  • #1155 54baf5d - Upgrade web markdown renderer dependencies (katex, markstream-vue, shiki) for bug fixes and performance improvements.

  • #1162 b070846 - Rework the web ask-user-question card into a step-by-step wizard so multi-question navigation and the final Submit action are easier to see.

  • #1179 fc3d69d - Add a completion sound and question notifications to the web UI, with separate Settings toggles for completion notifications, question notifications, and sound. Question notifications default off so question text only reaches your desktop after you opt in.

  • #1165 f3b1532 - Replace the web composer attach button's plus icon with an image icon.

  • #1167 c63edd5 - In the bundled web UI, a new session is now created only when the first message is sent, so + New without a workspace opens the composer instead of making an empty session.

  • #1166 dfcfdfd - Hide unused "New Session" entries from the web session list by default.

  • #1181 1dab2c2 - Restore each session's scroll position when switching back to it in the web UI.

  • #1181 1dab2c2 - Keep the open side panel when switching between sessions in the web UI.

  • #1166 dfcfdfd - Remove the /sessions slash command from the web UI; the sidebar already covers session browsing.

  • #1181 1dab2c2 - Keep unsent composer attachments scoped to their session in the web UI, so switching sessions no longer leaks them into another session's next message.

  • #1161 d968642 - Show the first five sessions per workspace in the web sidebar instead of ten.

  • #1181 1dab2c2 - Scope the web composer's up/down input history to the current session instead of sharing it across all sessions.

@moonshot-ai/kimi-code@0.20.1

Choose a tag to compare

@github-actions github-actions released this 26 Jun 11:19
da63403

Patch Changes

  • #1125 e9a3b7c - Add an update alias for the kimi upgrade command. Run kimi update to upgrade to the latest version.

  • #1122 820d77a - Show the done / in progress / pending breakdown of hidden todos in the collapsed todo panel.

  • #1131 76c643b - Cap completion tokens to the remaining context window for chat-completions providers, avoiding context-overflow and invalid max_tokens errors.

  • #1120 e736349 - Add optional feedback attachments for diagnostic logs and codebase context.

  • #1135 bf51fb7 - Fix the local server failing to start on Windows after the first run because the persistent token file's synthesized mode was rejected as too permissive.

  • #1102 9c97161 - Harden the default system prompt and built-in tool descriptions: stop the agent from blocking on background tasks it should let run, keep its guidance matched to the tools each profile actually provides, and surface tool-result details (fetched-page mode, Grep match totals) it previously missed.

  • #1127 184acf5 - Plugins can now declare hooks in their manifest to run scripts on lifecycle events.

  • #1128 0886bff - Add a --allowed-host flag to kimi server run that lets extra Host header values pass the DNS-rebinding check, and include allow guidance in the 403 error message. Pass --allowed-host to allow an extra host.

  • #1119 b0b2aee - Keep the terminal responsive in long conversations by caching rendered message lines.

  • #1119 b0b2aee - Keep long sessions responsive by retaining only recent turns in the transcript and collapsing older steps within each turn.

  • #1121 81ba48f - Make the web chat input grow with its content and add an expandable editor for longer messages.

  • #1133 f1c8175 - Fix the /web slash command not carrying the server token, so the opened web UI signs in automatically and the token is shown before the terminal exits.

@moonshot-ai/kimi-code@0.20.0

Choose a tag to compare

@github-actions github-actions released this 25 Jun 18:32
5f36e76

Minor Changes

  • #1079 2db5fc2 - Add shell mode for running shell commands.
    Type ! in the input box to enable it.
    The command output is visible to the AI.
    For long-running commands, press Ctrl+B to move them to the background.
    For example, you can run !gh auth login to sign in to the GitHub CLI without opening a new terminal, so Kimi can use gh.

  • #1088 0030f76 - Add a confirmation prompt before installing third-party plugins.

  • #1066 3554f7e - Show update badges on the /plugins Installed tab, where Enter now installs the available update and I opens plugin details.

  • #1025 5ef66dd - Redesign /plugins as a single tabbed panel: Installed (manage installed
    plugins — toggle, remove, MCP, details, reload), Official (Kimi-maintained
    marketplace plugins), Third-party (marketplace plugins from other
    publishers), and Custom (install straight from a GitHub URL, zip URL, or
    local path). Tab / Shift-Tab switch tabs. The Official and Third-party
    catalogs load lazily, so /plugins opens instantly and keeps working offline —
    a marketplace fetch failure is shown inline instead of closing the panel. The
    tab strip is shared with the /model provider tabs via the new renderTabStrip
    helper.

  • #1006 60dfb68 - Add server authentication and safe --host exposure. The local server now
    requires a per-start bearer token on all API and WebSocket calls (the CLI reads
    it automatically), enforces Host/Origin checks, and gains --host with a
    public-binding hardening tier: mandatory KIMI_CODE_PASSWORD, TLS (or
    --insecure-no-tls), auth-failure rate limiting, disabled remote
    shutdown/terminals, and security response headers. See packages/server/SECURITY.md.

  • #1040 6664038 - Replace silent AGENTS.md truncation with a visible warning in the TUI status bar and web UI.

  • #1101 3ea6ac2 - Show the plan body and approach choices in the plan review card when exiting plan mode in the web UI.

  • #1103 18f7c34 - Show a line-by-line diff when the agent edits or writes a file in the web chat.

Patch Changes

  • #1072 a86bb97 - Improve the image paste hint.

  • #1076 500677a - Fix Ctrl-C during compaction so it clears a pending editor draft first instead of cancelling immediately.

  • #1067 0e227ba - Fix explore subagents silently losing git context when git commands time out or the directory is not a repository.

  • #1075 3aaf1e5 - Fix a startup crash on Linux caused by an unhandled native clipboard error.

  • #1094 8ee5c0f - Fix the terminal window repeatedly losing focus on Linux Wayland, which broke IME input.

  • #1057 ee69e16 - Fix MCP server working directories when sessions are hosted by the web server.

  • #1064 a752a53 - Fix truncated skill descriptions missing an ellipsis in the model's skill listing.

  • #903 bbd8a1a - Fix kimi web and /web failing to start the background server daemon on Windows with spawn EFTYPE when the CLI is installed via npm/pnpm or run from source. The official single-binary install script was not affected.

  • #1070 ff17715 - Stop auto-dismissing questions in the web UI after 60 seconds so they wait for the user's answer.

  • #1097 27ef516 - Add a hint to the per-turn step limit error pointing users to the loop_control.max_steps_per_turn config option.

  • #1062 ea6a4bf - Preserve full tool output logs when previews are truncated and link background task completion notifications to saved output.

  • #1086 fe667d7 - /reload now refreshes the assistant's view of plugin skills, so plugin changes take effect in the current session instead of requiring a new one.

  • #1081 8fc6aa5 - Sync session title changes across all connected clients in server mode.

  • #1078 75ca3b2 - Add Ctrl+U and Ctrl+D as page up and page down shortcuts in the task output viewer.

  • #1069 d18aa16 - Reduce streaming redraw cost for long assistant messages with code blocks.

  • #1112 6a97d0b - Add a copy button to user messages in the web chat.

  • #1035 ea03f30 - Render LaTeX display math ($$…$$) in the web chat via KaTeX. Single $ is intentionally left as literal text, so prices, env vars, and shell paths (e.g. $PATH, $5/$10, $HOME/bin) are never swallowed as a formula.

  • #1084 d6e5246 - Page the web session list per workspace so the first screen no longer fetches every session up front.

  • #1113 6194d3f - Keep the web session sidebar from re-rendering on every streaming token. The
    event reducer now reuses the sessions array reference for events that do not
    change sessions, so the sidebar computeds (sessionsForView / workspaceGroups
    / mergedWorkspaces) are no longer dirtied by unrelated high-frequency events.

  • #1087 884b65a - Fix duplicate session snapshot reloads in the bundled web UI during resync.

  • #1109 d554f9a - Show the full accumulated progress of a subagent in its detail panel, with concise tool-call summaries instead of raw JSON.

  • #1065 4b837d6 - Create missing parent directories automatically when writing a file.

@moonshot-ai/kimi-code@0.19.2

Choose a tag to compare

@github-actions github-actions released this 24 Jun 04:15
0bcd984

Patch Changes

  • #999 6b68aa8 - Add -c as a shorthand for --continue.

  • #1028 be77d5d - Show a transient footer hint when an image is detected in the clipboard, displaying the platform-appropriate paste shortcut.

  • #1004 d70c3a8 - Show the command in running Bash tool cards and allow expanding it with Ctrl+O before the result arrives.

  • #1009 e47de61 - Add a Ctrl+T shortcut to expand and collapse a truncated todo list.

  • #1028 be77d5d - Fix stale rows occasionally leaving duplicate input boxes after tall content shrinks.

  • #1028 be77d5d - Fix inline images being rendered as broken escape sequences in the transcript.

  • #1027 c240bfa - Fix resume not realigning a tool call that was interrupted mid-history. The synthetic interrupted result is now closed in place at the next step boundary, so later turns and deferred messages keep their recorded order instead of only the trailing exchange being repaired. The /messages wire transcript reducer mirrors the same closure so its folded length stays aligned with live history, preventing the later turn from being duplicated/reordered. Replay also drops a tool result whose call is no longer awaiting one, so a stale interrupted result left at the log tail by an older resume of a damaged session is not re-applied as a duplicate.

  • #1012 fd16ffb - Show subcommand suggestions after Tab-completing a slash command name.

  • #1012 fd16ffb - Fix the Tab key unexpectedly opening the file completion list.

  • #1044 9d197e0 - Fix clipboard copy actions in the web UI when served over plain HTTP.

  • #1032 a753b05 - Fix code blocks nested inside list items rendering blank in the web chat after a turn finishes generating.

  • #1015 83384ee - Fix the composer's ↑/↓ input-history recall doing nothing right after the first message of a new session. The history is now persisted to localStorage and re-read on mount, so the docked composer no longer starts empty when it takes over from the empty-session composer. Slash commands are now recorded too — both typed-and-submitted and ones picked from the slash menu — so they can be recalled like plain messages.

  • #1003 e15edfd - Fix the web question prompt missing the free-text Other option.

  • #1056 b93e936 - Fix yolo mode in the web app auto-approving plan reviews and sensitive file access.

  • #971 b84704b - Read large text files in bounded memory and read tail lines without scanning whole files.

  • #1020 9c553e4 - Add an Alt+S shortcut in the model picker to switch the model for the current session only, without saving it as the default.

  • #1043 27df39c - Fix web chat stop actions so stale prompt ids fall back to cancelling the active session.

  • #1036 866b91c - Reorganize the web app's components into area subdirectories (chat/settings/dialogs/mobile) and refresh the component path comments.

  • #1042 dc6b9ef - Add a development-mode indicator to the web sidebar for local development.

  • #1047 98d3e5b - Keep the web sidebar's workspace order stable and let workspaces be reordered by drag-and-drop, persisted locally instead of following recent activity; sessions now also float to the top of their group as soon as a new message arrives.

  • #1034 603a767 - Extract the composer's image/video attachment handling into a reusable composable.

  • #1031 2bfd686 - Extract the composer's text state and per-session draft persistence into a reusable composable.

  • #1011 fb780fc - Extract the composer's shell-style input-history recall into a reusable composable.

  • #1030 661c1fb - Extract the composer's @-mention menu logic into a reusable composable.

  • #1026 318c964 - Extract the composer's slash-command menu logic into a reusable composable.

  • #1045 ac1882f - Persist the collapsed state of workspace groups in the web sidebar across page reloads.

  • #1001 ea1b33b - Extract pure turn-rendering helpers out of the chat pane into their own module.

  • #1010 a2650f8 - Extract the beta conversation outline (table of contents) into its own component.

  • #998 3e4793d - Extract the workspace group rendering out of the sidebar into its own component.

  • #985 92c2cf0 - Allow the web sidebar and detail panel to be resized up to the available viewport width, keeping their resize handles reachable on narrow windows.

  • #1033 b1e6b64 - Optimize the loading tips display.

@moonshot-ai/kimi-code@0.19.1

Choose a tag to compare

@github-actions github-actions released this 23 Jun 03:31
7d2a23e

Patch Changes

  • #992 7341fb4 - Fix ACP editors such as Zed failing to start a new thread.

  • #984 da81858 - Clear all per-session state when a session is archived or removed, so archived sessions no longer leave orphaned data behind.

  • #978 d4ae02d - Fix the web sidebar's unread dots getting out of sync across browser tabs.

  • #979 8c6cade - Consolidate web client localStorage access and split the root state store and app shell into focused composables.