← 返回更新日志

Claude Code v2.1.296

2026-10-09 · GitHub 原文
## 变更内容 - 在 Claude 应用网关的 `managed.policies[]` 中添加了 `code` 键:其设置与 `cli` 相同,也会应用于 Claude Desktop 的 Code 标签页;与 `desktop` 一起使用时,会启用 Claude Desktop 的网关模式 - 在子代理 frontmatter 和 `--agents` 定义中添加了 `autoCompactWindow`,使子代理可以比主对话窗口更早进行自动压缩 - 添加了 `CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL`,可让所有工作流代理使用同一个模型,同时其他子代理仍使用各自的模型 - 添加了 `CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS` 环境变量,用于在重试过载(529)请求时设置更长的最大退避延迟 - 在 `/plugin` 中为因另一个已启用插件具有相同名称而未加载其钩子的插件添加了说明 - 为 Read 工具添加了 `allow_large` 选项,使 Claude 在需要读取整个文件且上下文空间足够时,可以单次读取超过常规大小限制的文本文件 - 修复了托管设置中的 `PreToolUse` 钩子使用 `"continue": false` 拒绝工具调用时,以及托管 `prompt` 钩子阻止调用时,会拒绝调用但不结束当前轮次的问题 - 修复了托管设置中的 PostToolUse 钩子在某些会话中未应用 `updatedMCPToolOutput` 的问题 - 修复了无头会话在切换目录或重新加载插件后,会启动已针对该文件夹关闭的 `.mcp.json` 或插件 MCP 服务器的问题 - 修复了当 Claude 应用网关通过 `allowedProviders` 提供 `"gateway"` 时,会将那些在用户设置中指定了该网关的笔记本电脑锁定在外的问题 - 修复了在托管设置将 `forceLoginMethod` 设为 `gateway`、但未设置 `forceLoginGatewayUrl` 的机器上,已保存的 Claude 应用网关登录信息会被忽略的问题(2.1.295 中的回归) - 修复了当无法读取会话历史记录时,`--teleport` 会打开空对话的问题 - 修复了 Haiku 5.5 及其他仅支持自适应思考的模型的令牌计数问题;此前这些模型在某些网关后方会失败,而在其他地方则按预算思考方式计数 - 修复了恢复的子代理会被告知用户拒绝了一个实际上因会话关闭而中断的工具调用的问题 - 修复了当钩子输出包含类似插件提示标签的文本时,输出会被更改的问题 - 修复了共享转录记录和调试日志中的敏感信息脱敏会遗漏某些跟在无值键之后的值的问题,包括 shell 字符串内编写的 JSON 中的值 - 修复了在 MATE Terminal 等较旧的基于 VTE 的终端中复制后,屏幕上会打印出多余的 `52;c;…` 转义序列的问题 - 修复了在 `/diff` 面板或对话框打开期间,Toast 提示和通知会一直不可见地等待的问题 - 修复了在 `UserPromptSubmit` 钩子或 mod 的 `prompt.submit` 钩子运行期间按 Esc 或触发中断时,会结束无头会话、清除已输入的提示词,或让未经检查的提示词通过的问题 - 修复了在无头会话启动后加载的插件,其 SessionStart 钩子会因同名插件或名称的另一种拼写已运行过而被跳过的问题 - 修复了 `claude self-hosted-runner` 在注册被拒绝时打印误导性错误的问题:现在会指出相关的组织管理员设置,或说明重新启动的按需运行器需要新的工作单 - 修复了当同一仓库的另一个会话在使用 `--capacity` 大于 1 的运行器上启动时,自托管运行器会话的 git fetch、pull 和 push 操作会失败的问题 - 修复了工作流脚本会静默截断嵌套深度超过约 20,000 层的结果、代理选项及其他值,以及深度嵌套的结果会写出巨大的任务输出文件的问题 - 修复了插件提供的 `$` 方法会在主会话的工作目录而非调用代理的工作目录中运行,并忽略调用它的钩子所持有轮次的问题 - 修复了在 mod 重新加载或移除后仍在运行的 mod 钩子能够成功调用 `$.agent.register` 的问题;现在会拒绝该调用 - 修复了当响应声明的 `Content-Length` 超过 4 MiB 正文限制时,mod 中的 `$.http.fetch` 会拒绝 `HEAD` 请求的问题 - 修复了当市场名称类似 `constructor` 时,`claude plugin marketplace add`、`marketplace update` 和 `plugin install` 会因内部错误而失败的问题;现在 `add` 会明确拒绝此类名称 - 修复了名为 `constructor` 或 `prototype` 的插件密钥会在下次保存该插件选项时被删除的问题 - 修复了当功能标志尚未加载时,云会话会跳过自动模式对已由保存的权限允许的 Claude in Chrome 操作进行检查的问题 - 修复了当 MCP 工具结果已结束某个轮次时,`CLAUDE_CODE_RESUME_INTERRUPTED_TURN` 会在重启后重新运行该已完成轮次的问题 - 修复了 Bash 权限检查会自动批准某些先为 `BASH_ARGV0` shell 变量赋值再使用它的命令的问题;现在这些命令会请求批准 - 修复了 Edit 和 NotebookEdit 会替换非有效 UTF-8 文件(Windows-1252、Shift-JIS、GBK)中的每个非 ASCII 字符的问题;现在会拒绝此类编辑 - 修复了后台服务响应缓慢时,在运行 `←` 后立即发送的提示词会执行两次,其中一次在前台不可见的问题 - 修复了当 SessionStart 钩子仍在运行时发送提示词,随后使用 `←` 将会话移至后台,会导致该提示词消失的问题;提示词仍不会被发送,但现在按 `↑` 可将其恢复 - 修复了在无头会话中执行 `/clear` 后,延迟加载插件的 SessionStart 钩子输出会进入新对话的问题 - 修复了 PowerShell 命令无法读取钩子写入 `CLAUDE_ENV_FILE` 的变量的问题(当文件仅包含普通赋值时) - 修复了 Claude 将云会话称为非交互式,并在 MCP 服务器需要身份验证时建议使用 `/mcp` 或 `claude mcp` 的问题 - 修复了在云会话、Agent SDK 和 IDE 集成中,`/code-review` 会以原始 JSON 数组结尾的问题;现在审查结果会以编号列表形式输出 - 修复了自动模式偶尔会拒绝对你自己的制品进行更新,并错误地声称其共享状态已发生变化的问题 - 修复了从 claude.ai 同步的技能永远无法完成安装,并且在多个会话共享配置目录时会在每次同步时重新下载的问题 - 修复了从 claude.ai 同步的插件,在其声明的市场依赖项也从 claude.ai 同步时会被禁用的问题 - 修复了在 macOS 上,从 Linux 机器复制的插件路径指向 `/home` 下的目录时,启动会卡住的问题 - 修复了 Workflow 工具会拒绝使用 CRLF 换行符的脚本文件(例如在 Windows 上检出的文件)的问题 - 修复了在执行 `git commit -q` 或 `git -C <dir> commit` 后,OpenTelemetry `tool_result` 事件缺少 `git_commit_id` 的问题 - 修复了当消息文本包含 Unicode 行分隔符或段落分隔符(U+2028、U+2029)时,`CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` 会从保存的转录记录中丢失该消息的问题 - 修复了当提示词文本包含 Unicode 行分隔符或段落分隔符(U+2028、U+2029)时,`claude purge` 会在历史记录文件中残留该提示词的问题 - Windows:修复了长度超过约 1 KB 的 PowerShell 命令总是请求权限的问题;现在允许规则和只读检测可应用于最长 32 KB 的命令 - Windows:修复了 stdio MCP 服务器在关闭时会被强制终止的问题;现在会先关闭 stdin,只有在 300 毫秒后服务器仍在运行时才会终止其进程树 - Windows:修复了在没有 GitHub SSH 密钥的机器上,`claude plugin install` 无法从 GitHub `owner/repo` 插件源安装的问题;现在会通过 HTTPS 重试克隆 - Windows:修复了在 Git Bash 中,`rm -rf /c/Users/<name>` 在绕过权限模式下不会请求确认的问题 - 改进了全屏模式:现在鼠标指针下方的链接会显示下划线,表明其可以打开 - 通过缓存经过语法高亮的代码块,改进了以代码为主的对话中转录记录切换(ctrl+o)的响应速度 - 改进了 Claude 应用网关后方的 Claude Desktop Code 标签页:当会话无法启动时,包括机器未针对网关的 `code` 设置完成配置的情况,原因会以回复形式显示 - 改进了云会话被拒绝时的错误信息:现在会说明无法加载组织策略的原因,并指出覆盖 claude.ai 登录的 API 密钥或身份验证令牌 - 改进了 `--debug` 输出,使其能够指出自定义代理文件中无法识别的 frontmatter 字段,并针对可能的拼写错误提供提示 - 改进了自动模式:当工具调用因自动模式检查未获得可用答案而未运行时,现在会显示为灰显的“未运行”行,而不是红色错误 - 改进了钩子的 `--debug` 输出:针对工具调用、提示词、SessionStart 和 Stop 的命令钩子,现在会在完成时记录其命令、插件、结果和持续时间,从而便于识别运行缓慢的钩子 - 改进了 `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC`:如果重写大型转录记录文件所释放的空间不足 10%,则不再重写该文件 - 更新了 `/cost`、状态行、`--max-budget-usd` 和 SDK 中的成本数据,将 Sonnet 5.5 缓存读取价格调整为每百万令牌 0.10 美元(原为 0.20 美元) - 更新了内置的 dataviz 技能:在浅色模式中为第七个数据系列使用更浅的紫色,在深色模式中使用更柔和的主要文本颜色,并采用类似 1K 的紧凑型 y 轴标签 - 将预先发送的 MCP 工具描述和 MCP 服务器说明的默认限制从 2,048 个字符提高到 4,096 个字符 - 更改了 `←`:当会话移至后台期间启动轮次或 `!` 命令时,现在会停止该操作,而不是让其在不可见的情况下继续完成 - [VSCode] 修复了扩展设置中缺少 `claudeCode.spinnerVerbs` 的问题,因此 settings.json 现在可对其进行自动补全和验证;格式错误的值也不再导致聊天面板损坏 - [VSCode] 更改了 Claude in Chrome,使其像终端一样,在每个会话中执行浏览器操作前都会询问,包括通过 `@browser` 连接的会话;在当前会话中允许某个网站后,将不再重复询问 - [VSCode] 修复了在 Windows 上,写成完整 Windows 路径的聊天链接(例如 C:\repo\file.ts 或 file:///C:/repo/file.ts)无法打开文件的问题 - [VSCode] 修复了当操作系统、VS Code 或 `prefersReducedMotion` 设置开启减少动态效果时,工作指示器仍会显示动画的问题 - [VSCode] 修复了面板延迟同步消息后,例如显示器关闭或远程窗口重新连接后,提示词缓存时钟会错误显示为热缓存状态的问题 - [云会话] 在管理员设置中自托管环境的 Activity 标签页上,为 Sessions 和 Runners 列表添加了状态筛选器;可以同时选择多个状态 - [云会话] 修复了所有等待自托管运行器的云会话都会显示相同队列位置的问题;现在每个会话都会显示其前方有多少个会话 - [云会话] 修复了在 Claude 仍在云会话中回复时发送的消息,会在回复完成后跳到该回复上方的问题;现在即使重新加载后,该消息也会保持在回复下方 - [Claude Tag] 更改了 Slack 中的 Claude,使包含会话链接、模型和成本的页脚仅显示在话题串中的最新回复上;前一条回复会移除该页脚 - [Claude Tag] 修复了 Claude 的部分 Slack 回复和任务清单中,包含括号的 URL 链接会损坏的问题;此前会显示多余的括号文本并打开错误页面 - [Claude Tag] 修复了 Claude 的 Slack 回复会在仅仅看起来像十六进制颜色的代码旁显示色块的问题,例如六位数的拉取请求编号 - [Claude Tag] 为拥有 Claude Tag Admin 权限的成员添加了在 Activity 页面的 Memory 标签页中创建、编辑和删除工作区及频道记忆文件的功能 - [Claude Tag] 修复了 Claude 在 Slack 频道中发布的插件确认卡片会显示插件 ID 而非插件名称的问题 - [Claude Tag] 修复了 Claude 在 Slack 中会发布卡片,要求移除并未包含在该频道自身设置中的插件的问题;现在会改为说明该插件的来源 - [Claude Tag] 修复了在自托管环境中的会话于任务执行途中迁移到新运行器时,Claude 在 Slack 中有时会丢失回复的问题 - [Code Review] 修复了代码审查完成后,拉取请求上的 Code Review 检查有时仍保持“进行中”状态的问题;现在会显示审查结果 - [Code Review] 改进了 Code Review 管理员设置,使其在设置无法保存时说明原因(例如策略限制),而不是显示通用失败消息