黄奕彬

外部精选

Claude Code · v2.1.299

本文来自外部来源,不是黄奕彬的原创文章。本站提供原文入口,并在采集端生成 AI 结构化摘要、解读与中文翻译(如有),一切以原文为准。

阅读原文(github.com)
来源
Claude Code releases ↗
作者 / 署名
ashwin-ant
来源更新时间
本站收录时间
原文域名
github.com

以上时间均为北京时间;来源更新时间由来源提供,不代表首次发布时间。

结构化摘要 AI 生成

背景与问题

这是 Claude Code 官方 GitHub releases 页面的 v2.1.299 版本说明,面向 Claude Code 用户与插件(mod)作者。要解决的问题:告知本版本相对此前版本新增了哪些功能、修复了哪些缺陷、默认行为有哪些变更。

覆盖终端 CLI、VS Code、cloud sessions、Remote Control、Slack 等使用形态,以及 Windows、macOS、Linux(含 WSL2)等平台。

方法或内容

发布不可变版本 v2.1.299(commit db93774,发布后 main 分支已有 1 个 commit)。

正文为 What's changed 清单,按 Added、Fixed、Changed、Improved 组织,另含 Windows、Self-hosted runner、[VSCode]、[Cloud sessions]、[Remote Control]、[Claude Tag]、[Code Review] 分组条目。

涉及环境变量、mod hook API、MCP 行为、sandbox、后台会话等多个子系统。

关键发现 / 结果

新增:

  • CLAUDE_CODE_DISABLE_FILE_MENTIONS:@ 文件提及只传路径,由 Claude 用文件工具读取而非直接给内容
  • 终端空闲压缩:200K+ token 会话空闲约 54 分钟、在 1 小时 prompt cache 过期前压缩;CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS 调阈值,"idleCompaction": false 关闭(均需 v2.1.290+)
  • mod API:$.prompt.media、$.session.identity()、session.append 队列门、Text/Box 新排版属性
  • --shutdown-drain-sec(claude self-hosted-runner orchestrator)

修复要点:sandbox 经 symlink 绕过被拒路径、沙箱命令写入 --plugin-dir、debug 日志内存无限增长、UTF-16/GBK 等编码文件误转 UTF-8(现拒绝)、MCP 服务器名 constructor/prototype 不连接、2.1.296 引入的两处回归变更:MCP 默认协议 2026-07-28(MCP_PROTOCOL_NEGOTIATION=legacy 回退)、ANTHROPIC_BASE_URL 流超时 180→300 秒、MCP allow 规则仅达所指服务器、artifact 监看 10→25、workflow 嵌套深度限 28,000(原 100,000)

结论与意义

本版本以稳定性、安全与内存修复为主,附带 mod/插件能力扩展与若干默认行为调整。适用边界:条目按形态与平台细分,部分仅适用于特定环境(如 WSL2、Windows、Claude apps gateway、managed settings 组织管理、自定义 ANTHROPIC_BASE_URL);空闲压缩两项设置需 v2.1.290 或更新。原文未说明作者给出的整体性结论表述。

AI 解读 AI 生成

方法:按「时空变量」分析(时间 / 空间 / 变量,严格区分包含、相关与因果),对象包括原文作者、署名人员与关键技术及其实际原理;结论用「元反空」(元思考、反思考、空思考、综合)整理。

时间:何时发生,现在是否仍成立

来源日期为 2026年10月14日 10:49(北京时间),即北京时间 2026-10-14 10:49:42 发布;正文标注发布后 main 已有 1 个 commit。所有变更针对 v2.1.299 这一版本时点,其中两处修复明确指向 2.1.296 引入的回归。

作为版本快照,随后续迭代个别修复与默认值可能再被调整;原文未给出这些变更的长期有效性承诺。

空间:谁的环境 / 场景

适用于 Claude Code 产品线 v2.1.299。

部署/使用形态包括:终端 CLI(含 fullscreen、-p headless、Agent SDK、--bare、--safe-mode、worktree 会话)、VS Code 扩展、Claude Desktop Code tab、claude.ai cloud/Cowork 会话、Remote Control、Claude in Chrome、self-hosted runner、Claude in Slack(Claude Tag)、Code Review。

平台覆盖 Windows、macOS、Linux 与 WSL2;部分条目限定 managed settings / MDM / Claude apps gateway / 自定义 ANTHROPIC_BASE_URL 等环境。

变量:实际改变了什么

相对此前的实际改变:

  • 新增能力:空闲压缩、CLAUDE_CODE_DISABLE_FILE_MENTIONS、--disallow-tools、--shutdown-drain-sec、$.prompt.media、$.session.identity() 等
  • 默认值变化:MCP 协议默认 2026-07-28、自定义 ANTHROPIC_BASE_URL 流无数据超时 180→300 秒、artifact 监看 10→25、workflow 嵌套深度上限 100,000→28,000、退出时 resume 命令改用 session ID
  • 行为变化:MCP allow 规则不再误配含 __ 的服务器名、UserPromptSubmit 先于 skill/slash 命令展开、MCP 请求不再跟随 HTTP 重定向
  • 修复:sandbox 绕过、多种内存增长、文件编码处理、2.1.296 的两处回归

区分:包含 ≠ 相关 ≠ 因果

原文为 changelog,多数 Fixed/Changed 条目是明确的因果陈述(修复导致行为改变),如标注 regression in 2.1.296 的条目明确指出回归来源。"Both need v2.1.290 or later" 是版本依赖条件而非因果。

空闲压缩条目说明了设计目的(避免 cache 过期后重新处理全部内容),但未给出量化效果数据。各条目按平台/形态分组只是相关性归类(如 [VSCode] 条目与 VS Code 相关),不代表跨形态因果。原文未说明其他因果(如某修复对整体稳定性的影响程度),不应推断。

对象:作者/署名与关键技术原理

作者/署名:结构化作者字段为 ashwin-ant;正文未提及其他署名人员。关键技术及原文描述:

  • idle compaction:200K+ token 会话空闲约 54 分钟、在 1 小时 prompt cache 过期前压缩,使下一条消息不必重新处理全部内容
  • mod hook/API:$.prompt.media 读取附加到 prompt 的图片/文档字节;$.session.identity() 返回会话登录方式及组织/邮箱(限 managed forceLoginOrgUUID 列出的组织);Text/Box 新增 size/weight/mono/tabular 与 xs–xl 间距,bold 弃用
  • MCP:默认协商协议版本 2026-07-28;不再跟随 HTTP 重定向;allow 规则按服务器整体规范化名匹配
  • sandbox:修复经 symlink 按真实路径读写被拒路径、glob 含括号/花括号/反斜杠时设置检查与沙箱读取不一致
  • --shutdown-drain-sec:SIGTERM 时停止轮询,给进行中的 poll 与运行中的 spawn hook 至多指定秒数完成

元反空综合结论

元——这份说明本质在回答"从上一版本到 v2.1.299,Claude Code 具体改了什么",服务于用户升级决策、回归排查与插件作者适配。

反——最可能有边界或失效的主张:MCP 新默认协议仅适用于"不拉取 flags"的安装形态,且可 MCP_PROTOCOL_NEGOTIATION=legacy 回退;空闲压缩仅在 200K+ token 且空闲约 54 分钟的特定条件触发;大量修复绑定特定平台(WSL2/Windows/macOS)或特定场景(gateway、managed settings、自定义 ANTHROPIC_BASE_URL),脱离条件不适用;默认值可能被后续版本再改。

空——去掉叙事后的必要事实:v2.1.299 是一次不可变发布(commit db93774),以大规模缺陷修复为主(sandbox 绕过、内存增长、编码处理、MCP 连接、2.1.296 回归),新增少量功能与开关,并调整多项默认行为。

