外部精选
Claude Code · v2.1.301
本文来自外部来源,不是黄奕彬的原创文章。本站提供原文入口,并在采集端生成 AI 结构化摘要、解读与中文翻译(如有),一切以原文为准。
阅读原文(github.com)结构化摘要 AI 生成
背景与问题
这是 Claude Code 在 GitHub Releases 发布的 v2.1.301 版本说明,属于不可变 release(仅标题与说明可修改),关联提交 03b5892。面向 Claude Code 的现有用户,要回答的问题是:相对此前版本,本版本新增了哪些功能、修复了哪些缺陷、改变了哪些行为,供用户评估升级与排查问题。
方法或内容
正文为一条 What's changed 清单,按 Added / Fixed / Improved / Changed 组织,并按平台细分(VSCode、Windows、Self-hosted runner、Fullscreen mode)。主要动作包括:
- 新增重试看门狗环境变量与 OpenTelemetry 事件字段
- 新增 vim 模式
%动作与 mod 多行 Input - VS Code 面板新增 LaTeX 数学渲染
- 修复大量模型切换、压缩、登录刷新、hook、终端兼容等缺陷
关键发现 / 结果
关键变更点:
- 新增
CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS:当用量限额重置时间过远时,无人值守重试模式(CLAUDE_CODE_RETRY_WATCHDOG)结束请求而非等待 - OpenTelemetry
tool_decision事件新增classifier_verdict与permission_mode,可区分 auto 模式分类器决策与权限规则;OTEL_LOG_TOOL_DETAILS=1时新增classifier_category - vim 模式新增
%:跳转到匹配括号,可单独用或与d/c/y连用 - mod 新增多行文本 Input:Enter 提交,Shift+Enter 或 Enter 前加反斜杠换行
- fable(及 best)别名在最新 Fable 模型对组织不可用时,改为在 Anthropic API 上回退重试上一个 Fable 模型一次
- 切换到更小上下文窗口的模型时,过长对话先由前一个模型总结
- 修复项包括:对话被反复压缩、短命令中途退出导致登录刷新超时与意外登出、Read 将
.xlsm/.parquet/.epub/.heic当文本读取、skills/commands/hooks 参数过多时的卡顿与大内存占用、/rewind后技能不再列出等 - VS Code 新增 LaTeX 数学渲染,含
$$、多行\[ … \]、行内$…$与\(…\)
结论与意义
原文为发布说明,未给出论述性结论或统计数据。其意义在于:v2.1.301 以缺陷修复为主,覆盖登录与压缩等稳定性、OpenTelemetry 可观测性、vim 与终端兼容等编辑体验,以及 VS Code、Windows、自托管 runner、移动端等多平台。
适用边界:仅针对该版本及其提及的产品形态与环境;原文未说明性能指标与影响面数据。
AI 解读 AI 生成
方法:按「时空变量」分析(时间 / 空间 / 变量,严格区分包含、相关与因果),对象包括原文作者、署名人员与关键技术及其实际原理;结论用「元反空」(元思考、反思考、空思考、综合)整理。
时间:何时发生,现在是否仍成立
来源日期为 2026年10月16日 03:22(北京时间),即北京时间 2026-10-16 03:22:06 发布。全部条目描述该时刻发布的 v2.1.301 版本内容,属即时生效的版本变更。原文未说明这些变更是否在后续版本中保留或调整,因此现在是否仍成立无法从原文判断。
空间:谁的环境 / 场景
适用于 Claude Code v2.1.301(提交 03b5892)。覆盖的使用形态包括:
- 终端 CLI(含 vim 模式;VTE 低于 0.53 的终端如 RHEL 8 上的 MATE Terminal、部分
iTerm2版本) - VS Code 与 JetBrains 面板、桌面与移动端应用
- 自托管 runner(含从 Slack 发起的会话)
- Windows(PowerShell)
- LLM gateway 场景、Claude Platform on AWS(含 Bedrock、CMEK 外部密钥端点)
部分条目绑定额外条件,如 Pro/Max 计划、组织可用模型。
变量:实际改变了什么
相对此前的实际改变:
- 新增环境变量
CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS,改变CLAUDE_CODE_RETRY_WATCHDOG在限额重置过远时的行为(结束请求而非等待) tool_decision事件新增classifier_verdict、permission_mode、classifier_category(末者需OTEL_LOG_TOOL_DETAILS=1)- skills/commands 参数填充改为仅前 64 个名字、每个至多 64 字符
- mod hook 的
.catch仅在 hook 抛错或超时时运行 $.env.set改为解析为{}或{ deny }- 切换到小上下文模型时先由前一个模型总结对话
- 其余为缺陷修复与 UI/渲染改进;价格变更原文未说明
区分:包含 ≠ 相关 ≠ 因果
多数条目为因果式修复陈述,如『磁盘满导致登录无法刷新,进而出现误导性 /login 错误』,修复即移除该因果链;因果证据为发布者声明,原文无复现步骤或数据。部分条目仅为条件共现描述,如 LLM gateway 响应命名不同模型时发生重复压缩,原文未论证网关为何导致该行为,因果关系不确定。
VS Code/桌面/移动端的 48 行与终端的 12 行树是不同平台的容量并列差异,属包含/并列而非因果。原文未提供任何统计或实验数据。
对象:作者/署名与关键技术原理
署名:ashwin-ant(来自结构化作者字段)。关键技术按原文描述:
- 重试看门狗:
CLAUDE_CODE_RETRY_WATCHDOG的无人值守重试模式,配合新变量在限额重置过远时结束请求 - OpenTelemetry:
tool_decision事件用于区分 auto 模式分类器决策与权限规则 - mods:含 Input 多行输入、
$.model.fork、$.env.set、hook.catch - vim 模式:
%匹配括号跳转、NORMAL/INSERT 行为 - 模型别名:fable/best 在最新 Fable 模型不可用时回退到上一个 Fable 模型
- 自托管 runner:
deniedMcpServers在托管设置限制 MCP 服务器时保持 Slack 会话可用 - 其他:PreToolUse hook、artifacts 发布、compaction、
awsAuthRefresh与 Bedrock
原文未说明这些机制的底层实现原理。
元反空综合结论
元:这条内容本质是回答『v2.1.301 相对之前改了什么』,服务于升级决策与已知问题排查,不是技术论述。
反:最可能失效或有边界的部分——终端兼容修复绑定特定终端版本(VTE < 0.53、部分 iTerm2);Fable 回退依赖组织模型可用性;参数截断到前 64 个/每个 64 字符可能在超长参数场景改变行为;deniedMcpServers 方案依赖托管设置形态。这些边界原文内已限定,后续版本走向原文未说明。
空:去掉发布叙事后剩下的必要事实是——一次以修复为主的版本发布,新增一个环境变量、若干 OTel 字段、vim % 动作、mod 多行输入、VS Code LaTeX 渲染,并修复数十项跨平台缺陷;无性能数据、无统计、无定价信息。
综合:作为官方 release notes,其可信度以发布者声明为限,适合作为该版本行为差异与已知问题的对照清单使用;不适用于推断产品路线或量化改进幅度。
中文译文 AI 生成
不可变发布。仅发布标题和说明可被修改。
03b5892
变更内容
- 新增
CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS,使无人值守重试模式(CLAUDE_CODE_RETRY_WATCHDOG)在用量限制的重置时间过于遥远时结束请求,而不是一直等待 - 为
claude-api技能新增了 OpenTelemetry 追踪指南,包括使用antCLI 配置追踪目标 - 在 vim 模式中新增
%动作:跳转到匹配的括号,可单独使用,也可与 d/c/y 配合使用 - 为 mod 的 Input 新增了行:终端中的一个多行文本字段,其中 Enter 提交,Shift+Enter 或在 Enter 前输入反斜杠可另起新行
- 在 OpenTelemetry 的
tool_decision事件中新增classifier_verdict和permission_mode,以便将 auto 模式分类器的决策与权限规则区分开 - 在 OpenTelemetry 的
tool_decision事件中新增classifier_category,当OTEL_LOG_TOOL_DETAILS=1时,它会指出分类器拦截所命中的内置规则名称 - 修复了退出时在可能包含未推送提交的情况下,未经询问就删除由
WorktreeCreate钩子创建的 worktree 的问题 - 修复了当最新的 Fable 模型对你的组织不可用时,
fable(以及best)模型别名在 Anthropic API 上报错的问题:Claude Code 现在会在上一个 Fable 模型上重试一次 - 修复了磁盘已满导致登录无法刷新时出现具有误导性的“Please run
/login”错误的问题;该错误现在会指明是哪个磁盘,并提示删除文件 - 修复了搜索程序在返回任何结果之前意外失败时,
Grep和Glob报告无匹配的问题;它们现在会返回一个说明搜索失败的错误 - 修复了 workflow 代理在读取到 harness 备注(说明其任务文本不携带用户授权)后有时跳过自己的步骤、而运行仍报告成功的问题
- 修复了在
PreToolUse钩子覆盖Edit或Write时 artifact 更新被拒绝的问题;Claude 现在会先编辑文件再重新发布,而不是在发布调用中修改它 - 修复了参数名数量很多或很长的技能与命令在被调用时卡顿数秒的问题;现在仅填入前 64 个名称,每个最多 64 个字符
- 修复了技能、命令和钩子在其参数填充大量占位符时占用极大内存的问题
- 修复了在基于早于 0.53 的 VTE 构建的终端(如 RHEL 8 上的 MATE Terminal)中,类似
>0q的杂散字符覆盖文件夹信任提示、退出时在 shell 提示符前出现>4m的问题 - 修复了某些版本的
iTerm2中启动时提示符处出现杂散 GOK 文本的问题 - 修复了当提供商不是 Bedrock 时,切换到名称包含
application-inference-profile的模型会运行你的awsAuthRefresh命令并延迟模型切换钩子的问题 - 修复了
claude auth status或claude plugin list等短命令在令牌刷新中途退出后导致登录刷新超时和意外登出的问题 - 修复了工具调用在权限检查期间被回合中途发送的消息切断时,被报告给模型为用户已拒绝的问题
- 修复了切换到上下文窗口较小的模型时,可能未经询问就消耗用量额度让前一个模型生成摘要的问题
- 修复了在 LLM 网关(其响应中报告的模型与所请求的模型不一致)后,对话被反复压缩、且使用你未选择的模型的问题
- 修复了在缓慢或繁忙的机器上,vim 模式有时在按 Escape 后仍停留在 INSERT 的问题
- 修复了 vim 模式下 Esc 丢弃已输入的
AskUserQuestion回答的问题:自由文本字段现在支持 vim NORMAL 模式,Esc 仅在 NORMAL 模式下取消 - 修复了
Read工具将.xlsm、.parquet、.epub和.heic等二进制文件当作文本读取的问题 - 修复了仅含表头的 Markdown 表格在超出终端宽度时什么都不绘制的问题,计划审批卡片中的计划里也包括在内
- 修复了
/claude-api技能声称 CMEK 外部密钥端点在 Claude Platform on AWS 上不可用的问题 - 修复了使用
/rewind后技能不再被列给模型的问题 - 修复了恢复的会话中压缩行提供
ctrl+o查看尚未加载的历史的问题;它现在会说明较早的消息保存在哪里,并且也会在全屏模式下显示 - 修复了“new task?
/clearto save tokens”提示在你中断响应后立即再次出现的问题 - 修复了插件或技能钩子的 ask 决策的权限提示未显示该钩子来自哪个插件或技能的问题
- 修复了当其某个 git 检查超时或失败时,
/diff未察觉 reftable 仓库中冲突的 cherry-pick 或 revert 的问题 - 修复了在同一会话中执行 Bash
cd后,workflow 脚本在读取、编辑或重新运行时请求权限或被拒绝的问题 - 修复了深色 ANSI 主题与 16 色终端上的暗淡文本:在填充框内呈暗淡,在选中和搜索高亮下不呈暗淡,列表描述则像其他次要文本一样变暗
- 修复了 mod 的
$.model.fork在新的 Claude Code 进程的首次响应完成之前被调用时返回 nothing-to-fork 的问题,例如在claude -p运行和云端会话中 - 全屏模式:修复了
/compact和自动压缩在重建可见转录时短暂冻结 UI 的问题 - 自托管 runner:修复了当托管设置限制 MCP 服务器时,从 Slack 启动的会话无法找到或附加仓库的问题;可使用
deniedMcpServers屏蔽这些工具 - 自托管 runner:修复了当无关的设置或会话失败引用了 git 的 missing-ref 措辞时,会话被报告为源分支已删除且未被重试的问题
- 自托管 runner:修复了日志为正在结束的会话承诺重试已失败或被拒绝的会话释放的问题;重复失败现在会显示次数
- Windows:修复了已停止的后台 PowerShell 命令在其输出文件中缺少结尾
[killed]行的问题 - 改进了切换到上下文窗口较小的模型:对新模型而言过长的对话现在会先由前一个模型进行摘要
- 改进了长时间运行的 subagent 工作期间的渲染性能:其进度轨迹现在增量更新,而不是在每次渲染时完整重新处理
- 改进了 artifacts:Claude 编写的页面现在会在粘性头部上方绘制一条条带,因此在移动应用中,滚动的文本不再显示在那里。
- 改进了 mods:在 VS Code 以及桌面和移动应用中,绘制于提问对话框上方的树现在可以承载 Markdown,最多 48 行;终端仍保持 12 行纯文本行。
- 更改了 mod hook 的
.catch处理器,使其仅在 hook 抛出异常或超时时运行;在 hook 自身调用之下引发的事件现在会跳过该 hook,而不会询问其.catch。 - 更改了 mod 的
$.env.set:一旦变量被设置或取消设置,它现在会以{}resolve;当未执行写入时,则以{ deny }resolve 并说明原因。 - [VSCode] 在 Claude 的回复中新增了 LaTeX 数学公式渲染,包括
$$和多行\[ … \]块,以及行内$…$和\(…\)数学公式。 - [VSCode] 在 VS Code 和 JetBrains 面板中,为 Pro 和 Max 套餐的用量限制横幅新增了 "Get more usage" 链接。
- [VSCode] 修复了某个会使面板崩溃或冻结的对话在每次重新加载时被重新打开的问题。
- [VSCode] 修复了聊天面板在长时间思考期间变慢的问题:它不再在每次更新时重新解析整个思考文本。
- [VSCode] 修复了对于某些语言服务器,诊断信息显示
[object Object]而非规则代码(如MD013)的问题。 - [VSCode] 修复了在不提供听写功能的场景(非 claude.ai 登录、远程窗口)下,为检查麦克风权限而加载原生听写音频模块的问题。
展开原文提取正文(采集端自动提取,可能有缺失)
Immutable release. Only release title and notes can be modified.
03b5892
What's changed
Added CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS so unattended retry mode (CLAUDE_CODE_RETRY_WATCHDOG) ends a request at a usage limit that resets too far away instead of waiting Added OpenTelemetry tracing guidance to the claude-api skill, including setting up trace destinations with the ant CLI Added the % motion to vim mode: jump to the matching bracket, alone or with d/c/y Added rows to a mod's Input: a text field of several lines in the terminal, where Enter submits and Shift+Enter or a backslash before Enter starts a new line Added classifier_verdict and permission_mode to OpenTelemetry tool_decision events, so auto mode classifier decisions can be told apart from permission rules Added classifier_category to OpenTelemetry tool_decision events, naming the built-in rule a classifier block matched, when OTEL_LOG_TOOL_DETAILS=1 Fixed quitting removing a worktree made by a WorktreeCreate hook without asking when it may hold unpushed commits Fixed the fable (and best) model alias erroring on the Anthropic API when the newest Fable model is not available to your organization: Claude Code now retries once on the previous Fable model Fixed a misleading "Please run /login" error when a full disk keeps the login from being refreshed; the error now names the disk and says to delete files Fixed Grep and Glob reporting no matches when the search program failed unexpectedly before returning any results; they now return an error saying the search failed Fixed workflow agents sometimes skipping their step, and the run still reporting success, after reading the harness note that their task text carries no user authority Fixed artifact updates being refused where a PreToolUse hook covers Edit or Write; Claude now edits the file and then republishes instead of changing it in the publish call Fixed skills and commands with very many or very long argument names stalling for seconds when invoked; only the first 64 names, each up to 64 characters, are now filled in Fixed skills, commands and hooks using very large amounts of memory when their arguments fill many placeholders Fixed stray characters such as >0q covering the folder trust prompt, and >4m before the shell prompt at exit, in terminals built on VTE older than 0.53 such as MATE Terminal on RHEL 8 Fixed stray GOK text appearing in the prompt at startup in some versions of iTerm2 Fixed switching to a model whose name contains application-inference-profile running your awsAuthRefresh command and delaying model-switch hooks when the provider is not Bedrock Fixed sign-in refresh timeouts and unexpected sign-outs after a short command such as claude auth status or claude plugin list exited in the middle of a token refresh Fixed a tool call cut off by a message sent mid-turn during its permission check being reported to the model as rejected by the user Fixed a case where switching to a model with a smaller context window could spend usage credits on a summary by the previous model without asking first Fixed conversations being compacted over and over, on a model you didn't pick, behind an LLM gateway whose responses name a different model than the one requested Fixed vim mode sometimes staying in INSERT after Escape on a slow or busy machine Fixed Esc discarding a typed AskUserQuestion answer in vim mode: the free-text field now supports vim NORMAL mode, and Esc cancels only from NORMAL Fixed the Read tool reading binary files such as .xlsm, .parquet, .epub and .heic as text Fixed a Markdown table with only a header row drawing nothing when too wide for the terminal, including in plans on the plan approval card Fixed the /claude-api skill saying CMEK external-key endpoints aren't available on Claude Platform on AWS Fixed skills no longer being listed to the model after using /rewind Fixed the compaction row in a resumed session offering ctrl+o for history that is not loaded; it now says where the earlier messages are saved, and also shows in fullscreen Fixed the "new task? /clear to save tokens" hint coming back right after you interrupt a response Fixed the permission prompt for a plugin or skill hook's ask decision not showing which plugin or skill the hook comes from Fixed /diff not noticing a conflicted cherry-pick or revert in reftable repositories when one of its git checks timed out or failed Fixed workflow scripts asking for permission or being refused when read, edited or re-run after a Bash cd in the same session Fixed dim text on the dark ANSI theme and 16-color terminals: faint inside filled boxes, not faint under selection and search highlights, and list descriptions dimmed like other secondary text Fixed a mod's $.model.fork returning nothing-to-fork when called before the first response of a new Claude Code process had finished, as in claude -p runs and cloud sessions Fullscreen mode: Fixed /compact and auto-compact briefly freezing the UI while the visible transcript is rebuilt Self-hosted runner: Fixed sessions started from Slack being unable to find or attach a repository when managed settings restrict MCP servers; use deniedMcpServers to keep those tools off Self-hosted runner: Fixed sessions being reported as having a deleted source branch, and not retried, when an unrelated setup or session failure quoted git's missing-ref wording Self-hosted runner: Fixed the log promising a retry of a failed or declined session release for a session that is ending; repeated failures now show a count Windows: Fixed stopped background PowerShell commands missing the closing [killed] line in their output file Improved switching to a model with a smaller context window: a conversation too long for the new model is now summarized by the previous model first Improved rendering performance while a long-running subagent works: its progress trail now updates incrementally instead of being reprocessed in full on every render Improved artifacts: pages Claude writes now paint the band above a sticky header, so scrolled text no longer shows there in the mobile apps Improved mods: in VS Code and the desktop and mobile apps, a tree drawn above the question dialog can now hold Markdown and up to 48 rows; the terminal keeps 12 plain rows Changed a mod hook's .catch handler to run only when the hook throws or times out; events raised beneath the hook's own calls now skip that hook without asking its .catch Changed a mod's $.env.set to resolve with {} once the variable is set or unset, or with { deny } saying why when the write is not made [VSCode] Added LaTeX math rendering in Claude's responses, including $$ and multi-line \[ … \] blocks and inline $…$ and \(…\) math [VSCode] Added a "Get more usage" link to the usage-limit banner for Pro and Max plans in the VS Code and JetBrains panels [VSCode] Fixed a conversation that crashes or freezes the panel being reopened on every reload [VSCode] Fixed the chat panel slowing down during long thinking: it no longer re-parses the whole thinking text on every update [VSCode] Fixed diagnostics showing "[object Object]" instead of the rule code (e.g. MD013) for some language servers [VSCode] Fixed the native dictation audio module being loaded, to check microphone permission, where dictation is not offered (non-claude.ai sign-ins, remote windows)
原文入口
阅读原文(github.com)原文将在新窗口打开。收录时间不是内容更新时间;正文、译文与解读的版权归原作者/来源所有,本站仅作个人阅读辅助并保留原文入口;页面时间均为北京时间。
了解来源批准与收录规则