← 返回更新日志

Claude Code v2.1.260

2026-09-03 · GitHub 原文
## 变更内容 - 新增差异面板:在全屏模式下,该面板会显示在对话旁边,并在 Claude 编辑时展示你尚未提交的更改;使用 `/diff` 切换 - 在 `/cost` 和状态行的 `prompt_cache` 字段中新增提示缓存未命中的可能原因(例如工具定义或系统提示发生变化,或空闲时间超过 TTL) - 向无头会话新增 `/reload-plugins`,因此它会显示在 Claude Code Desktop 和 SDK 的命令列表中 - 为桌面应用、Remote Control 以及其他无头(`-p`/Agent SDK)会话新增 `/advisor` 的文本形式(`/advisor`、`/advisor <model>`、`/advisor off`) - 向 Claude apps gateway 新增 `oidc.scope_on_refresh`,用于支持只有在刷新时再次请求 `openid` 才会返回 `id_token` 的 IdP - Claude apps gateway 现已支持 `desktop` 策略块中的较新版 Claude Desktop 配置项,包括 `userPluginMarketplacesEnabled` 和 `userPluginUploadsEnabled` - 修复 `Edit`/`Write`/`Read` 权限规则的路径包含括号时被判定为无效或被 Bash 沙箱忽略的问题;此前这会导致标记为“只读”的文件夹仍可写入 - 修复某条文件权限规则包含无法编译的模式(例如未闭合的 `[`)时导致所有文件编辑都失败并报 `Invalid regular expression` 的问题;此类拒绝规则现在会保护其字面写出的路径 - 修复 Bash 权限检查自动批准在 `REPORTTIME`、`REPORTMEMORY` 或 `DIRSTACKSIZE` 赋值中隐藏命令替换的 zsh 命令的问题;此类命令现在会请求批准 - 修复当企业根 CA 仅存在于操作系统证书存储中时,Bedrock 模型发现、令牌计数以及 AWS SSO/STS 凭证调用因“unable to get local issuer certificate”而失败的问题 - 修复 macOS 上的 `permissions.blockReadsOutsideWorkingDirectories` 隐藏用户 git 配置,以及隐藏工作树隔离子代理自身检出目录的问题 - 修复同时拥有此前 `/login` 遗留 API 密钥的 claude.ai Enterprise/Team 用户无法加载托管设置的问题 - 修复 `/status` 将已登录的 claude.ai 账户和已配置的 API 密钥显示为同时生效的问题;未在使用的凭证现在会被标记 - 修复以捆绑技能别名为键的托管 `skillOverrides` 条目(例如以 `/doctor` 对应的 `checkup` 为键)不生效,以及 `Skill(name)` 拒绝规则无法覆盖以 `<dir>:name` 形式列出的嵌套技能的问题 - 修复 `model: fable` 代理忽略 `ANTHROPIC_DEFAULT_FABLE_MODEL` 指定值中的 `[1m]` 标签,并静默使用 200K 上下文窗口运行的问题 - 修复 `/model` 选择器不显示可供相关组织使用的 Fable 5.1;此前只有手动输入 `/model claude-fable-5-1` 才能选择 - 修复 Claude Fable 5.1 的提示缓存未覆盖工具结果之后附加的上下文,导致这些内容在每个工具调用轮次都作为未缓存输入重新发送的问题 - 修复插件钩子加载失败后模型切换在整个会话剩余时间内持续被阻止的问题;现在每次切换都会重新检查,拒绝信息也会说明原因 - 修复组织托管插件的市场无法加载时模型切换在整个会话期间被阻止的问题 - 修复 SDK 提供的 MCP 服务器(例如 Desktop 连接器)有时未出现在第一轮、直到下一轮才出现的问题 - 修复在云端托管的 claude.ai 会话中,当添加或移除连接器时,Claude in Chrome 工具在任务中途因“Not connected”而失败的问题 - 修复标志、组合表情符号和重音字母在换行时被拆分,以及标志或组合表情符号位于终端最后两列时旧文本残留在屏幕上的问题(现在会显示为 `…`) - 修复 Remote Control 接受无效模型名称的问题;现在会报错拒绝,而不是在下一条消息时才失败 - 修复 `/rewind` 和 `--rewind-files` 在检查点备份文件缺失且实际上没有恢复任何内容时仍报告成功的问题 - 修复 `/rewind` 未清理已回退轮次遗留的文件读取跟踪信息,导致出现“File unchanged since last read”占位文本,并在外部编辑后重新注入整个文件的问题 - 修复 `-p --resume`/`--continue`(桌面应用使用的方式)在会话的工作树目录丢失 git 元数据后每次重试都失败的问题;现在只会失败一次,之后会在不使用工作树的情况下恢复 - 修复一个通过 SendMessage 恢复另一个代理的子代理永远不会被该代理完成事件唤醒的问题(通知此前被发送到了主对话) - 修复代理团队问题:进程内队友的转录在长时间 API 重试等待期间丢失消息或变为空白(例如在 `CLAUDE_CODE_RETRY_WATCHDOG` 下),因为重试通知挤出了真实消息 - 修复移至后台的会话在 ListAgents 中出现两次的问题(一次是同名的虚假“interactive”副本),以及该会话在查看器中接收 SendMessage 投递的问题 - 修复多个会话共享项目目录时偶发出现“task output swap refused”错误的问题 - 修复全屏模式下按 Ctrl+Z 后 shell 停留在备用屏幕、并覆盖暂停界面的问题 - 修复 Workflow 工具子代理在长时间上下文压缩仍在进行时被重新启动并错误标记为停滞的问题 - 修复从 URL 市场安装插件时,如果宿主应用(例如 Claude Desktop)将其存储为目录,会因“marketplace entry path does not stay inside the marketplace directory”而失败的问题 - 修复在 claude.ai、桌面应用或移动端通过 Remote Control 驱动的会话中发布 artifact 时额外打开浏览器标签页的问题 - 修复在某些 Cowork 会话中 Artifact 工具首次调用因“Invalid tool parameters”验证错误而失败的问题 - 修复运行技能或斜杠命令时 IDE 行选择被丢弃的问题(现在“N lines selected”上下文会传递给 Claude) - 修复嵌套子组中的 GitLab 项目仓库检测问题(例如 `gitlab.com/group/subgroup/project`) - 修复在 GitLab 仓库中工作时,渲染输出中的 `owner/repo#123` 问题引用错误链接到 github.com 的问题;现在会链接到 gitlab.com 上对应的问题 - Glob/Grep:修复权限检查前先在磁盘上探测搜索路径的问题;现在会在确定权限后报告路径不存在,与 Read 的行为一致 - 回退 2.1.259 中将 `Read()` 拒绝规则应用于 Bash 参数的更改;该更改会在所有模式下因 `Read(./**/build/**)` 规则拒绝 `npm run build`,并导致 `cd … && grep` 即使在自动模式下也请求批准 - 改进结构化输出:Workflow `agent({schema})` 现在会预先拒绝永远无法满足的 JSON Schema,重试次数上限错误现在会包含最后一次验证失败信息 - 改进删除工作树包含未推送提交的后台会话时的行为:消息现在会说明分支和提交数量;再次删除时会丢弃工作树 - 改进 Claude apps gateway 的刷新失败日志,现在会说明失败的步骤 - 降低非交互式(`-p` / SDK)会话的空闲 CPU 使用率 - 改进 Amazon Bedrock 上的 Claude apps gateway:中止请求的输入令牌现在通过 AWS 免费的 CountTokens API 计数(需授予 `bedrock:CountTokens`),不再通过发送一个令牌的请求来计数 - 改进对 `Edit(C:\dir\(name)\**)` 等规则的设置错误提示;由于 `\(` 会被解释为转义括号而非路径分隔符,现在会建议使用无歧义的写法 - 改进 1M 上下文模型的自动压缩:Opus 和 Fable 会在接近 1M 令牌上限前不久进行压缩,并且超大上下文中的恢复性压缩不再在 10 分钟后超时 - 改进 `/ultrareview` 和 `claude ultrareview`,等待长时间运行的云端审查的最长时间从 30 分钟延长至 45 分钟 - 改进 Claude Fable 5.1 上的 `/effort`,在会话中途更改 effort 不再使提示缓存失效 - 更新捆绑的 `claude-api` 技能,使其 Go、Java 和 C# 示例使用当前代际的模型 ID,并明确更便宜的工作器或子代理模型也应使用当前代际模型 - 更改全屏模式下 `ctrl+l` / `cmd+k` 的行为:现在会像终端中的 `clear` 一样清除转录视图;向上滚动即可查看较早的消息 - 更改带有右括号后文本的权限规则(例如 `Bash(ls) x`)的处理方式;这类规则此前从不匹配任何内容,现在会被报告为无效设置,而不是静默忽略 - 更改服务器托管设置:托管的 CLAUDE.md(`claudeMd`)不再触发安全批准对话框;钩子、shell 命令、沙箱和不安全的 `env` 设置仍需批准 - 更改 Claude in Chrome,使其遵循组织的 Claude in Chrome 管理设置;管理员将其关闭后,`--chrome`、`/chrome` 和浏览器工具将不可用 - 更改 Claude apps gateway,使其以 Claude Desktop 1.15200.0 及更高版本读取的列表形式发送 `orgPluginSettings`;旧版桌面应用会忽略该字段 - 更改 Claude apps gateway:当 `desktop` 策略中的 `managedMcpServers` 或 `orgPluginSettings` 条目内嵌套对象的字段拼写错误时,现在也会拒绝启动,并说明出错字段 - 更改在 `!` Bash 模式提示符中输入的命令的行为:即使启用了严格沙箱模式(`sandbox.allowUnsandboxedCommands: false`),这些命令也会在沙箱外运行,与直接在自己的终端中输入命令一致 - 更改自托管运行器的 `--kill-session-after-min`:对于仅在等待用户、处于暂停状态且可在下一条消息中恢复的会话,现在会释放会话,而不是终止会话并报告失败 - 移除子代理启动的后台命令的一小时时间限制;现在这些命令会一直运行,直到退出或被停止,与主会话保持一致 - [VSCode] 在底部模型标签中新增所选 effort 等级,修复切换模型后 effort 等级显示过期的问题,并将底部标签恢复为之前的紧凑尺寸 - [VSCode] 在会话列表的状态筛选菜单中新增 Open 和 Closed - [VSCode] 修复 Remote Control 自动开启时,新会话中欢迎屏幕消失的问题 - [VSCode] 修复会话历史选择器在某个会话已在其他标签页打开时再次加载该会话的问题;现在会切换到已有标签页 - [VSCode] 修复标签页视图正在重新加载时,标签页的 Rename 命令静默无效的问题;现在始终会应用重命名 - [VSCode] 修复 Claude Code 重试已丢失的响应后,半完成的消息、空工具卡片或额外的“Thought for”行仍停留在屏幕上的问题 - [VSCode] 修复“Enable Remote Control for all sessions”在切换开关时仍处于启动状态的会话标签页中不生效的问题