工程 / 官方
权限校验收紧,新增 EndConversation 与多项稳定性修复
Claude Code 发布 v2.1.214 版本,核心方向是收紧权限校验与修复稳定性问题。安全层面修复了 Windows PowerShell 5.1 下的权限绕过、Bash 在长命令与 zsh 变量下标场景下的误判,以及 help、man、docker 守护进程重定向等命令的自动放行问题;新增 EndConversation 工具,允许 Claude 主动终止高度滥用或越狱会话。功能层面增加了长任务心跳进度提示、记忆文件 ISO 修改时间戳、OpenTelemetry 消息级关联字段与 60KB 截断可配置项。稳定性方面修复了后台守护进程互杀、后台会话无法删除、pkill 误杀 CLI、流式输出被截断、多项 Windows 编码与编码错误,以及 OTel 事件缺失追踪上下文等长期问题。
本次安全更新针对 Bash 与 PowerShell 的权限检查做了系统性的收紧。Windows PowerShell 5.1 下曾存在权限校验绕过漏洞,现已修复;Bash 方面,超过 10000 字符的长命令、zsh 在 [[ ]] 比较中的变量下标与修饰符,以及 help、man 等可能携带危险选项与命令替换的指令,都不再自动放行,改为强制弹窗审批。Docker 命令若携带 --url、--connection、--identity 等守护进程重定向参数,同样需要用户确认。
权限规则的语义也发生了重要变更。单段 dir/** 形式的 allow 规则现在只匹配工作目录下的一级目录,而非整棵树任意位置的同名目录;若需任意深度匹配,应改写为 **/dir/**。deny 与 ask 规则保留原有任意深度匹配行为。使用 -m、--magic-file、-f、--files-from 等参数的 file 命令也从只读自动放行调整为需要审批,以避免被滥用读取任意文件。
新增的 EndConversation 工具是本次版本的功能亮点。Claude 可主动结束与高度滥用用户或越狱尝试相关的会话,与 claude.ai 自 2025 年以来的策略保持一致。开发体验方面,长时间运行的工具调用现在会周期性地发送心跳进度,避免界面看似无响应的尴尬;记忆文件 frontmatter 增加了 ISO 格式的修改时间戳,便于审计与同步。
OpenTelemetry 集成得到了显著增强。日志事件新增 message.uuid、client_request_id 与 tool_source 属性,可用于消息级关联与工具来源追溯;新增 CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH 环境变量,用以配置 60KB 的内容属性截断上限。子代理状态行载荷增加了推理力度字段,方便自定义代理行展示模型与思考强度。
Windows 平台的多项历史顽疾被集中修复,包括 PowerShell 工具读取非 UTF-8 标准输入时的 UnicodeDecodeError、非 ASCII 输出导致的 UnicodeEncodeError、PowerShell 5.1 下 > 与 >> 写入 UTF-16LE 文件引发的跨工具编码错乱,以及 where.exe、fc.exe、diff.exe 在返回有效否定结果时被误报为错误的问题。同时,企业代理环境下的 Socket is closed 关闭错误与慢消费 SDK 的流截断问题也得到处理。
后台会话管理迎来一轮深度清理。被替换的后台守护进程不再误删继任者的控制套接字;空闲的后台会话不再无限期保留守护进程与工作进程;已完成、空闲或从非 Git 目录派发的后台会话现在可以通过 claude rm 或代理视图正常删除;停止后重新打开的会话也能在存在不可读文件夹时恢复对话记录。钩子系统、计划任务与 /ultrareview 等命令的多项边界 Bug 一并修复,整体可靠性显著提升。
要点
- 权限校验全面收紧:Bash、Windows PowerShell 5.1、help/man、docker 守护进程重定向等场景的自动放行被取消,长命令与 zsh 特殊语法不再绕过审批。
- 新增 EndConversation 工具:Claude 可主动终止高度滥用或越狱会话,与 claude.ai 的端到端策略保持一致。
- OpenTelemetry 增强:消息级 UUID、客户端请求 ID、工具来源属性上线,并新增 60KB 内容截断可配置项。
- 后台会话管理修复:守护进程互杀、空闲残留、无法删除与重连失败等长期问题集中解决。
- Windows 体验改善:编码错误、流截断、企业代理兼容性与多项 PowerShell 子进程问题得到修复。