← 返回更新日志

Claude Code v2.1.251

2026-08-28 · GitHub 原文
## 变更内容 - 新增 `PreModelSwitch` 和 `PostModelSwitch` 钩子事件(可阻止、确认模型切换或为其添加注释);`SessionStart` 恢复钩子现在会接收会话陈旧程度和预计的重新缓存成本 - 新增向远程控制客户端实时流式传输前台子代理的工具调用及结果(后台子代理仍默认为仅显示状态) - 为 `/usage` 新增支出限额栏,并为使用设有支出限额的 Claude 应用网关的开发者新增 `rate_limits.spend_limit` 状态行字段 - 为 `/cost` 新增每会话提示缓存行(命中率、未命中次数、重新缓存的 token 数、热/冷状态),并为状态行脚本新增对应的 `prompt_cache` 对象 - 在 `claude --help` 中新增 `attach`、`logs`、`stop`、`respawn` 和 `rm`;针对正在运行的后台会话,`--resume` 消息现在会明确显示应使用的 `claude attach <id>` 命令 - 修复文件工具(Read、Write、Edit)在权限检查后跟随工作目录内被替换的符号链接,可能导致读取或写入已批准位置之外内容的问题 - 修复市场条目中声明的插件命令能够指向插件目录之外的问题;此类路径现在会被拒绝,并显示路径遍历错误 - 修复项目设置能够启用详细的 Beta 跟踪或原始 API 请求体日志,以及较低作用域的 Beta 跟踪端点能够绕过托管设置或宿主应用固定的 OTLP 收集器的问题 - 修复 Workflow 工具在权限检查运行前读取会话无权读取的 `scriptPath`,并在错误中引用该路径的问题 - 修复 Grep 和 Glob 未对通过符号链接搜索路径找到的文件应用 `Read(...)` 拒绝规则的问题 - 修复模型在某一轮中仅生成思考内容后,对话因“text content blocks must be non-empty”错误而卡住的问题 - 修复全新安装后首次启动时,对于启动默认值为自动模式的账户,实际进入默认模式而非自动模式的问题 - 修复在 effort 为 xhigh/max 且 thinking 已关闭时,Opus 5 请求因“effort … is not supported when thinking is disabled”而失败的问题;这种情况下,effort 现在会以 `high` 发送 - 修复回复 Claude Desktop 从另一会话传来的消息时出现的问题:向该会话 ID 使用 `SendMessage` 现在会通过 Claude Desktop 送达,而不会再因“not reachable”失败 - 修复存在大量并行子代理时的 TUI 卡顿问题:每秒进度更新现在会替换上一条,而不会不断堆积在记录中 - 修复代理团队中队友的最终答复无法送达团队负责人的问题;现在该答复会随空闲通知一同送达,而不再是没有内容的“available”通知 - 修复后台子代理无法回复来自未命名同级代理或父代理的消息的问题(`from` 使用的是代理类型,而该类型并非地址) - 修复 `disableAutoMode` 托管设置在会话中途生效时,无法将已经运行的自动模式会话切回默认模式的问题 - 修复即使当前 Opus 模型已经具备 1M 上下文窗口,仍会显示“切换到 Opus 1M 以获得 5 倍更多上下文”提示的问题 - 修复 Claude 应用网关会话将已存储的 Anthropic 配置文件(例如 Console 登录)视为活动配置的问题:虽然请求从不使用该配置,但它会显示在 `/status` 中,并在网关返回 401 时用它重试 - 修复云会话中宿主仅设置会话初始模型时,却告知 Claude 模型已发生更改的问题 - 修复组织策略禁用远程控制时,远程控制报告失败的问题;现在只会显示一条低干扰通知 - 修复在远程控制中使用 `/mcp reconnect` 时,如果服务器已在另一会话中被禁用,只显示隐藏具体细节的通用错误,而不显示实际解决方法的问题 - 修复 `--input-format stream-json`:客户端注入且未携带消息 ID 的助手工具调用会被合并到第一个调用中,并丢失其结果;恢复旧会话时也会出现此问题 - 修复目录变更将会话迁移到已有同 ID 会话记录的位置时,会话记录被静默覆盖的问题 - 修复后台会话及其子代理无法编辑它们通过 `git worktree add` 创建的 Git 工作树内文件的问题 - 修复当另一个 Claude Code 进程恰好同时刷新插件市场时,后台会话偶尔在未加载任何插件技能的情况下启动,并始终保持该状态的问题 - 修复通过 SSH 在 tmux 中打开后台会话时选择文本,会退回使用 OSC 52 而不是像前台会话一样复制到 tmux 缓冲区的问题 - 修复 SDK 和云会话在 SDK MCP 服务器的握手确认丢失时无限挂起的问题;现在等待会在 70 秒后超时,并且只将该服务器标记为失败 - 修复自托管运行器强制停止卡住的会话后,仍保留该会话的 Bash 工具进程运行的问题 - 修复 Team 和 Enterprise 成员在管理员将组织的使用额度上限设为 $0 时,`/usage-credits` 会提示已达到上限的问题;现在会提供联系管理员的选项 - 修复在 gitlab.com 源上对合并请求编号使用 `--worktree --tmux` 时,���先尝试注定失败的 GitHub 风格 fetch,而不是直接获取 GitLab ref 的问题 - 修复后台会话中,对于会打开 `/dev/tty` 的编辑器(例如 `emacs -nw` 和 `micro`),按 Ctrl+G 会出现“Emacs quit unexpectedly”错误的问题 - 修复包含空字节的 `additionalDirectories` 条目会导致启动崩溃,或在该条目来自 SDK 宿主、IDE 或钩子时破坏 `/add-dir` 及后续设置更新的问题;现在会跳过此类条目 - 修复 MCP 服务器菜单的复制快捷键:现在会说明登录 URL 是如何复制的,而不再一律声称复制成功 - 修复斜体文本(例如会话回顾行)在 GNU screen 以及使用 `screen` 终端类型的 tmux 会话中显示为高亮块的问题 - 修复 `claude mcp add --header` 和 `claude mcp add-json` 帮助文本中列出错误传输方式的问题 - 修复 `claude ultrareview` 和 `/ultrareview` 在云会话启动失败时仍等待完整 30 分钟的问题;现在会提前停止并报告原因 - 修复 Bash 权限检查会自动批准向整数 Shell 变量赋算术表达式的命令(例如 `OPTIND=1/0`、`RANDOM=2+2`)的问题;此类命令现在会请求批准 - 修复转为后台运行的会话(`←`、`/background`、`--bg`)丢失 Shell 中导出的 Vertex/Bedrock 网关配置(`ANTHROPIC_*_BASE_URL` + `CLAUDE_CODE_SKIP_*_AUTH`),导致每个请求都失败的问题 - 修复 Max 方案上使用 `claude --bg --model fable` 时,即使同一账户的交互式会话仍有 Fable 配额,也会停下来请求使用额度的问题 - 修复一次性的“将自动模式设为默认模式”选项会出现在无人值守会话(例如代理团队的队友窗格)中,导致无意中的按键可能在未阅读时接受该选项的问题 - 修复使用未更改的设置再次登录同一 Claude 应用网关后,托管设置批准提示会再次出现的问题 - 修复 `/bug` 和 `/share` 被禁用时错误地报告 `/feedback` 已禁用的问题;当组织策略或环境变量关闭反馈功能时,提示、`/help` 和拒绝消息也不再建议使用 `/feedback` - 修复云会话创建在 GitHub 暂时连接失败后建议设置 GitHub 的问题;消息现在会改为提示重试 - 通过减少冗余 UI 重新渲染,降低了交互式会话在处理轮次期间的 CPU 使用率 - 减小了安装体积:原生二进制文件缩小约 5 MB - 改进云会话:当会话的网络代理在 Bash 命令执行期间断开连接时,工具结果现在会列出主机和原因,而不再只显示“connection reset” - 改进 `/schedule`:现在会说明 Claude Code 中配置的 MCP 服务器无法附加到云例程,而不再只显示“No MCP connectors” - 改进来自您自己的子代理的消息说明:Claude 现在会被告知发送者是本会话中的工作代理,而不是无关的 Claude 会话 - 改进提示输入框的占位文本:查看从子代理面板或 `/tasks` 打开的后台子代理或分支会话记录时,现在显示“Message @name…” - 改进错误消息、菜单和命令结果中 MCP 服务器名称的清理处理 - 改进 `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`(例如 Claude Desktop)环境下的 Amazon Bedrock 会话启动:获得 Bedrock 模型 ID 或 ARN 的会话不再等待推理配置文件发现 - 改进托管设置批准对话框,使其仅列出自上次批准后发生更改的设置 - 改进模型工具调用格式错误时的重试行为:现在会从重试上下文中移除损坏的输出,包括 Bedrock、Vertex 和 Foundry 上的输出 - 更改 `/radio` 的可用范围:现在可在 Bedrock、Vertex AI、Foundry、AWS 上的 Claude Platform 以及禁用遥测时使用 - 更改 Chrome 中的 Claude,使浏览器操作始终经过 Claude Code 的权限检查,包括遥测已禁用的会话;此前这些会话会使用 Chrome 扩展自身的提示 - 更改 `CLAUDE_CODE_SUBAGENT_MODEL`,使其用于设置默认子代理模型,而不是覆盖所有设置:代理定义中的 `model:` 和生成代理时明确指定的模型现在优先于该变量 - 当活动模型不是可识别的 Claude 模型(例如通过自定义 `ANTHROPIC_BASE_URL` 使用的第三方模型)时,将默认提交尾注更改为 `Co-Authored-By: Claude Code` - 将席位制 Enterprise 订阅的默认模型更改为 Opus 5,与其他高级方案保持一致 - 更改 `/effort`,按模型保存您的默认 effort 级别,使您切换模型时每个模型都能保留各自的设置 - 更改分析功能:不再仅仅因为托管设置强制使用网关登录(或无法读取托管设置)就在登录前将其关闭;通过网关登录后或设置 `DISABLE_TELEMETRY` 时,分析功能仍会保持关闭 - 更改 Bedrock、Vertex 和 Foundry 上以及遥测关闭时的页脚 PR 徽章,使其直接调用 GitHub API(通过 `gh auth token`、`GH_TOKEN` 或 `GITHUB_TOKEN`),而不再使用 `gh pr view` - 更改在沙箱中运行命令时 Bash 命令输出文件的创建和回读方式,使沙箱内的命令无法重定向或替换这些文件 - 更改插件/LSP 安装建议和自动模式默认选项,使其等待您发送或清除正在输入的内容后再出现,避免用于发送提示词的 Enter 键同时回答这些选项 - 更改由服务器管理的设置:对于终止沙箱 TLS、通过您自己的代理路由沙箱流量、注入凭据或削弱沙箱隔离的设置,现在必须先获得批准才能应用 - 更改来自托管设置或项目设置的 `ANTHROPIC_CUSTOM_HEADERS`:当它设置凭据、组织/租户、路由或 API 行为标头(例如 `Authorization`、`Host`)时,现在需要批准 - 更改项目级 `.claude/settings.json` 中的 `env`,使其不再设置 `CLAUDE_CONFIG_DIR`、`CLAUDE_CODE_TMPDIR` 或 `TMPDIR`/`TMP`/`TEMP`;请改为在 Shell、用户设置或托管设置中进行设置 - 移除了六种极少使用语言(1c、gml、isbl、mathematica、maxima、sqf)的语法高亮;二进制文件缩小了 2.5 MB - [VSCode] 修复登录界面的“Bedrock, Foundry, or Vertex”按钮打开文档页顶部,而不是第三方提供商设置章节的问题 - [VSCode] 将远程控制横幅更改为页脚胶囊按钮(在远程控制已开启或失败时显示),点击后会在 claude.ai/code 上打开会话;可使用 `/remote-control` 开启或关闭远程控制