Claude Code 专区效率辅助代码辅助技术文档Bug排查技术复盘
Claude Code v2.1.309:修复沙箱与 MCP 配置问题
原标题:v2.1.309
变更内容
- 修复了在 macOS 和 Linux 上,沙箱化的 Bash 命令在每条命令执行前于沙箱外运行 shell 启动文件的问题
- 修复了 macOS 沙箱中
denyWrite的 glob 模式在通过符号链接到达模式所在文件夹时,未在路径的真实位置生效的问题 - 修复了沙箱化的命令和自动接受的编辑能够修改通过
--mcp-config传入的 MCP 配置文件的问题 - 修复了已被禁用的 MCP 服务器在 print 和 SDK 会话中被后续权限提示重新连接的问题
- 修复了 Bash 权限检查信任由重定向可能打开失败的命令所设置变量的问题
- 修复了当
cd被包裹或带有前缀时,Bash 权限检查对某些先切换目录再运行 git 的复合命令不发出提示的问题,如今其表现与对普通cd的检查一致 - 修复了
Edit(path)拒绝规则在同时含有子 shell 的某些命令中未能阻止指向该路径的 Bash 重定向的问题 - 修复了工作树隔离会话接受某些带区域设置前缀、而隔离防护本应拒绝的命令的问题
- 修复了 zsh 上工作树隔离会话接受某些算术命令、而隔离防护本应拒绝的问题
- 修复了 Claude Code 创建的工作树和分支检出未忽略 git replace 引用的问题,使其与它的其他 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 模型”取值的问题;现在当无法获取该设置时,它也会加以说明 - 修复了当你的组织不接受反馈时,反馈仅提示“稍后重试”的问题;现在它会显示服务器的原因以及报告错误的位置
- 修复了过大的 /feedback 报告失败,而非在不含对话记录的情况下重新发送的问题
- 修复了当另一个技能已占用其名称时,
--add-dir文件夹中的技能无法访问的问题;现在该技能以<folder>:<name>提供 - 修复了当嵌套包的自身文件从 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 上未安装 Git for Windows 时带有
"shell": "powershell"的PreToolUse和PermissionRequest钩子失败开放的问题 - 修复了模块的
turn.step钩子通过别名(例如haiku)指定模型时,导致每个请求都因模型错误而失败的问题:该别名现在会解析为其对应模型 - 修复了从 claude.ai 同步的插件和技能在磁盘读取错误后被移除(有时在会话中途被移除)的问题
- 修复了某些普通页面(例如含有某些压缩脚本的页面,或 Claude 无法先行读取的产物)的产物发布和更新被拒绝的问题
- 修复了当该回合中对话被压缩后,Claude 在该回合剩余时间内每次产物更新都请求权限的问题
- 修复了当
ANTHROPIC_BEDROCK_BASE_URL设置为默认的bedrock-runtime.<region>.amazonaws.com端点时,Amazon Bedrock 上细粒度工具流式传输保持关闭的问题 - 修复了在仅发送保活 ping 的网关后面,“等待 API 响应”提示闪烁的问题:通过 Anthropic 后端的路由现在等待 45 seconds
- 修复了 Claude 通过在 PRs、议题和评论中将角色名称和占位符写为提及,从而通知了无关的 GitHub 用户的问题
- Linux:修复了当后台命令的存活时间超过会话时,沙箱写入拒绝被解除的问题
- Windows:修复了 PowerShell 权限检查自动批准某些针对当前目录并带有额外参数的
Set-Location或cd命令的问题;这些命令现在会提示批准 - macOS:修复了在没有 Xcode 或命令行工具的 Mac 上,每次 Claude Code 启动时都打开“安装命令行开发者工具”对话框的问题
- 自托管运行器:修复了
--startup-timeout-min停止一个会话的问题,该会话的第一个提示(例如/code-review)仍在子代理中处理;冻结的进程仍会被停止 - 提升了 Claude Code 在 Windows 上自行运行的许多 git 命令的速度;在所有平台上,即使 git 设置为其他语言,这些命令的错误现在也以英语显示
- 改进了当钩子模块嵌套过深无法加载时的错误提示:现在它会指出文件名,而不是显示单纯的堆栈溢出消息
- 改进了磁盘已满的处理:因磁盘已满而被截断的 Bash 命令现在会说明这一点并指出需要释放空间的文件夹,在已满的临时卷上启动时会打印清晰的消息,而不是原始的 ENOSPC 错误
- 改进了 /claude-api 技能,使其在被要求添加 OpenTelemetry 时,能够提供 API 跟踪以及 SDK 跟踪
- 改进了 /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 - 将 Desktop 应用和 VS Code 中绕过权限模式下危险的
rm和rmdir提示更改为立即拒绝该命令并给出重写提示,以便无人值守的会话继续运行 - 更改了设置中排除在沙箱之外运行的那些命令,使它们在沙箱已启用但无法运行期间,写入沙箱写入列表路径前会先询问;在该情况下非沙箱回退会被拒绝
- 更改了工作树创建和复用,使 git 不再按需获取对象,无论是普通克隆还是配置了 Bash 沙箱的部分克隆;此类部分克隆会先获取这些对象
- 更改了
/claude-api技能,使其在multiagent_20261001上以默认开启的动态工作流构建 Managed Agents 子代理团队,而不是使用coordinator - [VSCode]添加了一条日志警告,说明当听写或扩展自身的请求未能通过证书验证(例如位于 TLS-inspecting 代理之后)时该怎么做
- [VSCode]修复了编辑器缓存了其文件的不完整副本后 Claude 面板保持空白的问题;现在它会自行恢复,或说明出了什么问题以及如何修复
- [VSCode]修复了每次你在不发送消息的情况下开始新会话时,会话历史中填满空的“未命名”会话的问题
- [VSCode]修复了较长的斜杠命令消息(例如
/goal)撑满聊天面板的问题;它们现在与其他提示一样折叠在“显示更多”之后(#97469) - [VSCode]修复了聊天面板变窄后较长的消息不折叠在“显示更多”之后的问题
- [VSCode]修复了聊天输入框中的 Ctrl+J 总是插入换行的问题:当 ~/.claude/keybindings.json 的 Chat 上下文中将“ctrl+j”设置为 null 时,现在交由 VS Code 和 OS 处理
- [VSCode]修复了模块的“来自……插件”标签在提示上方被绘制到斜杠命令和 @ 提及菜单之上的问题(#102981)
- [VSCode]修复了粘贴复制的 LaTeX 数学公式时,出现空列表项、段落或代码块,以及列表项从 1 重新编号的问题
- [VSCode]修复了当你的组织不接受反馈时,反馈错误仅显示 HTTP 状态的问题
- [VSCode]改进了聊天面板中 Edit 和 Write 的速度:在大多数情况下,每次编辑后等待新问题的时间现在为 0.75 seconds,从 1 至 1.5 seconds 降低
- [Cloud sessions]修复了例程表单中的“添加连接器”列表在仍在加载时显示没有可用连接器的问题
- [Cloud sessions]修复了云环境编辑器打乱环境变量,并为同时包含两种引号的值添加反斜杠的问题
- [Cloud sessions]修复了管理设置中自托管环境详情对话框的问题,使其标题、标签页和按钮保持在视野中,而只有内容滚动
- [Cloud sessions]修复了云会话中的“读取文档”工具行显示转义的 JSON 而非可读页面的问题
- [Cloud sessions]改进了云会话的“更改”窗格,现在当它仅列出已推送的提交或仅列出 Claude 的编辑时,会加以说明
- [Claude Tag]修复了 Slack 中的 Claude 误将你为某个频道批准的草稿发布到你的 DM 中的问题;没有频道的发布现在会被拒绝,以便其能够发往已批准的频道
- [Claude Tag]修复了当会话已停止时,Slack 中 Claude 审批卡片上的“允许”和“拒绝”不起作用的问题;你的回答现在会重启会话
- [Claude Tag]修复了在其工作区迁移到不同的 Claude 组织(包括 Enterprise Grid 上未共享的频道)后,Claude 忽略 Slack 频道中未标记消息的问题
- [Claude Tag]修复了 Slack 频道中的 Claude 在读取某人在该话题中新添加的较新消息之前就发布话题回复的问题
- [Claude Tag]修复了 Claude Tag 管理设置中的 Slack 页面在列表加载失败时显示未连接任何工作区的问题;现在它会显示错误以及“重试”按钮
- [Code Review]修复了当先前创建检查的尝试失败时,已完成的审查未在拉取请求上显示检查的问题;最后一次尝试现在会添加已完成的检查
- [Code Review]修复了在正在运行的审查之后排队的推送在
@claude review stop之后仍启动审查的问题;其检查现在会关闭并说明原因
这条更新,对你有用吗
分享你的判断
正在确认评价状态
评论
仅支持文字,审核通过后展示。0/4000 字符
正在读取评论…