From 8acd1fa26c230b2c77a0a6f6fa3623edd194ce07 Mon Sep 17 00:00:00 2001 From: bj456736 Date: Tue, 18 Aug 2026 04:40:54 +0000 Subject: [PATCH 1/3] Rewrite pending changesets for the new changelog conventions --- .changeset/daemon-file-ref-drop-path.md | 2 +- .changeset/fix-gemini-thought-signature.md | 3 +-- .changeset/goal-objective-length-warning.md | 2 +- .changeset/goal-objective-too-long-message.md | 6 ------ .changeset/lazy-global-search-startup.md | 2 +- .changeset/media-registrar-stale-alias.md | 2 +- .changeset/persist-token-counting-ledger.md | 2 +- .changeset/queue-skill-commands-while-busy.md | 2 +- .changeset/undo-todo-panel-revert.md | 1 - .changeset/v1-mcp-management-plane-sdk.md | 5 +++++ .changeset/v1-mcp-management-plane-vscode.md | 5 +++++ .changeset/v1-mcp-management-plane.md | 6 +----- 12 files changed, 18 insertions(+), 20 deletions(-) delete mode 100644 .changeset/goal-objective-too-long-message.md create mode 100644 .changeset/v1-mcp-management-plane-sdk.md create mode 100644 .changeset/v1-mcp-management-plane-vscode.md diff --git a/.changeset/daemon-file-ref-drop-path.md b/.changeset/daemon-file-ref-drop-path.md index 6f23742ef9..a30822f367 100644 --- a/.changeset/daemon-file-ref-drop-path.md +++ b/.changeset/daemon-file-ref-drop-path.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code-sdk": minor --- -Daemon file references no longer persist a materialization path: the daemon-file URL builder takes only a file id, and the parsed reference no longer carries a `path` field. The display path is derived from the session media store at read time, so a session fork or home relocation can no longer stale a persisted reference. Urls with a legacy `?path=` query still parse. +Daemon file references no longer persist a materialization path: the daemon-file URL builder takes only a file id, and the display path is derived from the session media store at read time, so a session fork or home relocation can no longer stale a persisted reference. Urls with a legacy `?path=` query still parse. diff --git a/.changeset/fix-gemini-thought-signature.md b/.changeset/fix-gemini-thought-signature.md index 1796675882..75caa22b06 100644 --- a/.changeset/fix-gemini-thought-signature.md +++ b/.changeset/fix-gemini-thought-signature.md @@ -1,6 +1,5 @@ --- "@moonshot-ai/kimi-code": patch -"@moonshot-ai/kimi-code-sdk": patch --- -Fix Gemini tool-calling sessions failing on follow-up requests: preserve the tool-call thought signature and keep trailing user text before function results. +Fix Gemini tool-calling sessions failing on follow-up requests. diff --git a/.changeset/goal-objective-length-warning.md b/.changeset/goal-objective-length-warning.md index f336484c07..118b438198 100644 --- a/.changeset/goal-objective-length-warning.md +++ b/.changeset/goal-objective-length-warning.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code": patch --- -Warn in the footer while a typed `/goal` objective exceeds the 4000-character limit, and restore the input instead of losing it when an over-limit objective is rejected. The error message now suggests putting long content in a file and referencing the file path. +Warn while a typed `/goal` objective exceeds the 4000-character limit; a rejected objective now keeps the typed input and suggests moving long content into a file. diff --git a/.changeset/goal-objective-too-long-message.md b/.changeset/goal-objective-too-long-message.md deleted file mode 100644 index 1fff334697..0000000000 --- a/.changeset/goal-objective-too-long-message.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@moonshot-ai/agent-core": patch -"@moonshot-ai/agent-core-v2": patch ---- - -Include the file-reference workaround in the `GOAL_OBJECTIVE_TOO_LONG` error message so clients surface how to submit long objectives. diff --git a/.changeset/lazy-global-search-startup.md b/.changeset/lazy-global-search-startup.md index bb5fd4f520..99810a27b2 100644 --- a/.changeset/lazy-global-search-startup.md +++ b/.changeset/lazy-global-search-startup.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code": patch --- -Fix several seconds of startup lag: the global search index (used only by the web UI's search) was being opened and synced in every terminal session, including ones that never search. It now loads on demand, so interactive startup stays fast. +Fix slow startup: the global search index now loads on demand instead of at every launch. diff --git a/.changeset/media-registrar-stale-alias.md b/.changeset/media-registrar-stale-alias.md index 692785e5be..8b3a6ca229 100644 --- a/.changeset/media-registrar-stale-alias.md +++ b/.changeset/media-registrar-stale-alias.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code": patch --- -Fix an `[unexpected] Error2: Model "" is not configured in config.toml` error printed on startup when a restored session references a model that is no longer configured (e.g. after logging out of the managed Kimi Code account). Media tool registration now degrades gracefully instead of throwing from the `agent.status.updated` listener. +Fix a spurious startup error when a restored session references a model that is no longer configured, for example after logging out of the managed account. diff --git a/.changeset/persist-token-counting-ledger.md b/.changeset/persist-token-counting-ledger.md index 07ae973b47..9876b5019b 100644 --- a/.changeset/persist-token-counting-ledger.md +++ b/.changeset/persist-token-counting-ledger.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code": patch --- -Persist the token counting ledger (`token_counting.measured` / `truncated` / `rebased`) to the wire journal, so the displayed context size keeps its measured value after archiving and unarchiving a session (or any close → resume) instead of dropping to a smaller estimate until the next LLM call. +Fix the displayed context size dropping to a smaller estimate after archiving and resuming a session. diff --git a/.changeset/queue-skill-commands-while-busy.md b/.changeset/queue-skill-commands-while-busy.md index c79c7f0067..566274d7e6 100644 --- a/.changeset/queue-skill-commands-while-busy.md +++ b/.changeset/queue-skill-commands-while-busy.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code": patch --- -Queue slash skill commands entered while the agent is busy instead of rejecting them with "Cannot / while streaming" — they now behave exactly like normal input: queued visibly by default, and Ctrl-S steers them into the running turn as real skill activations. +Queue slash skill commands entered while the agent is busy instead of rejecting them; they now behave like normal input, and Ctrl-S still steers them into the running turn. diff --git a/.changeset/undo-todo-panel-revert.md b/.changeset/undo-todo-panel-revert.md index 9def9eb4b6..29919a82ce 100644 --- a/.changeset/undo-todo-panel-revert.md +++ b/.changeset/undo-todo-panel-revert.md @@ -1,6 +1,5 @@ --- "@moonshot-ai/kimi-code": patch -"@moonshot-ai/kimi-code-sdk": patch --- Fix the todo panel keeping items written by an undone turn: /undo now restores the todo list to its state before the undone turn. diff --git a/.changeset/v1-mcp-management-plane-sdk.md b/.changeset/v1-mcp-management-plane-sdk.md new file mode 100644 index 0000000000..441d1841fc --- /dev/null +++ b/.changeset/v1-mcp-management-plane-sdk.md @@ -0,0 +1,5 @@ +--- +"@moonshot-ai/kimi-code-sdk": minor +--- + +Unify the MCP management surface behind a source-tagged registry: `listMcpServers` now covers plugin-declared servers with `source` / `origin` / `mutable` markers, and adds `getMcpServer`, `testMcpServerConfig`, runtime `addMcpServer` with an optional persist flag, and an `oauth-expired` auth state; `reconnectMcpServer` re-resolves the current config unless given a replacement. Also adds the app-level `inspectAppMcpServers` with locator-addressed OAuth RPCs, and redacts secret-bearing `env` / `headers` values in status entries. diff --git a/.changeset/v1-mcp-management-plane-vscode.md b/.changeset/v1-mcp-management-plane-vscode.md new file mode 100644 index 0000000000..6f217e86d1 --- /dev/null +++ b/.changeset/v1-mcp-management-plane-vscode.md @@ -0,0 +1,5 @@ +--- +"kimi-code": patch +--- + +Show plugin- and file-declared MCP servers in the MCP servers panel as read-only entries instead of offering to edit or delete them. diff --git a/.changeset/v1-mcp-management-plane.md b/.changeset/v1-mcp-management-plane.md index ef24a78bc2..fd259da7dd 100644 --- a/.changeset/v1-mcp-management-plane.md +++ b/.changeset/v1-mcp-management-plane.md @@ -1,9 +1,5 @@ --- "@moonshot-ai/kimi-code": patch -"@moonshot-ai/kimi-code-sdk": minor -"kimi-code": patch --- -On the legacy engine, plugin MCP server changes (install / enable / disable / remove / reload) now apply to open sessions immediately, and an MCP server OAuth sign-in or credential reset automatically refreshes the affected sessions instead of leaving them stuck until a manual reconnect; a connection that fails mid-session for auth reasons is now reported as needing sign-in rather than as a generic failure. - -`@moonshot-ai/kimi-code-sdk`: the MCP management surface is now backed by a unified, source-tagged registry — `listMcpServers` also covers plugin-declared servers (read-only, with their effective config) and returns `source` / `origin` / `mutable` markers; new `getMcpServer` for a single effective config; `testMcpServerConfig` probes an unsaved inline config; sessions can connect a server at runtime via `addMcpServer` with an optional persist flag; `reconnectMcpServer` accepts an optional replacement config and otherwise re-resolves the current config instead of reusing a stale snapshot; `listMcpServerAuthStatuses` accepts `cwd` / `verify` (online probe) and distinguishes dead grants via the new `oauth-expired` state; stored OAuth grants now record their absolute expiry and are refreshed proactively and single-flight per credential. Session status entries and read-only management entries redact secret-bearing stdio `env` / remote `headers` values to key lists, and concurrent logins for the same credential join a single browser flow. A new app-level inspection, `inspectAppMcpServers`, reports every server's effective config and real (probe-verified) authorization state — including plugin servers and runtime-name collisions — and the OAuth flow RPCs have locator-addressed variants (`authenticateAppMcpServer` / `resetAppMcpServerAuth`) so plugin servers can be signed in and reset directly. +On the legacy engine, plugin MCP server changes (install, enable, disable, remove) now apply to open sessions immediately, and an MCP OAuth sign-in automatically refreshes the affected sessions. From 264d1cff5fbbf7295728fa16294319a6a23ebef0 Mon Sep 17 00:00:00 2001 From: bj456736 <161294296+bj456736@users.noreply.github.com> Date: Tue, 18 Aug 2026 04:52:29 +0000 Subject: [PATCH 2/3] chore: drop the /tower changeset per reviewer request --- .changeset/tower-slash-command.md | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 .changeset/tower-slash-command.md diff --git a/.changeset/tower-slash-command.md b/.changeset/tower-slash-command.md deleted file mode 100644 index c65709853d..0000000000 --- a/.changeset/tower-slash-command.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@moonshot-ai/kimi-code": minor ---- - -Add the /tower slash command to orchestrate multiple agents iterating on one repo in parallel — you act as the control tower while worker agents execute missions in their own git worktrees. Run /tower to start. From 2a5f9c0a2eafceecdc3bd02b0a47790150858c0a Mon Sep 17 00:00:00 2001 From: bj456736 Date: Tue, 18 Aug 2026 04:59:51 +0000 Subject: [PATCH 3/3] chore: trim pending changeset entries further per reviewer feedback --- .changeset/clean-staged-media.md | 2 +- .changeset/daemon-file-ref-drop-path.md | 2 +- .changeset/fix-utf8-text-binary-detection.md | 2 +- .changeset/fork-print-resume-command.md | 2 +- .changeset/goal-objective-length-warning.md | 2 +- .changeset/inline-multi-skill-sdk.md | 2 +- .changeset/inline-multi-skill-tui.md | 2 +- .changeset/inline-slash-trigger-pi-tui.md | 2 +- .changeset/lazy-global-search-startup.md | 2 +- .changeset/media-registrar-stale-alias.md | 2 +- .changeset/queue-skill-commands-while-busy.md | 2 +- .changeset/sdk-upload-file.md | 2 +- .changeset/undo-todo-panel-revert.md | 2 +- .changeset/v1-mcp-management-plane-sdk.md | 2 +- .changeset/v1-mcp-management-plane-vscode.md | 2 +- .changeset/v1-mcp-management-plane.md | 2 +- .changeset/web-title-flag.md | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.changeset/clean-staged-media.md b/.changeset/clean-staged-media.md index 375c6eff13..626004327f 100644 --- a/.changeset/clean-staged-media.md +++ b/.changeset/clean-staged-media.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code": patch --- -Keep pasted image and video attachments available in session history, and clean up temporary uploads automatically. +Keep pasted image and video attachments available in session history. diff --git a/.changeset/daemon-file-ref-drop-path.md b/.changeset/daemon-file-ref-drop-path.md index a30822f367..dfc44c31c2 100644 --- a/.changeset/daemon-file-ref-drop-path.md +++ b/.changeset/daemon-file-ref-drop-path.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code-sdk": minor --- -Daemon file references no longer persist a materialization path: the daemon-file URL builder takes only a file id, and the display path is derived from the session media store at read time, so a session fork or home relocation can no longer stale a persisted reference. Urls with a legacy `?path=` query still parse. +Daemon file references no longer persist a materialization path; the display path is derived from the session media store at read time. diff --git a/.changeset/fix-utf8-text-binary-detection.md b/.changeset/fix-utf8-text-binary-detection.md index b7ce5e1698..951e6a77b7 100644 --- a/.changeset/fix-utf8-text-binary-detection.md +++ b/.changeset/fix-utf8-text-binary-detection.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code": patch --- -Fix UTF-8 text files containing Chinese or emoji being misdetected as binary, so log files preview correctly in the web UI. +Fix text files containing Chinese or emoji being misdetected as binary in the web UI. diff --git a/.changeset/fork-print-resume-command.md b/.changeset/fork-print-resume-command.md index 1420788ed5..a9148dc3ec 100644 --- a/.changeset/fork-print-resume-command.md +++ b/.changeset/fork-print-resume-command.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code": patch --- -Print the full `kimi --resume` command after `/fork` and copy it to the clipboard, so the fork can be entered directly from a new CLI process. +Print and copy the full `kimi --resume` command after `/fork`. diff --git a/.changeset/goal-objective-length-warning.md b/.changeset/goal-objective-length-warning.md index 118b438198..6a5b1815a9 100644 --- a/.changeset/goal-objective-length-warning.md +++ b/.changeset/goal-objective-length-warning.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code": patch --- -Warn while a typed `/goal` objective exceeds the 4000-character limit; a rejected objective now keeps the typed input and suggests moving long content into a file. +Warn when a typed `/goal` objective exceeds the 4000-character limit, and keep the input if it is rejected. diff --git a/.changeset/inline-multi-skill-sdk.md b/.changeset/inline-multi-skill-sdk.md index f7ebe9a1b0..ce0221b81c 100644 --- a/.changeset/inline-multi-skill-sdk.md +++ b/.changeset/inline-multi-skill-sdk.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code-sdk": minor --- -Add `session.promptWithSkills(input, skills)` to submit one prompt with one or more skill activations bundled into the same user message — one turn, one undo unit (v2 engine only; rejects on the v1 engine). +Add `session.promptWithSkills(input, skills)` to submit one prompt with multiple skill activations in a single turn (v2 engine only). diff --git a/.changeset/inline-multi-skill-tui.md b/.changeset/inline-multi-skill-tui.md index f2151d43c9..aadadc77b5 100644 --- a/.changeset/inline-multi-skill-tui.md +++ b/.changeset/inline-multi-skill-tui.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code": minor --- -Activate multiple skills in a single prompt. Type `/` after whitespace to insert a skill token; all referenced skills run with the prompt as one turn (and undo as one unit). +Activate multiple skills in a single prompt. Type `/` after whitespace to insert a skill token. diff --git a/.changeset/inline-slash-trigger-pi-tui.md b/.changeset/inline-slash-trigger-pi-tui.md index f17dafc9e1..fffe58b26c 100644 --- a/.changeset/inline-slash-trigger-pi-tui.md +++ b/.changeset/inline-slash-trigger-pi-tui.md @@ -2,4 +2,4 @@ "@moonshot-ai/pi-tui": patch --- -Add an opt-in inline slash autocomplete trigger that fires after whitespace mid-input and at the start of subsequent editor lines. +Add an opt-in inline slash autocomplete trigger that fires after whitespace mid-input. diff --git a/.changeset/lazy-global-search-startup.md b/.changeset/lazy-global-search-startup.md index 99810a27b2..4d9a1a240d 100644 --- a/.changeset/lazy-global-search-startup.md +++ b/.changeset/lazy-global-search-startup.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code": patch --- -Fix slow startup: the global search index now loads on demand instead of at every launch. +Fix slow startup by loading the global search index on demand. diff --git a/.changeset/media-registrar-stale-alias.md b/.changeset/media-registrar-stale-alias.md index 8b3a6ca229..ff48858351 100644 --- a/.changeset/media-registrar-stale-alias.md +++ b/.changeset/media-registrar-stale-alias.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code": patch --- -Fix a spurious startup error when a restored session references a model that is no longer configured, for example after logging out of the managed account. +Fix a startup error when a restored session references a model that is no longer configured. diff --git a/.changeset/queue-skill-commands-while-busy.md b/.changeset/queue-skill-commands-while-busy.md index 566274d7e6..3ce8fdb638 100644 --- a/.changeset/queue-skill-commands-while-busy.md +++ b/.changeset/queue-skill-commands-while-busy.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code": patch --- -Queue slash skill commands entered while the agent is busy instead of rejecting them; they now behave like normal input, and Ctrl-S still steers them into the running turn. +Queue slash skill commands entered while the agent is busy instead of rejecting them. diff --git a/.changeset/sdk-upload-file.md b/.changeset/sdk-upload-file.md index c00f4dd97c..33f52df980 100644 --- a/.changeset/sdk-upload-file.md +++ b/.changeset/sdk-upload-file.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code-sdk": minor --- -Add `uploadFile` for uploading media to the engine's file store and referencing it from prompts, plus an optional `promptId` on prompt submissions for correlating them with turn-started events. Both require the v2 harness. +Add `uploadFile` for uploading media and referencing it from prompts, and an optional `promptId` on prompt submissions. Both require the v2 harness. diff --git a/.changeset/undo-todo-panel-revert.md b/.changeset/undo-todo-panel-revert.md index 29919a82ce..a9475f2953 100644 --- a/.changeset/undo-todo-panel-revert.md +++ b/.changeset/undo-todo-panel-revert.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code": patch --- -Fix the todo panel keeping items written by an undone turn: /undo now restores the todo list to its state before the undone turn. +Fix /undo not restoring the todo list to its state before the undone turn. diff --git a/.changeset/v1-mcp-management-plane-sdk.md b/.changeset/v1-mcp-management-plane-sdk.md index 441d1841fc..7ff189ff66 100644 --- a/.changeset/v1-mcp-management-plane-sdk.md +++ b/.changeset/v1-mcp-management-plane-sdk.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code-sdk": minor --- -Unify the MCP management surface behind a source-tagged registry: `listMcpServers` now covers plugin-declared servers with `source` / `origin` / `mutable` markers, and adds `getMcpServer`, `testMcpServerConfig`, runtime `addMcpServer` with an optional persist flag, and an `oauth-expired` auth state; `reconnectMcpServer` re-resolves the current config unless given a replacement. Also adds the app-level `inspectAppMcpServers` with locator-addressed OAuth RPCs, and redacts secret-bearing `env` / `headers` values in status entries. +Unify the MCP management surface behind a source-tagged registry, covering plugin-declared servers in `listMcpServers` and adding `getMcpServer`, `testMcpServerConfig`, runtime `addMcpServer`, `inspectAppMcpServers`, and an `oauth-expired` auth state. diff --git a/.changeset/v1-mcp-management-plane-vscode.md b/.changeset/v1-mcp-management-plane-vscode.md index 6f217e86d1..b545e41391 100644 --- a/.changeset/v1-mcp-management-plane-vscode.md +++ b/.changeset/v1-mcp-management-plane-vscode.md @@ -2,4 +2,4 @@ "kimi-code": patch --- -Show plugin- and file-declared MCP servers in the MCP servers panel as read-only entries instead of offering to edit or delete them. +Show plugin- and file-declared MCP servers as read-only entries in the MCP servers panel. diff --git a/.changeset/v1-mcp-management-plane.md b/.changeset/v1-mcp-management-plane.md index fd259da7dd..4857d78921 100644 --- a/.changeset/v1-mcp-management-plane.md +++ b/.changeset/v1-mcp-management-plane.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code": patch --- -On the legacy engine, plugin MCP server changes (install, enable, disable, remove) now apply to open sessions immediately, and an MCP OAuth sign-in automatically refreshes the affected sessions. +On the legacy engine, plugin MCP server changes and OAuth sign-in now take effect in open sessions immediately. diff --git a/.changeset/web-title-flag.md b/.changeset/web-title-flag.md index 1b65910c71..82d074b86f 100644 --- a/.changeset/web-title-flag.md +++ b/.changeset/web-title-flag.md @@ -2,4 +2,4 @@ "@moonshot-ai/kimi-code": patch --- -Add `kimi web --web-title ` to set a custom browser tab title for the web UI instance, so multiple instances on different machines are easy to tell apart; without the flag the tab title shows the active workspace's directory name. +Add `kimi web --web-title <title>` to set a custom browser tab title for the web UI.