Claude Code v2.1.304 发布
v2.1.304
Claude Code v2.1.304 新增 `/auto-mode-setup` 引导式设置,可读取项目与近期会话让 auto mode 了解环境,并已支持 Bedrock、Vertex、Foundry、Claude apps gateway 及关闭遥测的会话。该版本还新增 `/claude-api managed-agents-secure`,用于对照 Anthropic 公开安全指南检查 Managed Agents 配置且不做任何改动。此外修复了 Linux 沙箱命令启动、`rm -r` 挂载盘安全提示、插件超出 `--max-turns` 继续运行等多项问题。
正文 · AI 翻译
## 变更内容
- 当先运行的插件跳过你 mod 的某个钩子时,新增一条转录行,注明事件和插件 - 在 mod 的 `tool.check` 应答中新增 `decider: "person"`:只有权限对话框或宿主的回调可以批准该请求,在无人可询问的情况下会以 mod 的理由拒绝 - 在 mod 的 `tool.check` 事件中新增 `e.isReadOnly`,当工具调用为只读时设置 - 新增 `/auto-mode-setup`:一个引导式设置,会读取你的项目和近期会话,让 auto mode 了解你的环境,现已在 Bedrock、Vertex、Foundry、Claude apps gateway 以及关闭遥测的会话中可用 - 新增 `/claude-api managed-agents-secure`,它会将 Managed Agents 代理的设置与 Anthropic 发布的安全指南进行对比,且不做任何更改 - 在转录视图(Ctrl+O)的压缩摘要中新增此前调用的工具名称 - 在 Pro 和 Max 套餐上,当恢复一个不活跃的对话会占用你 5 小时用量限额中相当可观的一部分时新增警告:仍要恢复,或开始新对话,如果你提到之前的对话,Claude 可以查找它 - 修复了在启动时批准 `ANTHROPIC_API_KEY` 或在 `/config` 中切换“使用自定义 API 密钥”后,组织策略直到每小时检查时才刷新的问题 - 修复了当 `sandbox.filesystem.denyRead` 通配符包含非字符类的方括号(例如 `[user-id]` 路由文件夹)时,沙箱命令在 Linux 上无法启动的问题 - 修复了对挂载驱动器或其顶层文件夹(`/Volumes`、`/media`、 WSL 的 `/mnt/c`)执行 `rm -r` 时,未获得 `rm -rf /Applications` 所获得的安全提示的问题 - 修复了在文件被裁剪期间磁盘写满时,`CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` 从已保存的转录中丢弃消息的问题 - 修复了插件通过生成子代理或重新运行已完成的子代理,使无头运行超出 `--max-turns`、Stop 或已结束输入的问题 - 修复了 mod 重新加载失败时,移除仍处于加载状态的版本的工具和命令,以及其消息在说明上一版本是否仍加载时出错或静默的问题 - 修复了当标签相同且没有 `key` 的按钮被原样重绘时,对 mod 按钮的点击丢失的问题 - 修复了内置 `plugin-authoring` 技能中的 mod 共享在具有托管设置的机器上以及 Team 和 Enterprise 套餐上停在密钥扫描环节的问题 - 修复了计划中的 Cowork 云会话再次为每个子代理等待五分钟的问题,这些子代理的 WebFetch 需要 URL 批准,而当时无人可批准 - 修复了 Write 结果和被拒绝的编辑将工作目录之外的文件显示为 `../../…` 的问题;现在它们显示为 `~/…` 或完整路径 - 修复了在 Cowork 云会话中从“/”菜单选择 claude.ai Directory 插件的技能时,这些技能未作为命令运行的问题 - 修复了当终端登录了不同账户时,Remote Control 永久扣留桌面对话历史记录的问题 - 修复了在付费套餐上设置了 DISABLE_TELEMETRY 或 DO_NOT_TRACK 时,Remote Control 无法从 Claude Desktop 启动的问题 - 修复了在 SDK 和桌面会话中,模型切换、消息和中断因等待上下文用量检查而排队的问题 - 修复了 LLM 网关后出现 `context_management: Extra inputs are not permitted` 错误的问题; Claude Code 现在会在不带该字段的情况下重新发送请求 - 修复了通过服务器托管设置下发的 OpenTelemetry 设置在首次运行设置期间登录或 /logout 后首次启动后,整个会话期间被忽略的问题 - 修复了在 macOS 和 Linux 上 Claude Desktop Code 标签页会话中,未沙箱化的 Bash 命令看不到在 shell 启动文件(如 ~/.zshrc)中导出的环境变量的问题 - 修复了服务器错误后消费者条款通知被跳过一天或更长时间的问题 - 修复了网络或服务器错误后 `/privacy-settings` 提供可能不适用于你的选项的问题 - 修复了在 Claude Code 正在压缩被 API 以过长为由拒绝的对话时停止一轮后出现“上下文限制已达”或“提示过长”错误的问题 - 修复了子代理在刚完成后收到消息或被恢复时,有时忘记其最近工作的问题 - 修复了 `claude --help` 中 `--tools`、`--resume`、`--debug`、`--json-schema`、`--disable-slash-commands`、`--system-prompt-snapshot` 和 `claude update` 的文本与实际行为不符的问题 - 修复了当 HEAD 处于分离状态或在另一分支上时,`claude --worktree` 在退出时未经询问就移除工作树及其分支、可能丢失提交的问题 - 修复了恢复会话和云会话在启动时每次插件重新加载都再次向 Claude 发送整个技能列表的问题 - 修复了中断未能结束一个等待空闲管道或名称类似图像的设备的 Read 的问题 - 修复了 `/effort status`、 `/effort ultracode`,以及当 `CLAUDE_CODE_EFFORT_LEVEL` 为 `auto` 或 `unset` 且未发送任何级别时,提示中的 effort 指示器显示猜测的 effort 级别 - 修复了当同一工具调用上的 Agent SDK 回调钩子超时时,PreToolUse 钩子的拒绝原因被超时错误替换的问题 - 修复了 Bash 和 PowerShell 在无法将大命令的输出文件复制到会话的 tool-results 文件夹时将其删除的问题(磁盘已满时除外) - 修复了在宽度约 100 列以下的终端中,在带预览的多选题里输入的备注被以“…”截断、导致看不到所输入内容的问题(anthropics/claude-code#82768) - 修复了自定节奏的 `/loop` 唤醒安排在 1 小时上限、恰好在 1 小时提示缓存过期后触发,导致这些唤醒不再以未缓存方式重新读取对话的问题 - 修复了 agent teams:从主会话批准关闭请求不再退出整个 CLI - 修复了某个技能的 `once` 钩子在运行后还会移除另一个技能相同钩子的问题 - 修复了 transcript 模式下的 `{` 和 `}` 使提示落在不一致的行上或屏幕外,而不是 transcript 第一行的问题 - 修复了 `CLAUDE_CODE_AUTO_COMPACT_WINDOW=200k` 静默设置 100K 窗口的问题:该变量现在像 `--autocompact` 一样接受 `k` 和 `M` 后缀,并在值超出范围或被忽略时发出警告 - 修复了在 agents 视图中,如果在鼠标按钮释放前按下 Ctrl+C,会清除文本选择而不复制的问题 - 改进了 `/usage`,现在会说明使用数据速率限制何时结束,而不是显示“请稍后再试” - 改进了在会话中编写的 mod 加载、重新加载或加载失败时显示的行 - 改进了包含多个视图的 artifacts:当你要求提供它们的链接时, Claude 现在会写出每个视图的链接,并说明切换视图时地址栏保持不变 - 改进了云会话:新对话的第一轮不再等待从 claude.ai 同步的插件的本地(stdio)MCP 服务器,除非服务器设置了 `alwaysLoad: true` - 改进了当服务器拒绝携带其他会话数据的状态更新时,远程会话恢复其状态的方式 - 改进了自动模式下的会话文件大小:安全分类器的上下文不再随每个请求存储 - 改进了 `claude -p` 的无效设置警告:未加载的文件只列出阻止其加载的原因,长列表按文件限制长度 - 改进了 SDK 和无头模式下恢复大型压缩会话:恢复后的第一个请求发送得更早 - 改进了大量子代理同时运行时的响应速度和吞吐量 - 改进了在长对话或恢复的对话中发送请求时的内存使用 - 自托管运行器:改进了当 git 主机对会话仓库返回“未找到”时显示的错误:现在会指明仓库名称以及应向谁询问 - Windows:改进了标准 Git for Windows 安装下 git 命令的启动速度,直接运行其 git.exe 而不是通过其 cmd 启动器 - 更改了 mod 的 `settings.read` 钩子,使其接收每个设置层并重写合并后的设置,因此受管理的 mod 可以将组织设置设为上限,包括保留清理使用的 `cleanupPeriodDays` - 更改了 `/artifacts` 删除确认,显示编号选项:1 或 Enter 保留 artifact,2 删除它,y、n 和 Esc 仍然有效 - 更改了开启 Claude 在会话中编写的 mod 的问题,改为纯文本,不含链接或会话 ID;新轮次开始时它保持显示, 并且当你开启它们时 Claude 会告诉你加载了什么 - 更改了工具搜索,使其在自定义 `ANTHROPIC_BASE_URL` 下默认开启;网关返回 400 或 422 时会在不启用它的情况下重试 - 更改了压缩,之后再次向 Claude 发送技能列表;`/reload-skills` 现在只发送新增或更改的技能 - 更改了技能钩子:同一来源(一个仓库、你自己的文件夹或一个插件)的技能每个会话最多可注册 1,024 个钩子和 16,384 个匹配字符 - 更改了在仅允许来自插件的钩子的策略下的技能:在主对话中使用但其钩子被排除在外的技能不再获得其 `allowed-tools` - 更新了 /claude-api 技能,在 Claude Platform on AWS 上使用 `ant` CLI,而不是回退到 SDK 或 curl - 移除了 `claude plugin validate` 中预测 mod 的钩子将在何处运行的备注 - 移除了 Opus 5.5 上 `/fast` 对话框标题中的“(research preview)”标签 - [VSCode] 新增了在聊天面板中绘制 mod 的功能,适用于 Amazon Bedrock、Google Vertex AI 和 Microsoft Foundry 上的会话、位于 LLM 网关之后的会话,或关闭遥测的会话 - [VSCode] 修复了会话以“Subprocess initialization did not complete within 60000ms”启动失败的一个原因:SessionStart 命令钩子运行所花的时间不再计入该限制, 总计最多 10 分钟 - [VSCode] 修复了会话在启动过程中被关闭时,其 Claude Code 进程会一直运行到启动结束的问题 - [VSCode] 修复了在同时运行旧版 Claude Code 的机器上,mod 的绘图会从长时间打开的面板中消失、直到下一轮才恢复的问题 - [VSCode] 修复了设置 `claudeCode.claudeProcessWrapper` 时,Past conversations 会隐藏会话的问题 - [VSCode] 更改了后台子代理的显示方式:现在它们会在各自的 Agent 卡片下显示为一行状态,而不是把每一步都流式输出到聊天中;完整记录仍保留在 /tasks 中 - [Cloud sessions] 修复了云会话中 composer 的 @ 列表里的文件夹不显示名称的问题;此前选中一个文件夹只会添加一个空格,而不是一个提及 - [Claude Tag] 修复了当频道在任务进行中被共享到多个 Enterprise Grid 工作区后,Claude 会在该线程中静默的问题;现在它会发布一条一次性提示,告知在新线程中 @ 提及它 - [Claude Tag] 修复了在线程外输入 `@Claude !fork` 得不到可见回复的问题;Claude 现在会向你显示一条私密提示,说明需要在线程内运行该命令 - [Code Review] 为 Code Review 新增了审查级别:所有者可为组织选择 Quick、Standard(默认)或 Deep,并可为单个仓库设置各自的级别 - [Code Review] 在 Code Review 管理设置中新增了一个选项,可审查 GitHub 组织中的每个仓库,包括之后新增的仓库,而无需逐个选择 - [Code Review] 修复了在管理员开启 Code Review 后的一两分钟内打开的拉取请求会被静默跳过的问题;现在它们会被重试并接受审查