Release version 0.32.3
This one brings what agents build in HTML into the conversation: Codex's visualizations, Hermes' previews and the pages an agent writes open as cards right in the reply. Codex moves to its 2.0 adapter, where Read-only is read-only again next to a new Workspace access mode, and Claude Code's Sonnet is now Sonnet 5.5.
Alongside that: desktop notifications name the conversation they're about, the Recent list can show just chats or just folder conversations, the Commits tab opens on your current branch, OpenCode 2.x conversations show up in history, Grok's background workflows stay in view, and Pi can think at Max.
New
- What an agent builds in HTML now shows up in the conversation — Codex's visualizations (Claude Code's too, when it uses the same skill) and Hermes' previews appear as cards right in the reply instead of as raw markup, any other local HTML file a reply mentions gets a "Preview" row that opens into one, and a page an agent wrote starts with its scripts off until you turn them on. (#847, @SousekiL)
- The Recent list can show just chats or just folder conversations — pick All, Chat or Folders from the "⋯" button on its header; the choice is remembered, and the button stays visible while the list is narrowed. (#848, @SousekiL)
- Codex gets a "Workspace access" mode, and "Read-only" is read-only again — with Codex ACP 2.0, "Workspace access" edits files in the workspace and asks before anything beyond it, "Read-only" asks before every edit, and the default mode, where a model screens requests and asks you only about what looks unsafe, is now called "Auto review" (formerly "Approve for me").
- Claude Code runs Sonnet 5.5 — Claude Code 2.1.284 makes it the model behind "Sonnet" in the model picker.
- Claude Code's settings and model providers get a "Default Fable Model" field next to Opus, Sonnet and Haiku, which a bound provider sets or clears like the others.
- Pi can think at Max — on models that offer it: the composer lists the thinking levels the current model really has, and Pi's settings say which level Pi will run the selected model at when it doesn't offer the one you chose. (#467 reported by @Smith-106, #842, @dawNotPoi)
Improved
- Updated bundled agents: Claude Code ACP 0.84.0 (Claude Code 2.1.284), Codex ACP 2.0.0 (Codex CLI 0.158.0), OpenCode 1.18.33, Pi ACP 0.0.34, Kimi Code 2.1.1, Cline 3.0.65, CodeBuddy 2.159.0, Qoder 1.1.64, Hermes 0.21.5, OpenClaw 2026.9.6, Cursor 2026.09.26.
- Desktop notifications name the conversation they're about — its title heads the notification and its own folder leads the message, instead of whichever folder the window has open, even for a tab closed while its agent was still working; with "Hide notification contents" on, the conversation's title is left out. (#834, @Jonathan-Asher)
- The Commits tab opens on the branch you're on — it follows the current branch of the folder or worktree instead of listing every branch, and "All branches" stays selected once you choose it. (#620 requested by @Luis-WowApps, #838, @dawNotPoi)
- "Review & fix" on a pull or merge request first judges whether its approach holds up — when it doesn't, the agent commits nothing and the to-do comes back under "Needs you" with why and what to do instead, rather than with fixes piled onto a design that would have to be thrown away.
- Claude Code says when a plugin fails to load — a warning names the plugin and Claude Code's reason, instead of the plugin silently losing its commands, skills, agents or MCP servers.
- When an agent turns a message away because you need to sign in again, its notification has a Sign in button — for every agent now, not just Claude Code and Codex.
- Claude Code's context usage shows the model's real window right after a session opens or switches models, instead of reading 200K until the first reply.
- The file breadcrumb shows its folders as plain text instead of pills, spaced like the folder › title trail in the conversation header, so a file tab's header matches a conversation's.
Fixed
- Several OpenCode sessions can run at once even when OpenCode's own config pins a server port — the second no longer crashes with "ServeError", and each session's server now listens on this machine only. (#860 reported by @qq974969638)
- OpenCode 2.x conversations show up in history — a fresh 2.x install no longer fails to list them with "no such table: session", and one upgraded from 1.x lists each conversation once, with its latest content. (#858, @n0tlu5)
- Reopened OpenCode conversations show how full their context is, for models from OpenCode's own gateways and custom providers too — the context window is looked up the way OpenCode does it, and the reading now matches what it showed live.
- Codex's context usage no longer jumps after a web search — a request that searched the web was read as the size of the conversation (53% where it held about 8%); the reading now stays put until the next request reports. (#846 reported by @qq974969638)
- Grok's background workflows stay in view — a running one shows on the live strip at the top of the conversation with its phase and current agent, and the reply Grok writes once it finishes appears in the conversation instead of being dropped. (#859 reported by @goon-13)
- Kimi Code works through linked folders again — 2.1.1 undoes 2.1.0's symlink restriction, so a folder linked into a multi-folder workspace and the files that come with an Experts or Office skill installed by codeg can be read, searched and edited as before, and MCP or skill changes reach an open session again without reconnecting.
- Switching Claude Code's Auth Mode away from Model Provider and back keeps the provider you picked, instead of rebinding to your oldest provider and saving its model. (#715, @Adam-Dalloul)
- ⌘K opens search with the cursor in the search box, so you can type straight away, and it stays there when you switch between Conversations and Files or pick an agent filter. (#833, @Jonathan-Asher)
- On macOS, ⌘W pressed inside a page closes the tab, not the whole window — in the built-in browser, an HTML file preview or an HTML card in a conversation.
- Reopened Claude Code and Codex conversations show compactions as they looked live — a divider whose "Summary" toggle opens what was kept, instead of the summary as a message of its own or tacked onto the end of the previous reply.
- A stretch of Codex thinking reopens as one thinking card again, as it looked live — conversations from Codex 0.149 on had it split into several.
- Text a Claude Code sub-agent streams no longer shows up twice in its card.
- Pressing Stop right after you send Codex a message now stops the turn, where it used to be ignored.
- A failed Cline run's error no longer shows as the agent's reply when you reopen the conversation.
- A to-do that ends without landing anything no longer comments "accepted" on its issue or pull request, which read as approving it — the comment now says nothing was pushed, or that the work wasn't merged.
Note
- If you had Codex on "Ask for approval", it's now on "Read-only", where Codex asks before every edit — choose "Workspace access" to let it edit the workspace freely again while still asking about everything else.
- Some accounts now see Opus in Claude Code's model list without an "Opus (1M context)" entry, since Opus has a 1M window on its own; a conversation set to that entry carries on with Opus rather than the default model.
- Claude Code ACP 0.84.0 measures the context window in the background when a session opens or switches models, so the first message or setting change right after can wait a second or two — and much longer behind a model endpoint that doesn't answer token-counting requests. It's reported upstream (agentclientprotocol/claude-agent-acp#1192).
- Pi sessions now need Pi 0.81.0 or later — an older Pi says so, with a button to its settings, instead of failing with an internal error.
- Pi's settings no longer take a relative Pi command or agent directory — use an absolute path, a command name on PATH, or a directory starting with
~/; a relative one such as./pi-test.shpoints somewhere different in each workspace.
Thanks to @SousekiL, @dawNotPoi, @Jonathan-Asher, @n0tlu5 and @Adam-Dalloul for contributing to this release, and to @Smith-106, @Luis-WowApps, @qq974969638 and @goon-13 for the reports.
发布版本 0.32.3
这一版把智能体做出来的 HTML 直接搬进了对话:Codex 的可视化、Hermes 的预览,以及智能体写出的网页,都能以卡片形式在回复里打开。Codex 升级到 2.0 适配器,「Read-only」重新名副其实,旁边还多了「Workspace access」模式;Claude Code 的 Sonnet 也换成了 Sonnet 5.5。
同期还有:桌面通知会写明来自哪个会话,「最近」列表可以只看聊天或只看文件夹会话,「提交」页默认显示当前分支,OpenCode 2.x 的会话能在历史记录里看到了,Grok 的后台工作流不再凭空消失,Pi 也能用上「最高」档思考。
新增
- 智能体做出来的 HTML 直接显示在对话里——Codex 的可视化(Claude Code 用同一技能时也一样)和 Hermes 的预览会以卡片形式出现在回复中,不再显示成一串原始标记;回复里提到的其他本地 HTML 文件会多出一行「预览」,点开就是同样的卡片;智能体写出的网页默认不运行脚本,需要时再手动开启。(#847,@SousekiL)
- 「最近」列表可以只看聊天或只看文件夹会话——在它标题栏的「⋯」按钮里选「全部」「聊天」或「文件夹」;选择会被记住,筛选生效期间按钮会一直显示。(#848,@SousekiL)
- Codex 新增「Workspace access」模式,「Read-only」重新名副其实——随 Codex ACP 2.0 而来:「Workspace access」下 Codex 可以直接修改工作区内的文件,超出工作区的操作会先问你;「Read-only」下每次修改都要先经你批准;默认模式由模型先筛一遍请求、只把看起来不安全的交给你,更名为「Auto review」(原「Approve for me」)。
- Claude Code 用上了 Sonnet 5.5——Claude Code 2.1.284 让模型选择器里的「Sonnet」指向了它。
- Claude Code 设置与模型供应商新增「Fable 默认模型」,与 Opus、Sonnet、Haiku 并列,绑定的供应商会像其他几项一样设置或清除它。
- Pi 可以用「最高」(Max)档思考了——前提是模型支持:输入框只列出当前模型真正具备的思考档位;所选模型不支持你设定的档位时,Pi 设置页会说明它实际会以哪一档运行。(#467 由 @Smith-106 反馈,#842,@dawNotPoi)
改进
- 内置智能体版本更新: Claude Code ACP 0.84.0(Claude Code 2.1.284)、Codex ACP 2.0.0(Codex CLI 0.158.0)、OpenCode 1.18.33、Pi ACP 0.0.34、Kimi Code 2.1.1、Cline 3.0.65、CodeBuddy 2.159.0、Qoder 1.1.64、Hermes 0.21.5、OpenClaw 2026.9.6、Cursor 2026.09.26。
- 桌面通知会写明来自哪个会话——通知标题是会话标题,正文开头是该会话自己的文件夹,而不是窗口当前打开的文件夹,智能体还在运行时就关掉的标签页也是如此;开启「隐藏通知内容」后,通知里不会出现会话标题。(#834,@Jonathan-Asher)
- 「提交」页默认显示当前分支——跟随所在文件夹或工作树的当前分支,不再列出全部分支;选了「全部分支」之后会一直保持。(#620 由 @Luis-WowApps 提出,#838,@dawNotPoi)
- 对 PR 或合并请求「评审并修复」时,会先判断方案本身是否站得住——站不住时智能体不提交任何代码,待办任务带着原因和建议做法回到「等你处理」,而不是在一个终究要推倒重来的设计上堆修复。
- Claude Code 的插件加载失败时会告诉你——警告里写明是哪个插件、Claude Code 给出的原因,不再让插件的命令、技能、子智能体或 MCP 服务器悄无声息地失效。
- 智能体因需要重新登录而拒绝消息时,通知上会带「去登录」按钮——现在所有智能体都有,不再只限 Claude Code 和 Codex。
- Claude Code 会话刚打开或刚切换模型,上下文用量就按模型真实的窗口计算,不再在第一次回复前一直按 200K 显示。
- 文件面包屑里的各级文件夹改为纯文字,不再套着胶囊,间距与会话标题栏里「文件夹 › 标题」一致,文件标签页和会话标签页的标题栏看起来是一套。
修复
- 即使 OpenCode 自己的配置固定了服务端口,也能同时开多个 OpenCode 会话——第二个会话不再因「ServeError」崩溃,每个会话的服务也只在本机监听。(#860 由 @qq974969638 反馈)
- OpenCode 2.x 的会话能在历史记录里看到了——全新安装的 2.x 不再报「no such table: session」,从 1.x 升级上来的每个会话只列一次,显示的是最新内容。(#858,@n0tlu5)
- 重新打开的 OpenCode 会话能显示上下文用量了,OpenCode 自家网关和自定义供应商的模型也不例外——上下文窗口改为按 OpenCode 自己的方式查找,读数也与实时显示一致。
- Codex 联网搜索之后,上下文用量不再虚高——此前带联网搜索的那次请求会被当成对话的实际规模(显示 53%,实际只有约 8%);现在读数会停在原处,直到下一个请求给出新值。(#846 由 @qq974969638 反馈)
- Grok 的后台工作流不再凭空消失——运行中的工作流会显示在会话顶部的实时状态条上,写明所处阶段和当前智能体;工作流结束后 Grok 写下的回复也会出现在对话里,不再被丢掉。(#859 由 @goon-13 反馈)
- Kimi Code 又能通过关联文件夹工作了——2.1.1 撤销了 2.1.0 的符号链接限制,多文件夹工作区中的关联文件夹,以及 codeg 安装的专家、办公技能附带的文件,都能像以前一样读取、搜索和编辑;改动 MCP 或技能后,已打开的会话也无需重连即可生效。
- 把 Claude Code 的认证方式从「模型供应商」切到别处再切回来,仍是你选的那个供应商,不会再被换成最早添加的供应商、连带保存它的模型。(#715,@Adam-Dalloul)
- 按 ⌘K 打开搜索时,光标直接落在搜索框里,可以马上输入;在「会话」「文件」之间切换或点选智能体筛选时,光标也会留在搜索框中。(#833,@Jonathan-Asher)
- 在 macOS 上,在网页里按 ⌘W 关闭的是标签页,而不是整个窗口——内置浏览器、HTML 文件预览和对话里的 HTML 卡片都是如此。
- 重新打开的 Claude Code 和 Codex 会话里,上下文压缩的样子与实时一致——一条分隔线,点「摘要」即可展开保留下来的内容,不再单独显示成一条消息,或拼接在上一条回复的末尾。
- 重新打开 Codex 会话时,一段连续思考又回到一张思考卡片,与实时一致——Codex 0.149 及以上版本的会话此前会被拆成好几张。
- Claude Code 子智能体流式输出的文字,不会再在它的卡片里出现两遍。
- 给 Codex 发出消息后立刻点停止,这一回合会真正停下,不再被忽略。
- Cline 运行失败的报错,重新打开会话后不再显示成智能体的回复。
- 待办任务最终没有落地任何改动时,回写到议题或 PR 上的评论不再写「accepted」——那读起来像是认可了这个 PR;现在会写明没有推送任何内容,或工作未被合并。
注意
- 如果你的 Codex 原先选的是「Ask for approval」,现在会是「Read-only」,Codex 每次修改文件都要先问你;想恢复以前那样在工作区内直接修改、其余操作再问你,请改选「Workspace access」。
- 部分账号下,Claude Code 的模型列表里不再有「Opus (1M context)」这一项——Opus 本身就有 1M 窗口;原本选了这一项的会话会继续使用 Opus,而不是退回默认模型。
- Claude Code ACP 0.84.0 会在会话打开或切换模型时于后台测量上下文窗口,紧随其后的第一条消息或设置更改可能要多等一两秒;若所用模型接口不响应 token 计数请求,等待会长得多。该问题已向上游反馈(agentclientprotocol/claude-agent-acp#1192)。
- Pi 会话现在需要 Pi 0.81.0 或更新版本——版本过旧时会直接说明,并附上打开其设置的按钮,而不是报一个内部错误。
- Pi 设置不再接受相对路径形式的 Pi 命令或 agent 目录——请使用绝对路径、PATH 中的命令名,或以
~/开头的目录;像./pi-test.sh这样的相对路径在不同工作区会指向不同的位置。
感谢 @SousekiL、@dawNotPoi、@Jonathan-Asher、@n0tlu5、@Adam-Dalloul 为本次发布做出的贡献,也感谢 @Smith-106、@Luis-WowApps、@qq974969638 和 @goon-13 的反馈。