Claude Code v2.1.309 发布:修复沙箱与权限检查等多项问题
v2.1.309
Claude Code v2.1.309 发布,主要修复 macOS 和 Linux 沙箱化 Bash 命令在每条命令前于沙箱外执行 shell 启动文件的问题,以及 macOS 沙箱 denyWrite glob 模式经符号链接时不生效的问题。该版本还修复了沙箱命令和自动接受的编辑可修改 --mcp-config 传入的 MCP 配置文件、被禁用的 MCP 服务器被后续权限提示重新连接等问题。此外,Windows 上 Claude Code 自身运行的许多 git 命令速度得到提升。
正文 · AI 翻译
## 变更内容
- 修复了 macOS 和 Linux 上沙箱化 Bash 命令在每条命令执行前于沙箱外运行 shell 启动文件的问题 - 修复了 macOS 沙箱 `denyWrite` glob 模式在通过符号链接到达模式所在文件夹时,未在路径的真实位置生效的问题 - 修复了沙箱化命令和自动接受的编辑能够修改通过 `--mcp-config` 传入的 MCP 配置文件的问题 - 修复了在 print 和 SDK 会话中,被禁用的 MCP 服务器被后续权限提示重新连接的问题 - 修复了 Bash 权限检查信任某条命令设置的变量、而该命令的重定向可能无法打开的问题 - 修复了 Bash 权限检查在部分复合命令中不弹出提示的问题,这些命令会在运行 git 前切换目录,且 `cd` 被包裹或带有前缀, 而普通 `cd` 则会弹出提示 - 修复了 `Edit(path)` 拒绝规则在部分同时包含子 shell 的命令中未能阻止对该路径的 Bash 重定向的问题 - 修复了工作树隔离会话接受某些带区域设置前缀的命令的问题,隔离防护本应拒绝这些命令 - 修复了 zsh 上的工作树隔离会话接受某些算术命令的问题,隔离防护本应拒绝这些命令 - 修复了 Claude Code 创建的工作树和分支检出未忽略 git replace refs 的问题,其其他 git 操作已忽略这些引用 - 修复了当配置目录通过符号链接到达时,配置文件存储写保护未生效的问题 - 修复了在读取超大嵌套 CLAUDE.md 下的文件后会话反复压缩的问题;超过大小限制的嵌套 CLAUDE.md 现在只加载其开头部分 - 修复了 ctrl+enter(立即发送)在响应开始前按下时仅将消息排队的问题, 以及在提示的钩子运行期间按下时重启钩子却将消息留在队列中的问题 - 修复了通过按键绑定的斜杠命令在 `!` 模式下于 shell 中运行的问题 - 修复了 ctrl+o 不显示其他代理和会话中仍在等待投递的消息的问题;这些消息现在会完整显示在转录内容下方,并标记为等待中 - 修复了较长的工具输出预览在表情符号处被截断的问题, 导致会话转录内容无法被 `jq` 解析 - 修复了在共享父进程 `/proc` 的 Linux 沙箱中,Read 对 PDF 页面范围报告“文件不存在”的问题 - 修复了由 Claude Desktop 托管的会话在连接刷新时消息有时丢失的问题 - 修复了当同一台电脑上的终端登录了不同账户或组织时,Claude 桌面应用中 Claude Code 会话缺少功能的问题 - 修复了 `claude remote-control` 状态行对不在 git 仓库中的文件夹将 `HEAD` 显示为分支的问题 - 修复了分屏代理队友未继承领导者命令行上给出的工具拒绝规则和 `--tools` 规则的问题 - 修复了使用 `/rename` 重命名的会话在 VS Code 窗口重新加载或非交互式 `--resume` 后,在其他会话中以生成名称显示的问题 - 修复了 `/rewind` 列表对通过 `/code-review --fix`、子代理或 shell 命令 更改了检查点文件的轮次显示“无代码更改”的问题 - 修复了 `/privacy-settings` 显示过时的“帮助改进我们的 AI 模型”值的问题;现在当该设置无法获取时也会予以说明 - 修复了当你的组织不接受反馈时,反馈功能显示“请稍后重试”的问题;现在会显示服务器的原因以及报告 bug 的位置 - 修复了过大的 /feedback 报告发送失败而非在不含转录内容的情况下重新发送的问题 - 修复了当另一个技能已占用某名称时,`--add-dir` 文件夹中的技能无法访问的问题; 现在提供为 ` : ` - 修复了当嵌套包自身的文件从 shell 中被更改时,`/verify` 和 `/code-review` 找不到该嵌套包自身技能的问题 - 修复了 /claude-api 技能声称 `ant beta:worker poll --on-work` 会向命令传递跟踪上下文的问题 - 修复了 /claude-api 技能的 C# 跟踪设置缺少来自云平台客户端的 span 的问题 - 修复了 /claude-api 技能声称发往 AWS 上 Claude Platform 的请求的 API span 无法加入调用方跟踪的问题 - 修复了在 PowerShell 中运行的钩子在钩子程序以代码 2 退出时未阻止的问题,以及在 Windows 上 `"shell": "powershell"` 的 `PreToolUse` 和 `PermissionRequest` 钩子在未安装 Git for Windows 时失败开放的问题 - 修复了某个 mod 的 `turn.step` 钩子通过别名(例如 `haiku`)指定模型时, 每个请求都因模型错误而失败的问题:该别名现在会解析为其对应的模型 - 修复了从 claude.ai 同步的插件和技能在磁盘读取错误后被移除(有时是在会话中途)的问题 - 修复了某些普通页面的 artifact 发布和更新被拒绝的问题,例如包含某些压缩脚本或 Claude 无法先读取的 artifact 的页面 - 修复了在该轮对话被压缩后,Claude 在该轮剩余时间内每次 artifact 更新都请求权限的问题 - 修复了当 `ANTHROPIC_BEDROCK_BASE_URL` 设置为默认的 `bedrock-runtime. .amazonaws.com` 端点时,Amazon Bedrock 上细粒度工具流式传输保持关闭的问题 - 修复了“Waiting for API response”提示在仅发送 keepalive ping 的网关后面闪烁的问题:Anthropic 后端之外的路由现在等待 45 秒 - 修复了 Claude 在 PR、issue 和评论中将角色名称和占位符写为提及,从而通知无关 GitHub 用户的问题 - Linux:修复了当后台命令存活时间超过会话时,沙箱写入拒绝被解除的问题 - Windows:修复了 PowerShell 权限检查自动批准某些 `Set-Location` 或 `cd` 命令的问题,这些命令以当前目录为目标并带有额外参数;现在这些命令会提示请求批准 - macOS:修复了在没有 Xcode 或 Command Line Tools 的 Mac 上每次启动 Claude Code 时都会打开“Install Command Line Developer Tools”对话框的问题 - 自托管运行器:修复了 `--startup-timeout-min` 会停止首个提示(例如 `/code-review`)仍在子代理中工作的会话的问题; 冻结的进程仍会被停止 - 提升了 Claude Code 在 Windows 上自行运行的许多 git 命令的速度;在所有平台上,这些命令的错误现在都以英文显示,即使 git 设置为其他语言 - 改进了钩子模块嵌套过深无法加载时的错误:现在会指出文件名,而不是显示裸的栈溢出消息 - 改进了磁盘已满的处理:因磁盘已满而被截断的 Bash 命令现在会说明这一点并指出要释放空间的文件夹,在已满的临时卷上启动时会打印清晰的消息,而不是原始的 ENOSPC 错误 - 改进了 /claude-api 技能,在被要求添加 OpenTelemetry 时,除 SDK 跟踪外还提供 API 跟踪 - 改进了 /claude-api 技能,在声称某项功能不受支持之前先检查实时文档 - 自托管运行器:改进了迁移到新运行器的会话:Claude 现在能看到被中断的工具调用, 标记为结果未知 - 更新了内置的 dataviz 技能,使其接受 APCA 作为文本对比度度量(在需要 AA 合规时仍保留 WCAG 2 比率),在其调色板验证脚本中添加了 `apca(text, background)` 函数,并说明彩色图表填充内的标签应使用白色还是近黑色 - 更新了 /claude-api 技能:服务账号密钥和工作负载身份联合令牌现在可以管理 OpenTelemetry 目标 - 将 `sed -i` 改为获取标准 Bash 提示符并按原样运行,而不是模拟的文件编辑预览;与其他 Bash 编辑一样,它不再由 `/rewind` 恢复 - 将 `claude ultrareview` 改为要求工作区信任:在终端上会询问,否则拒绝;脚本传入 `--trust-workspace`,该参数不接受值(将 PR 编号或基础分支放在它前面), 或设置 `CLAUDE_CODE_DISABLE_ULTRAREVIEW_TRUST_CHECK=1` - 将桌面应用和 VS Code 中绕过权限模式下危险的 `rm` 和 `rmdir` 提示改为立即拒绝该命令并给出重写提示,以便无人值守会话继续运行 - 将设置中排除在沙箱之外的命令改为:在沙箱已启用但无法运行时,写入其写入列表路径前先询问;那里的非沙箱回退会被拒绝 - 更改了工作树的创建和复用方式,使 git 不再按需获取对象,无论是在普通克隆中,还是在配置了 Bash 沙箱的部分克隆中;此类部分克隆会先获取它们 - 将 `/claude-api` 技能改为在 `multiagent_20261001` 上构建 Managed Agents 子代理团队,并默认启用动态工作流, 而不是 `coordinator` - [VSCode] 添加了一条日志警告,说明当听写或扩展自身的请求未通过证书验证时该怎么做,例如在 TLS 检查代理后面 - [VSCode] 修复了编辑器缓存了其文件的不完整副本后 Claude 面板保持空白的问题;它现在会自行恢复,或说明出了什么问题以及如何修复 - [VSCode] 修复了每次启动新会话而不发送消息时,会话历史被空的“Untitled”会话填满的问题 - [VSCode] 修复了诸如 `/goal` 之类的长斜杠命令消息填满聊天面板的问题; 它们现在像其他提示一样折叠在“显示更多”后面(anthropics/claude-code#97469) - [VSCode] 修复了聊天面板变窄后长消息不折叠在“显示更多”后面的问题 - [VSCode] 修复了聊天输入中 Ctrl+J 总是插入换行的问题:当在 ~/.claude/keybindings.json 的 Chat 上下文中将 "ctrl+j" 设为 null 时,现在交由 VS Code 和操作系统处理 - [VSCode] 修复了提示上方某个 mod 的“From the … plugin”标签被绘制在斜杠命令和 @ 提及菜单之上的问题(anthropics/claude-code#102981) - [VSCode] 修复了粘贴复制的 LaTeX 数学公式时出现空列表项、段落或代码块,以及列表项从 1 重新编号的问题 - [VSCode] 修复了当你的组织不接受反馈时,反馈错误仅显示 HTTP 状态的问题 - [VSCode] 改进了聊天面板中 Edit 和 Write 的速度:在大多数情况下,每次编辑后等待新问题的时间现在为 0.75 秒, 从 1 到 1.5 秒降至 - [Cloud sessions] 修复了例程表单中的“添加连接器”列表在仍在加载时显示没有可用连接器的问题 - [Cloud sessions] 修复了云环境编辑器打乱环境变量,并为同时包含两种引号的值添加反斜杠的问题 - [Cloud sessions] 修复了管理设置中的自托管环境详情对话框,使其标题、标签页和按钮保持可见,仅内容滚动 - [Cloud sessions] 修复了云会话中的“阅读文档”工具行显示转义 JSON 而非可读页面的问题 - [Cloud sessions] 改进了云会话的“更改”窗格,现在它会说明仅列出已推送的提交还是仅列出 Claude 的编辑 - [Claude Tag] 修复了 Slack 中的 Claude 误将你为某个频道批准的草稿发布到你的私信中的问题; 没有频道的帖子现在会被拒绝,以便它可以发送到已批准的频道 - [Claude Tag] 修复了当会话已停止时,Slack 中 Claude 审批卡片上的“允许”和“拒绝”不起作用的问题;你的回答现在会重启会话 - [Claude Tag] 修复了在其工作区迁移到其他 Claude 组织后,Claude 忽略 Slack 频道中未标记消息的问题,包括 Enterprise Grid 上的未共享频道 - [Claude Tag] 修复了 Slack 频道中的 Claude 在读取某人刚添加到该线程的较新消息之前就发布线程回复的问题 - [Claude Tag] 修复了 Claude Tag 管理设置中的 Slack 页面在列表加载失败时显示未连接任何工作区的问题;现在它会显示错误和“重试”按钮 - [Code Review] 修复了已完成的审查在之前多次尝试创建检查失败时,拉取请求上不显示检查的问题; 最后一次尝试现在会添加已完成的检查 - [Code Review] 修复了在 `@claude review stop` 之后,排队在正在运行的审查后面的推送仍会启动审查的问题;其检查现在会关闭并说明原因