← 返回更新日志

Claude Code v2.1.214

2026-07-18 · GitHub 原文
## 变更内容 - 修复了单段 `dir/**` 允许规则(如 `Edit(src/**)`)会自动批准树中任意位置嵌套 `dir/` 目录的写入,而非仅限 `<cwd>/dir` 的问题 - 修复了影响 Windows PowerShell 5.1 会话中运行的命令的权限检查绕过问题 - 修复了 Bash 权限检查在文件描述符重定向形式(Bash 解析方式与权限分析器不同)上未能正确拒绝的问题 - 修复了 Bash 权限检查误判超长命令的问题——超过 10,000 个字符的命令现在始终会提示,而非自动运行 - 修复了 Bash 权限检查将 `[[ ]]` 比较中的 zsh 变量下标和修饰符视为惰性文本的问题——这些命令现在会提示审批 - 修复了 Bash 权限检查不再自动批准某些可能运行不安全选项、命令替换或反斜杠路径的 `help` 和 `man` 命令 - 修复了远程会话中权限提示可能在本地确认对话框之前继续执行的问题 - 添加了 EndConversation 工具:Claude 可以像自 2025 年以来在 claude.ai 上那样,结束与高度滥用用户或越狱尝试的会话——请参阅 https://www.anthropic.com/research/end-subset-conversations - 添加了对长时间运行的工具调用的周期性进度心跳,此前这些调用会处于静默状态 - 在内存文件前言中添加了 ISO 格式的 `modified` 时间戳 - 为 OpenTelemetry 日志事件添加了 `message.uuid`、`client_request_id` 和 `tool_source` 属性,用于消息级关联和工具来源追踪 - 添加了 `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` 环境变量,用于配置 OpenTelemetry 内容属性上 60 KB 的截断限制 - 在 `subagentStatusLine` 负载中添加了推理努力度,以便自定义代理行能够渲染模型和努力度 - 为携带守护进程重定向标志(`--url`、`--connection`、`--identity` 以及 Podman 远程模式)的 `docker` 命令(包括 Podman 的 docker 垫片)添加了权限提示,此前这些命令会在没有提示的情况下运行 - 修复了当 GrowthBook 功能评估为 null 时导致的崩溃,以及格式错误的标志负载可能清除缓存的特性标志的错误 - 修复了 Bash 工具在 `pkill -f` 模式意外匹配到 CLI 自身进程时杀死 Claude 会话的问题(Linux) - 修复了当 `--settings` 指向设备文件或数 GB 文件时导致的内存无限增长问题;超过 2 MiB 的设置文件现在会在启动时失败并显示明确错误 - 修复了 Windows 上企业代理后面出现 "Socket is closed" 错误的流式会话失败 - 修复了对于慢速读取的 SDK/管道消费者,在退出时 stream-json 输出被截断的问题;退出时的排空现在会根据排队的字节数动态调整,而非固定 2 秒上限 - 修复了计划任务将其自身配置的提示视为不可信输入而拒绝的问题——触发的提示现在作为会话分配的任务交付 - 修复了当子进程等待标准输入时 PowerShell 工具命令挂起直至超时的问题(Windows) - 修复了 PowerShell 工具下运行的 Python 脚本在从标准输入读取非 UTF-8 数据时因 UnicodeDecodeError 而崩溃的问题(Windows) - 修复了通过 PowerShell 工具运行的 Python 脚本在输出非 ASCII 时因 UnicodeEncodeError 而崩溃,以及 PowerShell 7 错误消息包含原始 ANSI 转义序列的问题(Windows) - 修复了 PowerShell 工具将 `where.exe`、`fc.exe` 和 `diff.exe` 报告为错误(当它们返回有效的否定答案时)的问题(Windows) - 修复了在 Windows PowerShell 5.1 下使用 PowerShell 工具的 `>` 和 `>>` 会写入 UTF-16LE 文件,导致其他工具无法将其作为 UTF-8 读取的问题 - 修复了后台守护进程在关闭时误删其继任者的控制套接字,从而导致下一个客户端误杀死健康替代守护进程的问题 - 修复了使用 `←` 或 `/background` 暂停并保持空闲的后台会话会无限期地保持后台守护进程和工作进程存活的问题 - 修复了后台服务进入空闲状态后,已完成的无法通过 `claude rm` 或代理视图移除的后台会话 - 修复了从非 git 文件夹派发的后台会话无法从代理视图删除的问题 - 修复了重新打开已停止的后台会话时,如果会话存储中存在无法读取的文件夹,则无法恢复其保存的对话的问题 - 修复了 Remote Control 的 "session ready" 推送通知在未显式启用 Remote Control 的会话中被触发的问题 - 修复了 `/install-github-app` 和 `/mcp` 设置菜单在代理视图会话中被阻止的问题——现在仅在未连接终端的后台会话中被拒绝 - 修复了通过 `--settings` CLI 标志启用的插件未加载的问题(自 v2.1.181 以来的回归) - 修复了在 OAuth 令牌轮换后,长时间运行的会话中特性标志变为过时的问题 - 修复了 `/ultrareview` 在没有合并基的仓库中拒绝运行的问题——现在它会提供审查所有追踪文件的选项 - 修复了当 shell 配置路径是一个目录时,`claude update` 和 `claude doctor` 静默挂起,以及 `/status` 系统诊断部分变为空白的问题 - 修复了在保存内存文件时,内存文件前言中的值在遇到内联 `#` 时被静默截断的问题 - 修复了会话成本和令牌遥测在发出多个累积 `message_delta` 帧的流上重复计数的问题 - 修复了在顾问思考时出现虚假的 "检查网络" 警告的问题 - 修复了当钩子的 stdout JSON 未能通过模式验证时,退出码为 2 的钩子未能按文档说明进行阻塞的问题 - 修复了在会话的异步上下文之外发出的 OTel 日志事件缺少交互跨度追踪上下文的问题 - 修复了 MCP 在提示/资源刷新期间的瞬态错误会清除服务器斜杠命令和资源的问题 - 改进了 `claude rc` 在家目录中的工作区信任错误提示,说明信任永远不会保存,并建议从项目目录运行 - 更改了单段 `dir/**` 钩子 `if:` 条件,使其仅匹配 `<cwd>/dir`;要匹配任意深度,请使用 `**/dir/**`。`deny`/`ask` 权限规则保留其任意深度匹配。 - 更改了使用 `-m`/`--magic-file` 或 `-f`/`--files-from` 的 `file` 命令,现在需要权限,而不是自动允许为只读 - 更改了 keep-alive 连接池的行为,在遇到过期连接错误后禁用,以便重试时打开新的套接字 - 更改了 SessionStart 钩子,当会话作为分支开始时,报告来源为 `"fork"` 而非 `"resume"`