综合:对一般 CLI 用户是低风险的稳定性更新;对插件/mod 作者及自托管、网关、托管策略用户,需重点核对 Changed 条目带来的接口与默认值变化。原文未说明版本间的量化性能数据。

中文译文 AI 生成

· 1 个提交到 main自此次发布以来不可变发布。仅发布标题和说明可被修改。db93774

更新内容

  • 新增 CLAUDE_CODE_DISABLE_FILE_MENTIONS 环境变量:Claude 获取 @ 文件提及的路径以用其文件工具读取,而不是文件的内容
  • 新增终端中的空闲压缩:闲置约 54 分钟的 200K+ token 对话会在其一小时的 prompt cache 过期前被压缩,因此你的下一条消息不必重新处理全部内容
  • 新增 CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS 用于更改空闲压缩的 200K token 最低值;settings.json 中的 "idleCompaction": false 可将其关闭。两者都需要 v2.1.290 或更高版本
  • 新增 $.prompt.media,使由 managed settings 安装的 mod 的 prompt.submit hook 可以读取附加到 prompt 的图像或文档的字节
  • 为由 managed settings 安装的 mod 新增 $.session.identity():会话的登录方式,以及当 managed forceLoginOrgUUID 列出该组织时的组织和邮箱
  • 为 mod 的 Text 新增 size、weight、mono 和 tabular,为其 Box 新增命名间距档位(xs 到 xl);bold 已弃用,改用 weight
  • 为 claude self-hosted-runner orchestrator 新增 --shutdown-drain-sec:收到 SIGTERM 时它会停止轮询,并给进行中的轮询和正在运行的 spawn hooks 最多相应秒数来完成
  • 向 mod 的 skill.prompt hook 接收的内容新增 skill 的 frontmatter、source、插件名称和文件路径
  • 在 agent 视图中新增 /effort 和 /fast,用于设置新会话启动时的值;在那里单独使用 /model、/effort 或 /fast 现在会打开一个选择器
  • 在 agents 视图的 peek 面板中,为以 --safe-mode 启动的后台会话新增一行 "safe mode"
  • 新增一次性提示:当 bypass permissions 可用时,plan mode 不会在大多数编辑或命令前询问
  • 为 claude plugin eval 新增 --disallow-tools 和 disallowed_tools case 字段,以将特定内置工具(如 Agent)排除在 eval 运行之外
  • 新增关闭 Claude Desktop 的 Code 标签页中 attribution block 的支持:在 Claude apps gateway 的 code policy 的 env 中设置 CLAUDE_CODE_ATTRIBUTION_HEADER=0
  • 在位于 Claude apps gateway 之后的 Claude Code 会话的 attribution block 中新增一个字段;使用 CLAUDE_CODE_ATTRIBUTION_HEADER=0 移除该块
  • 为 session.append mod hook 新增 queue door,使 mod 可以让 transcript 的队列记录与实际发送的 prompt 不同
  • 在 /plugin 和 claude plugin validate 中新增说明,指名在组织管理 Claude Code 的地方被跳过的 mod 的 hooks
  • 新增 /usage 警告,针对 max effort、workflows、always-on context 和大型工具结果
  • 修复了云会话被拒绝时的错误,该错误在使用来自 apiKeyHelper 的密钥时可能指向错误的组织
  • 修复了在自定义 ANTHROPIC_BASE_URL 之后使用网关特定模型名称的会话在接近 200K token 时以 "Prompt is too long · automatic compaction failed" 结束而不是发送请求的问题
  • 修复了在每回合结束时提交 prompt 的 mod 使 headless 运行持续超过 --max-turns、--max-budget-usd、一次中断或宿主对话结束的问题
  • 修复了云会话有时在工具组的单行标签之后显示模型后续文本的问题
  • 修复了当配置目录的路径中不含 .claude 时,Write 和 Edit 工具在 accept-edits 模式下未经询问就在会话的 mods 文件夹中创建 mod 的问题
  • 修复了已安装的 mod 在被远程关闭后仍在打开的会话中运行的问题;它们现在会在回合之间卸载
  • 修复了 Cowork 和 claude.ai 云会话中 Edit 和 Retry 在消息被停止时失败的问题,此时其 UserPromptSubmit 或 mod prompt.submit hooks 仍在运行(2.1.296 中的回归)
  • 修复了不带描述启动的 agent 队友会在为其显示的任务描述中保留其 prompt 中部分凭据的问题
  • 修复了当大批事件无法通过慢速连接完成上传时,Remote Control 或云会话的 claude.ai 视图冻结的问题
  • 修复了沙箱化的 shell 命令能够写入 --plugin-dir 文件夹的问题,Claude Code 会在沙箱之外重新加载并运行该文件夹中的代码
  • 修复了重度 debug 日志记录(--debug、--debug-file)下的内存增长,以及当 debug 日志位于不再接受写入的磁盘或网络挂载上时退出时的挂起
  • 修复了当 debug 输出流向 stderr 且父进程停止读取时内存无限增长的问题
  • 修复了在不运行 rm 的 shell -c 脚本上出现 rm 提示的问题。在 Claude Code 无法读取的脚本中于运行时构建的 rm 不再提示,除非 CLAUDE_CODE_STRICT_INLINE_SHELL_RM_PROMPT=1
  • 修复了在全屏模式下双击展开的 transcript 行中的单词会折叠该行而不是选中该单词的问题
  • 修复了 claude mcp list、claude doctor 和 /status 将空的 .mcp.json 报告为无效的问题
  • 修复了在全屏模式下向上滚动时调用 /btw 会使 transcript 跳到底部的问题
  • 修复了当沙箱可以写入 Windows 驱动器时,沙箱命令在 WSL2 上以 bwrap: Can't mkdir /mnt/c/Program Files/ClaudeCode 失败的问题
  • 修复了在 Agent SDK、IDE 和 claude remote-control 会话中后台任务运行期间计划唤醒(ScheduleWakeup)不触发的问题
  • 修复了对于某些带有粘贴图像或无法读取的图像的 prompt,mod 的 prompt.submit 重写被静默丢弃、按输入原样发送 prompt 的问题
  • 修复了当同一批次中另一个排队的 prompt 送达失败时,Remote Control prompt 丢失的问题
  • 修复了当 Stop 中断下一个排队 prompt 的 hook 时,已通过其 hooks 的 Remote Control prompt 从 prompt 历史中被丢弃的问题
  • 修复了在 Linux 上,沙箱命令在配置目录中留下空的 .config.json 后,登录、MCP 服务器和项目信任看似丢失的问题
  • 修复了当因项目文件夹不可写而无法保存其设置时,/sandbox 仍报告成功的问题;它现在会说明没有发生任何更改以及原因
  • 修复了在宿主切换到不支持 auto mode 的模型后,SDK 和 headless 会话仍停留在 auto mode 的问题
  • 修复了 MCP config 中名为 constructor 或 prototype 的 MCP server 永远无法连接的问题
  • 修复了名为 constructor 或 toString 的 MCP server 的工具在 auto 模式和 bypass permissions 模式下仍请求权限的问题
  • 修复了当另一个 Claude Code 进程刚更新某个 claude.ai-synced 插件时,启动时出现虚假的 “synced[0] commands path not found” 插件错误
  • 修复了 Artifact 工具在请求 connectors 或其他访问权限的 publish 被服务器或代理拒绝(HTTP 403)时仍建议重试的问题;现在它会说明被拒绝,以及应告知用户的内容
  • 修复了 Cowork cloud 会话在插件重载超时或重启复用了最近的同步之后仍停留在旧版账户插件上的问题
  • 修复了在 Claude 工作时发送的自己的消息中 document block 丢失的问题
  • 修复了 Claude in Chrome 在没有浏览器连接时仍请求权限的问题;现在它会提示扩展未连接
  • 修复了全屏 “Update installed” 通知被闲置时的 “/clear to save tokens” 提示遮挡的问题;现在它显示在该提示旁边
  • 修复了 mod hook(无论是否带 .catch)在等待另一个 mod 的 noun(其工作在该调用之外完成)时被无休止重复执行的问题
  • 修复了 Claude apps gateway 仍提供被策略的 availableModelsMatch: exact 或 deniedModels 阻止的模型的问题;现在它会返回 400 并将这些模型排除在其模型列表之外
  • 修复了当 managed settings 文件设置了 ANTHROPIC_BASE_URL 时,发往 Anthropic 的 server-managed settings 请求携带第三方 gateway 的 API key 的问题
  • 修复了通过自定义 ANTHROPIC_BASE_URL 的流在 180 秒无数据到达后被中止的问题;无论 feature flags 是否已加载,现在会等待 300 秒
  • 修复了 mod 的 tool.describe 或 prompt.section 回答在 $.ui.invalidate 之后发生变化却永远无法到达 Claude 的问题;新回答现在会在下一轮发送
  • 修复了当 enabledMcpjsonServers 或 disabledMcpjsonServers 以普通字符串形式保存单个 server 名称(字母、数字、- 或 _)时 settings 文件被忽略的问题
  • 修复了 claude plugin test 在其调用的某个被服务的 $ 方法于应答后继续发起 $ 调用时暂停 hook 时间预算的问题
  • 修复了恢复曾运行大量 subagent 的 cloud 或 Remote Control 会话后内存占用过高的问题
  • 修复了 plugin hook 在通过 next() 传递嵌套非常深的 tool input 或 message 时被跳过的问题
  • 修复了当 mod 的 hook 传递给 next()、返回或发送给 $ 方法的值中某个 getter 抛出 RangeError 时整值被拒绝的问题;现在仅拒绝该 key
  • 修复了 /usage、临近限额警告(terminal 和 VS Code)以及状态行有时显示用量超过 100% 的问题 (#92238)
  • 修复了混合 CJK 或 emoji 与拉丁单词的换行文本在某些终端宽度下丢失最后一行或留下空行的问题
  • 修复了当答案在会话的 worker 正被替换期间给出时,cloud 会话有时忽略权限提示或提问的答案的问题
  • 修复了粗体、斜体及其他嵌套文本样式越出表格边框或在换行行上丢失的问题
  • 修复了 Cowork cloud 会话在账户插件已从另一设备更改、移除或禁用后,直到会话重启前仍运行旧版本插件的问题
  • 修复了当 server 的规范化名称包含双下划线时,针对 MCP server(mcp__<server>)的 deny 和 ask 规则不生效的问题
  • 修复了在一张超大图片被 API 拒绝后,长对话每一轮都丢失新附加图片的问题
  • 修复了 plugin_loaded 遥测事件对 hooks 为 hooks module 的插件(包括内置插件)将 has_hooks 上报为 false 的问题
  • 修复了在 Claude 工作时附加的图片(VS Code、desktop app、SDK)以完整尺寸发送的问题,这曾导致长对话中反复出现图片错误
  • 修复了较新模型上大型近正方形图片的图片坐标提示缺失或略有偏差的问题
  • 修复了发往 Anthropic 的 feature flag、startup、fast mode、profile 和 feedback 请求携带为第三方 gateway(ANTHROPIC_BASE_URL)配置的 API key 的问题;Anthropic API key 仍会被发送
  • 修复了 mod 的热重载忽略在失败重载后立即保存的修复的问题;保存 mod 文件但未作更改时不再重新加载该 mod
  • 修复了当 hook 将 $ 交给从 mod 的另一个文件导入的函数声明时,从源文件加载的 mod 被拒绝的问题
  • 修复了 2.1.296 中的一个回归:如果会话在重启后恢复时有新消息到达,cloud 和 headless 会话可能将已批准的 tool call 运行两次
  • 修复了计划任务的播报分钟数错误的问题:调度工具现在会报告每个任务的实际下次运行时间
  • 修复了 mods 的 hooks 被传入的值中被静默移除 __proto__ key 的问题,这可能导致跳过另一 mod 发起的 tool call 上的 tool.check 防护
  • 修复了 settings 文件校验失败时 claude -p 不输出任何内容的问题:text-output 运行现在会在 stderr 上列出该文件和无效条目
  • 修复了在不支持 bracketed paste 的终端中长粘贴在遇到不可见控制字符(如错误解码的弯引号)后丢失其后所有文本的问题
  • 修复了在 MDM 或 managed-settings 文件设置了 forceLoginOrgUUID 的机器上,当存储登录的 plan 在本地被更改后 managed settings 和组织策略不再被获取的问题
  • 修复了当 server 从不结束其对某个通知的回复 body 时,基于 HTTP 的 MCP 连接挂起 30 秒并失败的问题 (#99014)
  • 修复了添加到运行中的 headless 或 SDK 会话的 MCP server 在部分策略检查运行之前即被连接的问题;被阻止的 server 现在会被报告为失败而不会实际连接
  • 修复了 claude mcp list、claude mcp get 和 subagent MCP server 启动被策略检查阻止的 server 的问题;现在会将其报告为 blocked 而不启动
  • 修复了 /reload-plugins 不加载刚刚从另一终端安装的插件的问题
  • 修复了被挤进单格列(如非常窄的终端中)的 CJK 和 emoji 文本下方出现空行的问题
  • 修复了宽字符旁边的文本在中间被截断、从而留出一个未使用单元格或被截断两次的问题,以及 emoji 在其内部颜色发生变化处消失的问题。
  • 修复了后台会话中 bare 模式的通知让你去掉 --bare 重启(而这仍会保留该模式)的问题;这些通知现在会像 safe 模式的通知那样指明 /stop 和 claude --resume。
  • 修复了在 Remote Control 开启时,← 停留在排队中的消息上却不说明其为何不动的问题。
  • 修复了 mods 中的 $.http.fetch 拒绝声明了超过 4 MiB 正文体上限的 Content-Length 的 304、204 或 205 响应的问题。
  • 修复了 /config 的推送通知开关向你的账户发送的是之前的设置而非你刚选择的设置的问题。
  • 修复了当回复刚达到输出 token 上限其 worker 即被替换时,云会话将回复留在未完成状态的问题。
  • 修复了在 Linux 上以非提升权限运行的远程会话中,Read 在处理 PDF 页面范围时失败的问题。
  • 修复了 Enter 会应答一个在你输入尚未发送的消息期间被搁置的提问或权限提示的问题。
  • 修复了远程会话中附加到消息的文件在下载中途停顿时被遗漏的问题;现在会重新尝试下载。
  • 修复了通过 --input-format stream-json 以内容块发送的排队提示在合并为同一轮时中间没有换行、连在一起运行的问题。
  • 修复了当连接器在会话中途发生变化时,self-hosted runner 会话会关闭由某个 --exec-path 包装器自身的 --mcp-config 添加的 MCP 服务器的问题。
  • 修复了 claude plugin eval 将被 API 拒绝的运行判定为通过的问题:以 API 错误结束的运行现在不经评分直接计 0 分,并使整个套件以退出码 1 结束。
  • 修复了当原因文本包含 keycap 或 joined emoji 时,权限提示被截断或过早换行的问题。
  • 修复了来自 MDM 或 managed-settings 文件的 forceLoginOrgUUID 和 forceLoginMethod 被服务器管理的设置隐藏或替换的问题。
  • 修复了 --bare 会话遗漏 --channels 所请求的名为 constructor 或 prototype 的 MCP 服务器的问题。
  • 修复了恢复 /clear 之前的对话时会重新挂接到其后那次对话的 Remote Control 会话的问题。
  • 修复了当 CLAUDE_CODE_RESUME_INTERRUPTED_TURN 在重启后重新运行某个以 / 开头、通过 Agent SDK 的 verbatimPrompts 选项发送的提示时,该提示被当作斜杠命令执行的问题。
  • 修复了使用 --safe-mode 启动的后台会话在被唤醒或重启时悄然退出 safe 模式的问题。
  • 修复了在夏令时结束时出现重复的那一个小时内,计划任务和循环在每一轮之后再次触发或提前触发的问题。
  • 修复了 diff 视图将名称以空格开头或结尾的新文件以错误的名称列出的问题。
  • 修复了当后台重连关闭了 headless 和 SDK 会话中 MCP 工具调用正在使用的连接时,这些调用有时会失败或运行两次的问题。
  • 修复了非交互会话中的 /btw 附加提问在会话结束时未被取消、以及在运行中途同一请求再次到达时被运行第二次的问题。
  • 修复了在 macOS 上,当被拒绝的路径经过符号链接时,沙箱化的命令能够通过其实际位置读取或写入该被拒绝路径的问题。
  • 修复了当文件夹名称中包含花括号、圆括号或反斜杠时,sandbox 的 denyRead 和 allowRead glob 被 Claude Code 的设置检查与沙箱以不同方式解读的问题。
  • 修复了当 sandbox glob 的 allowRead 和 allowWrite 条目所起始的目录被替换为符号链接时,这些条目未被重新检查的问题。
  • 修复了 worktree 隔离的会话接受某些本应被隔离防护(isolation guard)拒绝的 awk 程序的问题。
  • 修复了 claude mcp add <name> -- <command> --background 被作为后台会话启动的问题。
  • 修复了向后台会话发送内容为 --bg 或 --background 的提示或回复时,其被当作该命令行标志处理的问题——这可能导致不断启动新会话而非将其送达。
  • 修复了当更新的消息在某条自定义斜杠命令的提示正被检查时打断该命令,其内嵌的 shell 行会运行两次的问题。
  • 修复了在使用 git 的 reftable 引用存储的仓库中,--worktree 会话在 .git/worktrees 中留下残留文件夹的问题。
  • 修复了 claude self-hosted-runner 会话在使用 Anthropic 管理的 git 时,于 remote 仍为空的复用克隆中启动会将已跟踪文件显示为已暂存删除的问题。
  • 修复了当设置中开启 ultracode 时,Ultracode 未被通告给计划任务及其他投递的 headless 轮次的问题。
  • 修复了 MCP OAuth 登录、token 刷新和登出未发送所配置的 headers/headersHelper 值的问题,该问题导致位于带身份验证的代理之后的服务器无法工作。
  • 修复了当一个在 <head> 之后带有换行的大页面未作修改地再次发布时,Artifact 工具报告与线上页面存在虚假的一行差异并拒绝发布的问题。
  • 修复了 $.ui.open 在没有任何 surface 绘制该窗格的会话(例如 Claude Code for VS Code 和 claude -p)中,将某个 mod 的窗格报告为已放置的问题。
  • 修复了当恢复一个已完成的 subagent 或被终止的 teammate 时 agent.spawn mod hook 未运行的问题:该 hook 的事件现在带有 resume,mod 可以拒绝它。
  • 修复了当 plugin.json 没有 types 键且契约位于 ./types/index.d.ts 时,claude plugin validate 拒绝某个 mod 的 $.state 引用的问题。
  • 修复了 mod 的 dimColor 文本在 dark ANSI 主题下以及 16 色终端上与普通文本外观相同的问题。
  • 修复了 plan 模式会运行某个 PreToolUse hook 或 mod 的 tool.check hook 所允许的写操作(MCP 工具、文件或 shell 命令)的问题。
  • 修复了 auto 模式下的后台 subagent 有时将其最终报告发送两次的问题——一次作为结果、一次作为消息。
  • 修复了 CLI 重启并恢复会话后 SendMessage 无法按名称找到 subagent 的问题(在最后一次 compaction 之前给出的名称仍需使用 agent ID)。
  • 修复了在请求回退到非流式模式后,于输出 token 上限处被截断的回复会悄然结束该轮次、不重试也不报错的问题。
  • 修复了 Read 将带字节顺序标记的 UTF-16LE 文件处理为乱码,以及 Write 丢弃字节顺序标记或悄然将 Windows-1252、Shift-JIS、GBK 或 UTF-16BE 文件转换为 UTF-8(现在会拒绝)的问题。
  • 修复了云会话在压缩后紧接着 worker 被替换时,有时会留下一条未回答消息的问题
  • 修复了云会话和 CLAUDE_CODE_RESUME_INTERRUPTED_TURN 在某个工具结束了该轮次且一个技能在同一步骤中加载的情况下,重启后有时会再次回答一个已完成轮次的问题
  • 修复了通过 Remote Control 发送的照片在其副本无法保存到你的计算机时被丢弃的问题;Claude 现在仍然能看到该照片
  • 修复了通过 Remote Control 发送的文件在长时间运行的会话中有时无法送达的问题
  • 修复了大小为 30 至 35 MiB 的文件在通过 Remote Control 发送或发送到云会话时无法送达的问题
  • 修复了用户安装的 mod 的 $.env.set 会更改托管设置的命令钩子启动时所处环境或 shell 前缀的问题
  • Windows:修复了进程存活检查在繁忙机器上遗留孤立 PowerShell 进程直至内存耗尽的问题
  • Windows:修复了未设置 shell 的 PreToolUse 和 PermissionRequest 钩子在未安装 Git for Windows 时失败放行的问题;现在守卫失败时会阻止该调用
  • Windows:修复了当 Git Bash 在启动时未报告其 PATH 时,Bash 命令在整个会话中都报 "command not found" 失败的问题
  • 自托管 runner:改进了当 runner 所在机器没有 git 凭据时 setup 和 doctor 的提示内容
  • 自托管 runner:修复了在第一个轮次之前就写入输出的会话不会被分配释放计时器、忽略 --retire-at 并延迟关闭的问题
  • 改进了当云会话因你的 claude.ai 登录被拒绝或已过期而被拒时显示的错误:它现在会告知你使用 claude auth login 重新登录
  • 改进了托管权限规则、托管钩子和组织 MCP 工具名称针对用户安装的 mod 的强制执行
  • 改进了通过 @ 提及 PDF 时的内存和磁盘占用:PDF 的字节不再保留在会话记录中
  • 改进了 Linux 上的沙盒 Bash:在为某条命令展开通配符读取规则期间,Esc 和 Ctrl-C 现在可以正常使用
  • 改进了针对无法识别的 model ID 的启动警告:它现在是欢迎横幅下方带文档链接的一行简短文字,而不是一条冗长的原始消息
  • 改进了插件编写技能中分享 mod 的步骤:Claude 会询问公开还是私有,并在创建 GitHub 仓库前检查文件
  • 改进了 Skill 工具的 "Unknown skill" 错误:当 Claude 错误地为其添加 anthropic-skills: 前缀时,该错误现在会提示技能列出的名称
  • 改进了 /reload-skills:它现在会说明自己会向 Claude 重新发送完整的技能列表,这也是压缩后找回技能的方法
  • 改进了当 worktree 因其基础提交无法解析而无法创建时显示的错误:它现在会说明查找是如何结束的以及可能的原因,例如一个没有任何提交的仓库
  • 改进了在 bare-repository 布局的根目录创建 worktree 时的错误:它现在会解释这种布局,而不是显示一个无关的 git 错误
  • 改进了 artifact 监视:本地会话现在最多可同时监视 25 个已发布的 artifact,此前为 10 个
  • 改进了后台 agent 通知:它们现在会说明 agent 是仅在等待自己的后台工作、收到消息太晚而来不及用于其结果,还是被用量限制停止
  • 更改了插件钩子和工作流脚本:拒绝它们返回的嵌套深度超过 28,000 层的值,并给出指明该限制的错误(工作流脚本允许 100,000 层)
  • 更改了插件钩子可阻止的操作的行为:当钩子无法收到这些操作或无法返回其回答时,这些操作现在会被拒绝而不是放行;已运行的工具会保留其结果不返回
  • 更改了发往 claude.ai 的 connector 代理和 Anthropic 托管的 MCP 服务器的请求,使其不再跟随 HTTP 重定向;connector 自身服务器的重定向不受影响
  • 更改了云会话和自托管 runner 会话中的 MCP 请求,使其不再跟随来自会话 MCP 代理的 HTTP 重定向
  • 更改了技能和命令的加载:文件或文件夹名称中包含隐藏字符、改变方向的字符、类空白字符、< 或 > 的技能或命令,在重命名之前不再被提供;此类名称会被忽略
  • 更改了 claude plugin test 中的 ui.render 树:每个 mod 的 Box 或 Text 根节点现在都带有 part: { plugin } 来命名该 mod,因此精确树断言必须将其包含在内
  • 更改了 WebFetch 页面读取选择 effort 的方式,使其与网页搜索一致:使用调用者在调用者自身模型上的级别,否则使用级别设置提供给 small model 的级别
  • 更改了 claude plugin test:与普通会话一致,对 mod 提供的 $ 方法在十秒内未应答的调用现在会失败
  • 更改了 MCP allow 规则,使其仅作用于其指定的服务器:mcp__a 不再允许名为 a__b 或 a_ 的服务器;编写 mcp__<server>__* 时需使用服务器的完整规范化名称
  • 更改了 agent 工具:列表现在仅会获取所指定 MCP 服务器的工具;列出名称中包含 __ 的服务器时,写作 mcp__<whole name>__*
  • 更改了 Cowork 云会话中 auto 模式之外的 Claude in Chrome:被安全分类器标记的已批准站点操作现在会询问你而不是被拒绝,除非适用托管设置
  • 更改了云会话和 Remote Control 的 MCP connector:在不获取任何 flags 的安装上默认协商 MCP 协议版本 2026-07-28;MCP_PROTOCOL_NEGOTIATION=legacy 可退出该行为
  • 更改了来自 api.anthropic.com 上 Anthropic 第一方 MCP 服务器的 MCP 工具描述和服务器指令,使其完整送达 Claude,而不是在 4,096 个字符处被截断
  • 更改了 Cowork 云会话中的 auto 模式:PermissionRequest 钩子不再能批准 shell 命令或 subagent;这些提示会等待或被拒绝
  • 更改了退出时打印的 resume 命令:它现在通过会话 ID 而非会话名称来指定会话,这样粘贴该行时,会话名称中的任何内容都不会被执行
  • 更改了 worktree 会话退出时打印的 resume 命令:如果长 flag 不适合终端,它会使用 -w 和 -r。如果两者都不适合一个保留的 worktree,它上方的行会说明在哪里运行它
  • 更改了非交互式会话中的 /btw 附带提问:在 11 分钟后仍未得到回答时,现在会返回超时错误
  • 更改了 UserPromptSubmit hooks 的运行时机,使其在 skill 或自定义斜杠命令展开之前运行,因此阻止提示词的 hook 现在也会停止其中嵌入的 shell 命令。
  • 更改了 skill 自身 front-matter 中的 UserPromptSubmit hook,使其首次在调用该 skill 的那条提示词之后的提示词上运行。
  • 更改了 turn.start mod hook,使其不仅监听主循环的回合,也监听 subagent 和 teammate 的回合;可通过 e.agentId 区分它们(主循环上没有该字段)。
  • 更改了 /ultrareview 无法上传仓库时显示的错误信息,不再建议使用 git add .,因为该命令可能会暂存或提交未跟踪的文件,例如 .env。
  • 更改了网络安全防护通知,不再要求人们申请 Cyber Verification Program。
  • [VSCode] 修复了切换到另一个会话再切回时,未发送的提示词及其附件丢失的问题。
  • [VSCode] 修复了未使用的空白聊天在开始新对话后仍让后台 Claude 进程持续运行的问题。
  • [VSCode] 修复了未登录 claude.ai 时麦克风按钮显示内部错误信息的问题;现在它会提示你登录。
  • [VSCode] 通过在 Python 扩展加载期间启动 Claude,改进了没有 Python 环境的工作区的启动时间。
  • [VSCode] 改进了启动:在你之前打开过的文件夹的新窗口中,模型选择器和斜杠命令菜单现在会立即填充内容。
  • [Cloud sessions] 修复了当大量已有输出文件被一次性重新发送给会话时,可能导致会话崩溃的内存激增问题。
  • [Cloud sessions] 修复了保存编辑过的 routine 时,若其原有环境已被删除或不在列表中,会静默将其移动到另一个环境的问题;现在 routine 会保留其环境。
  • [Cloud sessions] 修复了在自托管环境的管理详情中,粘贴来自会话链接的 session ID 时 Sessions 搜索找不到任何结果的问题。
  • [Cloud sessions] 修复了自托管环境管理详情中的 Sessions 和 Runners 列表在搜索只是没有匹配项时显示列表为空的问题。
  • [Cloud sessions] 改进了创建自托管环境或环境密钥时显示的 deploy 命令:现在会完整显示、可在参数之间换行,并带有可见的复制按钮。
  • [Cloud sessions] 更改了删除自托管环境的行为:现在会立即关闭其 routines,并在每个 routine 上显示原因,而不是放任它们的运行失败。
  • [Remote Control] 修复了 Remote Control 会话在其计算机无法访问时仍看似在发送你的消息的问题;现在你的文本会保留在输入框中,且 Send 按钮保持禁用,直到重新连接。
  • [Claude Tag] 新增了 Slack 中的 Claude 在有人提出要求时删除其在频道中创建的 canvas 的能力。
  • [Claude Tag] 修复了在有访客的频道中,Slack 中的 Claude 对频道自身指令要求其回复的未标记帖子(例如标记了其他人的帖子)保持沉默的问题。
  • [Claude Tag] 修复了 Slack 中的 Claude 在其并非成员的另一频道的帖子串中回复时,将该回复报告为已发布的问题;现在它会说明回复未送达以及如何解决。
  • [Claude Tag] 修复了当自托管 runner 的镜像中没有 python3 时,Slack 中的 Claude 有时会在未发布其回答的情况下结束回合的问题。
  • [Claude Tag] 更改了 Slack 中的 Claude 纠正其出错消息的方式:现在它会就地编辑该消息并添加一条简短的「Edited」备注,而不是给旧文本加删除线。
  • [Claude Tag] 更改了 Slack 中的 Claude 加入成员超过 100 人的频道时的行为:静默加入,不发送介绍消息。
  • [Code Review] 修复了 Code Review 的月度支出限额评论和 check-run 卡片将管理员引导至 Claude Code 设置的问题;现在它们链接到 Usage 页面,该限额正是在那里设置的。
展开原文提取正文(采集端自动提取,可能有缺失)

·

1 commit

to main since this release

Immutable release. Only release title and notes can be modified.

db93774

What's changed

Added CLAUDE_CODE_DISABLE_FILE_MENTIONS environment variable: Claude gets the paths of @ file mentions to read with its file tools, not the files' contents Added idle compaction in the terminal: a 200K+ token conversation left idle for about 54 minutes is compacted before its one-hour prompt cache expires, so your next message doesn't reprocess it all Added CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS to change idle compaction's 200K-token minimum; "idleCompaction": false in settings.json turns it off. Both need v2.1.290 or later Added $.prompt.media so a prompt.submit hook of a mod installed by managed settings can read the bytes of an image or document attached to the prompt Added $.session.identity() for mods installed by managed settings: how the session is signed in, and its organization and email when managed forceLoginOrgUUID lists that organization Added size, weight, mono and tabular to a mod's Text and named spacing steps (xs to xl) to its Box; bold is deprecated in favor of weight Added --shutdown-drain-sec to claude self-hosted-runner orchestrator: on SIGTERM it stops polling and gives the poll in flight and running spawn hooks up to that many seconds to finish Added the skill's frontmatter, source, plugin name and file path to what a mod's skill.prompt hook receives Added /effort and /fast in agent view to set what new sessions start with; a bare /model, /effort or /fast there now opens a picker Added a "safe mode" line to the agents view peek panel for background sessions started with --safe-mode Added a one-time note when plan mode won't ask before most edits or commands because bypass permissions is available Added --disallow-tools and a disallowed_tools case field to claude plugin eval to keep specific built-in tools, such as Agent, out of eval runs Added support for turning off the attribution block in Claude Desktop's Code tab: set CLAUDE_CODE_ATTRIBUTION_HEADER=0 in the env of a Claude apps gateway's code policy Added a field to the attribution block in Claude Code sessions behind a Claude apps gateway; remove the block with CLAUDE_CODE_ATTRIBUTION_HEADER=0 Added a queue door to the session.append mod hook, so a mod can make the transcript's queue records differ from the prompt as sent Added a note in /plugin and claude plugin validate naming a mod's hooks that are skipped where an organization manages Claude Code Added /usage warnings for max effort, workflows, always-on context and large tool results Fixed the error for a denied cloud session, which could point to the wrong organization when a key from apiKeyHelper was in use Fixed sessions on a gateway-specific model name behind a custom ANTHROPIC_BASE_URL ending with "Prompt is too long · automatic compaction failed" near 200K tokens instead of sending the request Fixed a mod that submits a prompt at the end of every turn keeping a headless run going past --max-turns, --max-budget-usd, an interrupt, or the end of the host's conversation Fixed cloud sessions sometimes showing the model's follow-up text after a tool group's one-line label Fixed the Write and Edit tools creating a mod in a session's mods folder without asking in accept-edits mode when the config directory's path has no .claude in it Fixed installed mods that kept running in an open session after being turned off remotely; they now unload between turns Fixed Edit and Retry in Cowork and claude.ai cloud sessions failing on a message stopped while its UserPromptSubmit or mod prompt.submit hooks were still running (regression in 2.1.296) Fixed an agent teammate started without a description keeping part of a credential from its prompt in the task description shown for it Fixed the claude.ai view of a Remote Control or cloud session freezing when a large batch of events could not finish uploading over a slow connection Fixed a sandboxed shell command being able to write into a --plugin-dir folder, whose code Claude Code reloads and runs outside the sandbox Fixed memory growth under heavy debug logging (--debug, --debug-file), and a hang on exit when the debug log is on a disk or network mount that stops accepting writes Fixed memory growing without bound when debug output goes to stderr and the parent process stops reading it Fixed rm prompts on shell -c scripts that don't run rm. An rm built at run time in a script Claude Code can't read no longer prompts unless CLAUDE_CODE_STRICT_INLINE_SHELL_RM_PROMPT=1 Fixed double-clicking a word in an expanded transcript row in fullscreen mode collapsing the row instead of selecting the word Fixed claude mcp list, claude doctor and /status reporting an empty .mcp.json as invalid Fixed /btw jumping the transcript to the bottom when asked while scrolled up in fullscreen Fixed sandboxed commands failing on WSL2 with bwrap: Can't mkdir /mnt/c/Program Files/ClaudeCode when the sandbox can write to the Windows drive Fixed scheduled wakeups (ScheduleWakeup) not firing while a background task was running in Agent SDK, IDE and claude remote-control sessions Fixed a mod's prompt.submit rewrite being silently dropped, sending the prompt as typed, for some prompts with a pasted image or an image that can't be read Fixed a Remote Control prompt being lost when another queued prompt in the same batch failed to deliver Fixed a Remote Control prompt that had passed its hooks being dropped from prompt history when Stop interrupted the next queued prompt's hook Fixed sign-in, MCP servers and project trust appearing lost on Linux after a sandboxed command left an empty .config.json in the config directory Fixed /sandbox reporting success when its setting could not be saved because the project folder is not writable; it now says nothing changed and why Fixed SDK and headless sessions staying in auto mode after the host switched to a model that doesn't support auto mode Fixed MCP servers named constructor or prototype in an MCP config never being connected Fixed tools of an MCP server named constructor or toString asking for permission in auto mode and bypass permissions mode Fixed a spurious "synced[0] commands path not found" plugin error at startup when another Claude Code process had just updated a claude.ai-synced plugin Fixed the Artifact tool advising a retry when a publish that requests connectors or other access was refused by the server or a proxy (HTTP 403); it now says so and what to tell the user Fixed Cowork cloud sessions staying on an old account plugin after a plugin reload that timed out or a restart that reused a recent sync Fixed document blocks being dropped from your own message sent while Claude is working Fixed Claude in Chrome asking for permission while no browser is connected; it now says the extension is not connected Fixed the fullscreen "Update installed" notice being hidden behind the idle "/clear to save tokens" hint; it now shows beside the hint Fixed a mod hook, with or without a .catch, being run again without end when it waits on another mod's noun that does its work outside the call Fixed the Claude apps gateway serving models that a policy's availableModelsMatch: exact or deniedModels blocks; it now answers 400 and leaves them out of its model lists Fixed the server-managed settings request to Anthropic carrying a third-party gateway's API key when a managed settings file sets ANTHROPIC_BASE_URL Fixed streams through a custom ANTHROPIC_BASE_URL being aborted after 180 seconds with no data arriving; they now wait 300 seconds, whether or not feature flags are loaded Fixed a mod's tool.describe or prompt.section answer that changed after $.ui.invalidate never reaching Claude; the new answer is now sent on the next turn Fixed a settings file being ignored when enabledMcpjsonServers or disabledMcpjsonServers held a single server name (letters, digits, - or _) as a plain string Fixed claude plugin test pausing a hook's time budget while a served $ method it had called kept making $ calls after answering Fixed high memory use after resuming a cloud or Remote Control session that had run many subagents Fixed plugin hooks being skipped when they pass a very deeply nested tool input or message on with next() Fixed a value a mod's hook passes to next(), returns, or sends to a $ method being refused whole when one of its getters throws a RangeError; now only that key is refused Fixed /usage, the approaching-limit warning (terminal and VS Code) and the status line sometimes showing more than 100% used (#92238) Fixed wrapped text mixing CJK or emoji with Latin words losing its last line or leaving a blank row at some terminal widths Fixed a cloud session sometimes ignoring the answer to a permission prompt or a question when the answer was given while the session's worker was being replaced Fixed bold, italic and other nested text styles running over table borders or being lost on wrapped rows Fixed Cowork cloud sessions running the old version of an account plugin changed, removed or disabled from another device until the session restarted Fixed deny and ask rules for an MCP server (mcp__<server>) not applying when the server's normalized name contains a double underscore Fixed long conversations losing newly attached images on every turn after one oversized image was refused by the API Fixed the plugin_loaded telemetry event reporting has_hooks as false for plugins whose hooks are a hooks module, built-in plugins included Fixed images attached while Claude is working (VS Code, desktop app, SDK) being sent at full size, which led to repeated image errors in long conversations Fixed the image coordinate hint being missing or slightly off for large near-square images on newer models Fixed feature flag, startup, fast mode, profile and feedback requests to Anthropic carrying the API key configured for a third-party gateway (ANTHROPIC_BASE_URL); Anthropic API keys are still sent Fixed a mod's hot reload ignoring a fix saved right after a failed reload; saving a mod file without changing it no longer reloads the mod Fixed mods loaded from source files being refused when a hook hands $ to a function declaration imported from another file of the mod Fixed a regression in 2.1.296 where cloud and headless sessions could run an approved tool call twice if a new message arrived as the session resumed after a restart Fixed scheduled tasks being announced for the wrong minute: the scheduling tools now report each job's actual next run time Fixed mods' hooks being handed values with __proto__ keys silently removed, which could skip a tool.check guard on a tool call another mod made Fixed claude -p saying nothing when a settings file fails validation: text-output runs now list the file and the invalid entry on stderr Fixed long pastes in terminals without bracketed paste losing all text after an invisible control character, such as a mis-decoded curly quote Fixed managed settings and organization policy not being fetched when the stored login's plan was changed locally on machines whose MDM or managed-settings file sets forceLoginOrgUUID Fixed MCP connections over HTTP hanging for 30 seconds and failing when a server never ends the body of its reply to a notification (#99014) Fixed MCP servers added to a running headless or SDK session being connected before some policy checks ran; a blocked server is now reported as failed without being contacted Fixed claude mcp list, claude mcp get and subagent MCP servers starting a server that a policy check blocks; it is now reported as blocked without being started Fixed /reload-plugins not loading a plugin installed from another terminal a moment earlier Fixed blank rows appearing under CJK and emoji text squeezed into a one-cell column, as in a very narrow terminal Fixed text cut in the middle beside wide characters leaving a cell unused or being cut twice, and an emoji vanishing where a color changed inside it Fixed bare mode notices in background sessions telling you to restart without --bare, which keeps the mode; they now name /stop and claude --resume, as safe mode ones do Fixed ← not saying why it stayed put over a queued message while Remote Control is on Fixed $.http.fetch in mods refusing a 304, 204 or 205 response that declares a Content-Length over the 4 MiB body limit Fixed /config push notification toggles sending your account the previous setting instead of the one you just chose Fixed a cloud session leaving a reply unfinished when its worker was replaced just after the reply hit the output token limit Fixed Read failing on PDF page ranges in remote sessions on Linux that run without elevated privileges Fixed Enter answering a question or permission prompt that had been held back while you typed an unsent message Fixed a file attached to a message in a remote session being left out when its download stalled part way; the download is now tried again Fixed queued prompts sent as content blocks over --input-format stream-json running together without a line break when merged into one turn Fixed self-hosted runner sessions shutting down MCP servers added through an --exec-path wrapper's own --mcp-config when connectors change mid-session Fixed claude plugin eval passing runs that the API refused: a run that ends on an API error now scores 0 without grading and makes the suite exit 1 Fixed permission prompts cutting off or wrapping too early when the reason text contains keycap or joined emoji Fixed forceLoginOrgUUID and forceLoginMethod from MDM or the managed-settings file being hidden or replaced by server-managed settings Fixed --bare sessions leaving out an MCP server named constructor or prototype that --channels asked for Fixed resuming a conversation from before /clear reattaching to the Remote Control session of the conversation after it Fixed a prompt starting with /, sent with the Agent SDK's verbatimPrompts option, running as a slash command when CLAUDE_CODE_RESUME_INTERRUPTED_TURN re-ran it after a restart Fixed background sessions started with --safe-mode silently leaving safe mode when the session was woken or restarted Fixed scheduled tasks and loops firing again after every turn, or firing early, during the repeated hour when daylight saving time ends Fixed the diff view listing a new file whose name begins or ends with a space under the wrong name Fixed MCP tool calls in headless and SDK sessions sometimes failing or running twice when a background reconnect closed the connection they were running on Fixed /btw side questions in non-interactive sessions not being cancelled when the session ends, and running a second time when the same request arrived again mid-run Fixed sandboxed commands on macOS being able to read or write a denied path by its real location when the denied path passes through a symlink Fixed sandbox denyRead and allowRead globs with braces, parentheses or backslashes in a folder's name being read differently by Claude Code's settings checks than by the sandbox Fixed sandbox glob allowRead and allowWrite entries not being re-checked when the directory they start from is replaced by a symlink Fixed worktree-isolated sessions accepting some awk programs the isolation guard should refuse Fixed claude mcp add <name> -- <command> --background being started as a background session Fixed a prompt or reply of --bg or --background to a background session being taken for the flag, which could start new sessions over and over instead of delivering it Fixed a custom slash command's embedded shell line running twice when a newer message interrupted the command while its prompt was being checked Fixed --worktree sessions leaving a folder behind in .git/worktrees in repositories using git's reftable ref storage Fixed claude self-hosted-runner sessions using Anthropic-managed git showing tracked files as staged deletions when starting in a reused clone whose remote is still empty Fixed Ultracode not being announced to scheduled tasks and other delivered headless turns when ultracode is on in settings Fixed MCP OAuth sign-in, token refresh and sign-out not sending configured headers/headersHelper values, which broke servers behind an authenticating proxy Fixed the Artifact tool reporting a spurious one-line difference against the live page, and refusing the publish, when a large page with a line break after <head> is published again unchanged Fixed $.ui.open reporting a mod's pane as placed in sessions where no surface draws it, such as Claude Code for VS Code and claude -p Fixed the agent.spawn mod hook not running when a finished subagent or a killed teammate is resumed: the hook's event now carries resume, and a mod can refuse it Fixed claude plugin validate rejecting a mod's $.state references when plugin.json has no types key and the contract is at ./types/index.d.ts Fixed a mod's dimColor text looking the same as plain text under the dark ANSI theme and on 16-color terminals Fixed plan mode running a write (an MCP tool's, a file's, a shell command's) that a PreToolUse hook or a mod's tool.check hook allowed Fixed background subagents in auto mode sometimes sending their final report twice, once as the result and once as a message Fixed SendMessage not finding a subagent by name after the CLI restarted and resumed the session (names given before the last compaction still need the agent ID) Fixed replies cut off at the output token limit ending the turn silently, with no retry or error, after a request fell back to non-streaming mode Fixed Read garbling UTF-16LE files with a byte-order mark, and Write dropping byte-order marks or silently converting Windows-1252, Shift-JIS, GBK or UTF-16BE files to UTF-8 (now refused) Fixed cloud sessions sometimes leaving a message unanswered when the worker was replaced right after a compaction Fixed cloud sessions and CLAUDE_CODE_RESUME_INTERRUPTED_TURN sometimes answering a finished turn again after a restart, when a tool ended the turn and a skill loaded in the same step Fixed photos sent over Remote Control being dropped when their copy could not be saved on your computer; Claude now still sees the photo Fixed files sent over Remote Control sometimes not arriving in long-running sessions Fixed files of 30 to 35 MiB sent over Remote Control or to a cloud session not arriving Fixed a user-installed mod's $.env.set changing the environment or shell prefix that command hooks from managed settings start with Windows: Fixed the process-liveness check leaving orphaned PowerShell processes behind on busy machines until memory ran out Windows: Fixed PreToolUse and PermissionRequest hooks that set no shell failing open when Git for Windows isn't installed; a guard that fails now blocks the call Windows: Fixed Bash commands failing with "command not found" for a whole session when Git Bash did not report its PATH at startup Self-hosted runner: Improved what setup and doctor say when the runner's machine has no git credentials Self-hosted runner: Fixed sessions that wrote output before their first turn being left with no release timer, ignoring --retire-at and delaying shutdown Improved the error shown when a cloud session is refused because your claude.ai login was rejected or has expired: it now tells you to sign in again with claude auth login Improved enforcement of managed permission rules, managed hooks and organization MCP tool names against user-installed mods Improved memory and disk use when PDFs are @-mentioned: their bytes are no longer kept in the session transcript Improved sandboxed Bash on Linux: Esc and Ctrl-C now work while wildcard read rules are being expanded for a command Improved the startup warning for an unrecognized model ID: it is now one short line under the welcome banner with a docs link, instead of a long raw message Improved the plugin-authoring skill's steps for sharing a mod: Claude asks public or private and checks the files before creating a GitHub repository Improved the Skill tool's "Unknown skill" error to suggest a skill's listed name when Claude wrongly adds the anthropic-skills: prefix to it Improved /reload-skills to say it re-sends the full skill list to Claude, which is how to get skills back after compaction Improved the error shown when a worktree cannot be created because its base commit does not resolve: it now says how the lookup ended and the likely reasons, such as a repository without a commit Improved the error for creating a worktree at a bare-repository layout's root: it now explains the layout instead of an unrelated git error Improved artifact watching: a local session can now watch up to 25 published artifacts at once, up from 10 Improved background agent notifications: they now say when an agent is only waiting on its own background work, got a message too late for its result, or was stopped by a usage limit Changed plugin hooks and workflow scripts to refuse values they hand back that nest deeper than 28,000 levels, with an error naming the limit (workflow scripts allowed 100,000) Changed actions a plugin hook can block to be refused, not let through, when the hook cannot be handed them or cannot hand back its answer; a tool that already ran has its result withheld Changed requests to claude.ai's connector proxy and to Anthropic-hosted MCP servers to no longer follow HTTP redirects; redirects by a connector's own server are unaffected Changed MCP requests in cloud and self-hosted runner sessions to no longer follow HTTP redirects from the session's MCP proxy Changed skill and command loading: one whose file or folder name has hidden, direction-changing or blank-like characters, < or > is no longer offered until renamed; such a name: is ignored Changed ui.render trees in claude plugin test: each mod's Box or Text root now carries part: { plugin } naming the mod, so exact-tree assertions must include it Changed WebFetch page reads to pick their effort as web searches do: the caller's level on the caller's own model, otherwise the level settings give the small model Changed claude plugin test to fail a call to a mod's served $ method that has not answered within ten seconds, as a session does Changed MCP allow rules to reach only the server they name: mcp__a no longer allows a server named a__b or a_; write mcp__<server>__* with the server's whole normalized name Changed agent tools: lists to take only the named MCP server's tools; list a server whose name contains __ as mcp__<whole name>__* Changed Claude in Chrome in Cowork cloud sessions outside auto mode: an approved-site action the safety classifier flags now asks you instead of being refused, unless managed settings apply Changed cloud session and Remote Control MCP connectors to negotiate MCP protocol version 2026-07-28 by default on installs that fetch no flags; MCP_PROTOCOL_NEGOTIATION=legacy opts out Changed MCP tool descriptions and server instructions from Anthropic's first-party MCP servers at api.anthropic.com to reach Claude in full instead of being cut at 4,096 characters Changed auto mode in Cowork cloud sessions: a PermissionRequest hook can no longer approve shell commands or subagents; those prompts wait or are denied Changed the resume command printed at exit: it names the session by its ID and no longer by its name, so that nothing in a session name can run when the line is pasted Changed the resume command printed at exit of a worktree session: it uses -w and -r if the long flags do not fit the terminal. If neither fits a kept worktree, rows above it say where to run it Changed /btw side questions in non-interactive sessions to return a timeout error when still unanswered after 11 minutes Changed UserPromptSubmit hooks to run before a skill or custom slash command expands, so a hook that blocks the prompt now also stops its embedded shell commands Changed a skill's own front-matter UserPromptSubmit hook to first run on the prompt after the one that invokes the skill Changed the turn.start mod hook to also hear subagents' and teammates' turns, not only the main loop's; tell them apart by e.agentId (absent on the main loop) Changed the errors shown when /ultrareview can't upload a repository to stop suggesting git add ., which could stage or commit untracked files such as .env Changed the cyber safeguard notice to no longer ask people to apply to the Cyber Verification Program [VSCode] Fixed an unsent prompt and its attachments being lost when switching to another session and back [VSCode] Fixed unused blank chats keeping a background Claude process running after starting a new conversation [VSCode] Fixed the mic button showing an internal error message when you are signed out of claude.ai; it now offers to sign you in [VSCode] Improved startup time in workspaces without a Python environment by starting Claude while the Python extension loads [VSCode] Improved startup: the model picker and slash command menu now fill in right away in a new window on a folder you've opened before [Cloud sessions] Fixed a memory spike that could crash a session when many of its existing output files were re-sent to it at once [Cloud sessions] Fixed saving an edited routine silently moving it to a different environment when its own had been deleted or wasn't in the list; the routine now keeps its environment [Cloud sessions] Fixed Sessions search in a self-hosted environment's admin details finding nothing when you paste the session ID from a session's link [Cloud sessions] Fixed the Sessions and Runners lists in a self-hosted environment's admin details saying the list is empty when a search just has no matches [Cloud sessions] Improved the deploy command shown when you create a self-hosted environment or environment key: it shows in full, wraps between arguments, and has a visible copy button [Cloud sessions] Changed deleting a self-hosted environment to turn off its routines right away, with the reason shown on each routine, instead of leaving their runs to fail [Remote Control] Fixed Remote Control sessions whose computer can't be reached still appearing to send your messages; your text now stays in the box and Send is off until it reconnects [Claude Tag] Added the ability for Claude in Slack to delete a canvas it created in a channel when someone asks it to [Claude Tag] Fixed Claude in Slack staying silent on untagged posts that a channel's own instructions tell it to answer, such as posts that tag someone else, in channels with guests [Claude Tag] Fixed Claude in Slack reporting a reply to another channel's thread as posted when it isn't a member there; it now says the reply wasn't delivered and how to fix that [Claude Tag] Fixed Claude in Slack sometimes ending a turn without posting its answer when a self-hosted runner's image has no python3 [Claude Tag] Changed how Claude in Slack corrects a message it got wrong: it edits the message in place and adds a short "Edited" note instead of striking through the old text [Claude Tag] Changed Claude in Slack to join channels with more than 100 members quietly, with no intro message [Code Review] Fixed Code Review's monthly spend-limit comment and check-run card sending admins to Claude Code settings; they now link the Usage page, where that limit is set

原文入口

阅读原文(github.com)

原文将在新窗口打开。收录时间不是内容更新时间;正文、译文与解读的版权归原作者/来源所有,本站仅作个人阅读辅助并保留原文入口;页面时间均为北京时间。

作者/署名来自原文结构化字段(Atom/RSS/HTML meta/JSON-LD;GitHub release 显示的是发布者账号),未经模型补充。

了解来源批准与收录规则