diff --git a/.agents/skills/gen-changesets/SKILL.md b/.agents/skills/gen-changesets/SKILL.md
index 1c93e34c1..29578bf5a 100644
--- a/.agents/skills/gen-changesets/SKILL.md
+++ b/.agents/skills/gen-changesets/SKILL.md
@@ -147,6 +147,7 @@ Clarify session status typing for internal SDK callers.
`@moonshot-ai/kimi-web` is ignored by changesets and must **never** appear in a changeset frontmatter. Because the web app is bundled into the CLI release artifact, any web change that ships must list `@moonshot-ai/kimi-code` instead and describe the actual web-facing change in the text.
+- Prefix the changelog entry text with `web: ` (for example `web: Fix the chat not scrolling to the bottom after sending a message.`) so the synced docs changelog can mark web UI entries. Apply this whenever the change is to the web project (`@moonshot-ai/kimi-web`).
- If a PR contains both web UI changes and server API changes, split them into separate changesets so each entry has a focused description.
- Do not enumerate every micro-tweak; keep it to one sentence that captures what the web user gets.
@@ -157,7 +158,7 @@ Web-only fix:
"@moonshot-ai/kimi-code": patch
---
-Fix the web chat not scrolling to the bottom after sending a message.
+web: Fix the chat not scrolling to the bottom after sending a message.
```
Web UI plus server APIs in the same PR (split into two changesets):
@@ -167,7 +168,7 @@ Web UI plus server APIs in the same PR (split into two changesets):
"@moonshot-ai/kimi-code": minor
---
-Add the server-hosted web UI, including chat layout and session list behaviors.
+web: Add the server-hosted web UI, including chat layout and session list behaviors.
```
```markdown
@@ -226,3 +227,4 @@ Fix the transcript jumping to the top when scrolling up through history during s
- The CLI wording mentions internal package names, class names, or PR numbers.
- The entry includes real internal identifiers instead of neutral placeholders.
- A change that only touches `@moonshot-ai/pi-tui` lists `@moonshot-ai/kimi-code` instead of `@moonshot-ai/pi-tui`, or mixes both packages in one frontmatter.
+- A web app change entry is missing the `web: ` prefix.
diff --git a/.agents/skills/sync-changelog/SKILL.md b/.agents/skills/sync-changelog/SKILL.md
index d4af78708..6e752387d 100644
--- a/.agents/skills/sync-changelog/SKILL.md
+++ b/.agents/skills/sync-changelog/SKILL.md
@@ -114,6 +114,14 @@ After stripping, each entry should be only:
-
```
+Web UI prefix: if the entry is a web UI change, prefix the body text with `web: ` so readers can tell it affects the web UI:
+
+```markdown
+- web:
+```
+
+An entry counts as a web UI change when its upstream commit touches `apps/kimi-web/`. Check with `git show --name-only ` (the commit hash is the one stripped above). `gen-changesets` writes this prefix for web changes, so it is usually already present in upstream — preserve it when it is there, and add it when a web entry lacks it. When a commit touches both web and non-web code, use `web:` only if the user-facing change described by the entry is in the web UI. Keep the `web:` prefix on the Chinese page too — it is a scope marker, not translated text.
+
Upstream language rule: `gen-changesets` requires changelog entries to be English. If the upstream CLI changelog contains a non-English entry, stop and report it to the user. Do not silently rewrite it while syncing docs.
Public-text rule: do not copy real internal endpoints, key names, account names, or service names into docs changelogs. Replace examples with neutral placeholders such as `example.com`, `example.test`, or `YOUR_API_KEY` while preserving the user-visible meaning.
@@ -254,7 +262,7 @@ Guidelines:
- **Keep usage hints to one short clause**.
- Bad: `传入 --allowed-host 以允许额外的 host。例如 ... (多句展开)`
- Better: `例如 kimi web --allowed-host example.com。`
-- **Do not translate technical identifiers**: keep command names, flag names, file names, env vars, and config keys as-is.
+- **Do not translate technical identifiers**: keep command names, flag names, file names, env vars, config keys, and the `web:` scope prefix as-is.
Example — translating a feature entry:
@@ -397,6 +405,7 @@ Return the PR URL to the user when done.
- The English docs changelog is the source of truth.
- Never edit upstream `apps/kimi-code/CHANGELOG.md`.
- Do not backfill unreleased `.changeset/*.md` drafts into the docs site.
+- Prefix web UI entries with `web: ` (when the upstream commit touches `apps/kimi-web/`), and keep the prefix on both the English and Chinese pages.
- If upstream wording is wrong, leave upstream alone and fix it in a future changeset.
- Always sync on a `docs/changelog-sync-*` branch and open a PR; never push changelog docs sync directly to `main`.
- Wait for the human review checkpoint before committing, pushing, or opening a PR.
@@ -425,6 +434,7 @@ Return the PR URL to the user when done.
| Committing or opening a PR before the user skips review or confirms review is done | Wait at the human review checkpoint |
| Using curly quotes or half-width Chinese punctuation | Follow `docs/AGENTS.md` |
| Omitting the release date from a version heading, or guessing it | Add ` (YYYY-MM-DD)` (full-width `()` in Chinese) taken from the published tag |
+| Forgetting or translating the `web:` prefix on web UI entries | Prefix web UI entries (commit touches `apps/kimi-web/`) with `web: ` on both pages; keep the prefix as-is when translating |
## Stop Signals
diff --git a/docs/en/release-notes/changelog.md b/docs/en/release-notes/changelog.md
index 7ec39f095..0035fb688 100644
--- a/docs/en/release-notes/changelog.md
+++ b/docs/en/release-notes/changelog.md
@@ -6,6 +6,30 @@ outline: 2
This page documents the changes in each Kimi Code CLI release.
+## 0.22.2 (2026-07-03)
+
+### Bug Fixes
+
+- Fix sessions silently dropping later user messages after a turn was interrupted between a tool call and its result.
+- Fix requests being rejected by strict providers when the model emits duplicate tool call ids.
+- Fix `kimi upgrade` failing on Windows with a spawn error when installing the new version.
+- Fix duplicated transcript content appearing in scrollback during streaming.
+- Fix compressed-image prompts leaking an internal `` compression note into the visible message and the session title.
+- Keep automatic background updates from flashing a console window on Windows.
+
+### Polish
+
+- 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.
+- Enrich PATH from the user's login shell at startup, so shell commands find user-installed tools (e.g. Homebrew's `gh`) even when kimi-code was launched without the full profile PATH.
+- 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.
+- Add a TUI preference to keep rapid multi-line pastes from submitting line by line when bracketed paste is unavailable. Set `disable_paste_burst = true` in `tui.toml` to turn it off.
+- Keep subagent cards at a stable height and show a live status spinner with a compact two-row activity window.
+- In `kimi -p` runs, wait for background subagents to finish before exiting when `background.keep_alive_on_exit` is enabled. Set `keep_alive_on_exit = true` to let concurrent background subagents complete.
+
+### Refactors
+
+- Record model response ids in session wire logs to make individual model requests easier to trace.
+
## 0.22.1 (2026-07-02)
### Bug Fixes
diff --git a/docs/zh/release-notes/changelog.md b/docs/zh/release-notes/changelog.md
index 918e37f5f..149552201 100644
--- a/docs/zh/release-notes/changelog.md
+++ b/docs/zh/release-notes/changelog.md
@@ -6,6 +6,30 @@ outline: 2
本页记录 Kimi Code CLI 每个版本的变更内容。
+## 0.22.2(2026-07-03)
+
+### 修复
+
+- 修复在一轮对话于工具调用与其结果之间被打断后,后续用户消息被静默丢弃的问题。
+- 修复模型输出重复的工具调用 id 时,请求被严格供应商拒绝的问题。
+- 修复 Windows 上 `kimi upgrade` 在安装新版本时因 spawn 错误而失败的问题。
+- 修复流式输出期间滚动历史中对话内容重复出现的问题。
+- 修复压缩图片的提示词会把内部 `` 压缩说明泄露到可见消息和会话标题中的问题。
+- 修复 Windows 上自动后台更新会弹出控制台窗口的问题。
+
+### 优化
+
+- 优化 compaction 笔记:现在会记录剩余工作的后续计划(后续步骤、已确定的决策、可预见的障碍),而不仅是下一步,让 Agent 在自动压缩后更连贯地继续。
+- 启动时从用户登录 shell 补充 PATH,使 shell 命令能找到用户自行安装的工具(如 Homebrew 的 `gh`),即使 kimi-code 启动时未继承完整的 profile PATH。
+- 将语言匹配规则提升为系统提示词中的独立小节,使回复与推理在面对长篇英文工具输出时仍一致使用用户的语言,同时仓库产物仍遵循项目约定。
+- TUI 新增一项偏好设置:当 bracketed paste 不可用时,避免快速多行粘贴被逐行提交。可在 `tui.toml` 中设置 `disable_paste_burst = true` 关闭该行为。
+- 优化子 Agent 卡片,使其保持固定高度,并在紧凑的双行活动窗口内显示实时状态 spinner。
+- `kimi -p` 运行时,若启用了 `background.keep_alive_on_exit`,退出前会等待后台子 Agent 完成。设置 `keep_alive_on_exit = true` 可让并发的后台子 Agent 执行完毕。
+
+### 重构
+
+- 在会话 wire 日志中记录模型响应 id,便于追踪单个模型请求。
+
## 0.22.1(2026-07-02)
### 修复