Claude Code v2.1.260 发布说明
更新内容
- 新增了一个差异面板,在全屏模式下会紧邻对话侧边打开,并在 Claude 编辑时显示您尚未提交的更改;可通过命令
/diff切换 - 在
/cost命令以及状态栏的prompt_cache字段中,增加了导致提示词缓存未命中的可能原因(例如工具定义或系统提示发生变更、空闲时间超过 TTL) - 为无头会话新增了
/reload-plugins命令,使其同时出现在 Claude Code Desktop 和 SDK 的命令列表中 - 为桌面应用、远程控制及其他无头(
-p/Agent SDK)会话,新增了/advisor的文本形式(/advisor、/advisor、/advisor off) - 在 Claude 应用网关中新增了
oidc.scope_on_refresh配置项,适用于那些仅在再次请求openid时才会在刷新时返回 id_token 的身份提供商 - Claude 应用网关现已支持在
desktop策略块中使用较新的 Claude Desktop 密钥,包括userPluginMarketplacesEnabled和userPluginUploadsEnabled - 修复了 Bash 沙盒会将路径中包含括号的
Edit/Write/Read权限规则视为无效或直接忽略的问题,该问题会导致“只读”文件夹变为可写 - 修复了因正则表达式模式无法编译(如未闭合的
[)而导致所有文件编辑均报错Invalid regular expression的权限规则;此类拒绝规则现会严格保护其指定的字面路径 - 修复了 Bash 权限检查会自动批准将命令替换隐藏在 REPORTTIME、REPORTMEMORY 或 DIRSTACKSIZE 赋值语句中的 zsh 命令的问题;此类命令现需用户明确批准
- 修复了当企业根 CA 仅存在于操作系统证书存储中时,Bedrock 模型发现、令牌计数以及 AWS SSO/STS 凭证调用会因“无法获取本地签发者证书”而失败的问题
- 修复了 macOS 上
permissions.blockReadsOutsideWorkingDirectories设置会使得沙盒环境下的 git 无法读取用户的 Git 配置,以及隔离工作树的子代理无法访问自身检出的问题 - 修复了 claude.ai Enterprise/Team 用户在仍保留旧版
/loginAPI 密钥的情况下,托管设置无法正确加载的问题 - 修复了
/status命令会将已登录的 claude.ai 账户与已配置的 API 密钥同时列出,仿佛两者均处于生效状态;现会明确标注当前未使用的凭据 - 修复了以捆绑技能别名(如
/doctor对应的checkup)为键的托管skillOverrides条目不生效,以及Skill(name)拒绝规则未能覆盖以:name形式列出的嵌套技能的问题 - 修复了
model: fable类型的代理会忽略ANTHROPIC_DEFAULT_FABLE_MODEL固定值上的[1m]标记,从而静默使用 20 万上下文窗口运行的问题 - 修复了对于有权使用 Fable 5.1 的组织而言,
/model选择器并未显示该版本,只有手动输入/model claude-fable-5-1才能接受 - 修复了 Claude Fable 5.1 的提示词缓存机制未能覆盖工具调用结果附带的上下文,导致每次工具调用时该部分都被作为未缓存的输入重新发送的问题
- 修复了插件钩子加载失败后,会话余下时间模型切换一直被锁定的问题;现每次切换都会重新检查,并明确拒绝的具体原因
- 修复了当组织管理的插件市场无法加载时,会话内模型切换会被全程禁止的问题
- 修复了由 SDK 提供的 MCP 服务器(如桌面连接器)有时会在第一轮中缺失,仅在下一轮才出现的问题
- 修复了在云端托管的 claude.ai 会话中,Chrome 版 Claude 的工具会在任务中途因“未连接”而失效,尤其是在添加或移除连接器时
- 修复了旗帜、组合表情符号及带变音符号的字母在换行时被截断,以及当旗帜或组合表情位于终端最后两列时,残留文字会滞留在屏幕上(现以
…表示)的问题 - 修复了远程控制会接受并非有效模型名称的选型;现将直接报错拒绝,而非等到下一条消息时再出问题
- 修复了
/rewind和--rewind-files在检查点备份文件缺失、实际并无任何内容恢复的情况下仍报告成功的错误 - 修复了
/rewind会在回退后的轮次中遗留过时的文件读取记录,从而导致出现“自上次读取以来文件未变”的占位条目,并在外部编辑后重新注入整份文件的问题 - 修复了
-p --resume/--continue(桌面应用所用)在会话的工作树目录丢失 Git 元数据后,每次重试都会失败的问题;现改为首次失败一次,随后在无工作树的情况下继续 - 修复了通过 SendMessage 继续另一代理的子代理,不会因该代理完成而被唤醒的问题(通知反而会发送至主对话)
- 修复了代理团队:在长时间 API 重试等待期间(如受
CLAUDE_CODE_RETRY_WATCHDOG控制),正在进行中的队友对话会丢失消息甚至变为空白,因为重试通知挤出了真实消息 - 修复了移至后台的会话会在 ListAgents 中重复出现(一次是以同名的“交互式”幽灵副本身份),并在查看器中继续接收 SendMessage 消息的问题
- 修复了多会话共享项目目录时偶发的“任务输出交换被拒绝”错误
- 修复了全屏模式下按下 Ctrl+Z 后,Shell 会停留在备用屏幕,覆盖在已暂停的界面之上
- 修复了 Workflow 工具的子代理会在长时上下文压缩尚未完成时就被重启的问题
- 修复了来自 URL 插件市场的插件在安装时会因“插件条目路径未位于插件目录内”而失败的情况,尤其是当宿主应用(如 Claude Desktop)将其作为目录存储时
- 修复了在您通过 claude.ai、桌面应用或移动端(远程控制)操控的会话中发布工件时,会额外打开一个浏览器标签页的问题
- 修复了 Artifact 工具在部分协作会话中首次调用时因“工具参数无效”验证失败的问题
- 修复了在运行技能或斜杠命令时 IDE 中的行选会被清除的问题(“已选 N 行”的上下文现会传递给 Claude)
- 修复了对 GitLab 项目在嵌套子组中的仓库检测问题(如
gitlab.com/group/subgroup/project) - 修复了渲染输出中
owner/repo#123引用在 GitLab 仓库中工作时会链接到 github.com 的问题;现统一指向 gitlab.com 的对应 issue - Glob/Grep:修复了搜索路径会在权限检查之前就被磁盘探测的问题;缺失路径现将在权限判定之后按 Read 规则予以报告
- 撤销了 2.1.259 版本中将
Read()拒绝规则应用于 Bash 参数的改动;该改动在每种模式下都会依据Read(./**/build/**)规则拒绝npm run build,并使cd … && grep即使在自动模式下也需用户确认 - 改进了结构化输出:Workflow 的
agent({schema})现会提前拒绝根本无法满足的 JSON Schema,且重试次数不足的错误信息中也会包含最后一次验证失败的内容 - 改进了删除带有未推送提交的工作树的后台会话流程:消息中会明确标注分支与提交数量,再次删除时则会一并丢弃工作树
- 改进了 Claude 应用网关在刷新失败时的日志,使其能够准确指出具体是哪一步骤发生了问题
- 改进了非交互式(
-p/SDK)会话的空闲 CPU 使用情况 - 改进了 Amazon Bedrock 上的 Claude 应用网关:对于被中止的请求,其输入令牌现将通过 AWS 免费的 CountTokens API(需授予
bedrock:CountTokens权限)进行统计,而非按单个令牌计费 - 改进了类似
Edit(C:\dir\(name)\**)这样的规则设置错误:当\(被误认为转义括号而非路径分隔符时,系统会建议更明确的写法 - 改进了 100 万上下文模型的自动压缩机制:Opus 和 Fable 会话现在会在即将达到 100 万令牌上限前及时压缩,而针对超大上下文的恢复性压缩也不再设 10 分钟的超时限制
- 改进了
/ultrareview和claude ultrareview,使其在处理耗时较长的云端审核时最长等待时间延长至 45 分钟(此前为 30 分钟) - 改进了 Claude Fable 5.1 上的
/effort设置,使得会话中途调整力度不再导致提示词缓存失效 - 更新了内置的
claude-api技能,使其 Go、Java 和 C# 示例代码均采用最新一代的模型 ID,并明确指出更经济的 Worker 或子代理模型也应为最新一代 - 将全屏模式下的
ctrl+l/cmd+k改为清空对话视图,如同终端的clear命令;向上滚动即可查看历史消息 - 将那些在右括号后附加文字(如
Bash(ls) x)且从未匹配任何内容的权限规则,从默认忽略改为作为无效设置予以报告 - 改变了服务器托管的设置方式:托管的 CLAUDE.md(
claudeMd)现不再触发安全审批对话框;但挂钩、shell 命令、沙盒以及不安全的env设置仍需审批 - 将 Chrome 版 Claude 的行为调整为遵循您所在组织的 Chrome 版 Claude 管理设置;当管理员将其关闭时,
--chrome、/chrome以及浏览器工具均不可用 - 将 Claude 应用网关发送
orgPluginSettings的格式调整为 Claude Desktop 1.15200.0 及更高版本所读取的列表形式;旧版桌面则会忽略 - 将 Claude 应用网关的启动拒绝规则进一步细化:当
desktop策略中关于managedMcpServers或orgPluginSettings条目的嵌套对象字段拼写错误时,网关将明确指出具体是哪个字段出错 - 将
!Bash 模式提示符下输入的命令调整为即使在严格沙盒模式(sandbox.allowUnsandboxedCommands: false)开启时,也应在沙盒外执行,如同直接在自己的终端中输入一样 - 将自托管 Runner 的
--kill-session-after-min改为仅在会话完全依赖用户、处于暂停且可于下一条消息恢复时才予以释放,而非直接终止并记录失败 - 取消了子代理发起的后台命令一小时时限;现允许其持续运行直至退出或被停止,与主会话保持一致
- [VSCode] 将当前选定的力度等级添加至底部模型药丸中,修复了切换模型后力度等级仍保持旧值的问题,并使底部药丸恢复到此前的紧凑尺寸
- [VSCode] 在会话列表的状态筛选菜单中新增了“开放”与“关闭”选项
- [VSCode] 修复了当远程控制自动开启时,欢迎界面会在新会话中消失的问题
- [VSCode] 修复了会话历史选取器会在某会话已在其他标签页打开时再次加载该会话的问题;现会直接切换至该标签页
- [VSCode] 修复了会话标签页的“重命名”命令在标签页视图重新加载期间会悄然失效的问题;现会始终生效
- [VSCode] 修复了当 Claude Code 重试因响应丢失而中断时,半成品消息、空工具卡片或多余的“思考”行会滞留在屏幕上的问题
- [VSCode] 修复了“为所有会话启用远程控制”开关在翻动时,若目标会话仍在启动过程中,则该设置无法生效的问题
评论
?
参与讨论