快讯版本更新

Claude Code 2.1.299 到 2.1.300 更新:走中转站时不再把 key 带给 Anthropic,长对话闲置会先压缩

10 月 14 日 Claude Code 发布两个版本:配了 ANTHROPIC_BASE_URL 时,发给 Anthropic 的功能开关等请求不再带上中转站的 key;20 万 token 以上的对话闲置会在缓存过期前先压缩;写 GBK 文件不再悄悄转成 UTF-8;MCP 允许规则和 hooks 的改写变严。

发布 · 约 8 分钟读完 · 经人工审核()· 本站的内容怎么来的

本页目录(7 节)
  1. 走中转站的人要知道的
  2. 新功能
  3. 原来的配置可能要改
  4. 和安全有关的修复(2.1.299)
  5. 和中文、编码有关的修复(2.1.299)
  6. 其他值得知道的修复
  7. 版本一览

2026 年 10 月 14 日,Claude Code 发布了 2.1.299 和 2.1.300。版本号跳过了 2.1.297 和 2.1.298,更新日志里没有这两个版本。两个版本加起来有 280 多条改动,和本站读者关系最大的是四点:

  • 走中转站的人建议升级。 配了 ANTHROPIC_BASE_URL 时,Claude Code 发给 Anthropic 自己地址的几类请求,之前会带上你给中转站配的 key;经中转站的流式回复,180 秒没有数据就会被断开,现在等 300 秒。
  • 很长的对话放着不动,会在缓存过期之前先压缩,回来接着聊时不用整段重新处理。
  • 写 GBK 等非 UTF-8 文件时,不再悄悄转成 UTF-8。 这是接着 2.1.296 对编辑工具的修复。
  • 几处规则变严了:MCP 的允许规则只认写全名的服务器,hooks 改写的工具参数要合法。原来的配置可能要改。

这是 2.1.295 到 2.1.296 之后的两个版本。下面按“对你有什么影响”整理,不逐条翻译更新日志。

走中转站的人要知道的

发给 Anthropic 的请求不再带中转站的 key(2.1.299)

接上中转站以后,Claude Code 除了把模型请求发给中转站,还会去连 Anthropic 自己的地址,取功能开关之类,本站在《Claude Code 的网络和数据》里实测过。更新日志说,配了 ANTHROPIC_BASE_URL 时,这里面的功能开关、启动、快速模式、账号资料和反馈这几类请求,之前会带上给第三方网关配的 API key,现在修好了。用的是 Anthropic 自己的 API key 时照旧会发。

同一个版本还修了另一处:托管设置文件里写了 ANTHROPIC_BASE_URL 时,向 Anthropic 取服务端托管设置的请求也会带上第三方网关的 key。

流式回复等待时间从 180 秒改成 300 秒(2.1.299)

经自定义 ANTHROPIC_BASE_URL 的流式回复,之前 180 秒收不到数据就会被中断;现在等 300 秒,不管功能开关有没有取到。模型想得久、迟迟没有输出时,以前可能在这里被断开。

接近 20 万 token 时不再误报(2.1.299)

在自定义 ANTHROPIC_BASE_URL 后面用网关专用的模型名时,对话接近 20 万 token 会以“Prompt is too long · automatic compaction failed”结束,请求根本没发出去。现在修好了。

大请求默认压缩(2.1.300)

发往 api.anthropic.com 的大请求,现在即使关了遥测也用 gzip 压缩,设 CLAUDE_CODE_GZIP_REQUEST_BODIES=0 可以关掉。更新日志写的是 api.anthropic.com,没有说发往中转站的请求会不会压缩。

新功能

长对话闲置会先压缩(2.1.299)

终端里一段超过 20 万 token 的对话,放着不动约 54 分钟之后,会在一小时的提示缓存过期之前自动压缩。回来再发消息时,不用把整段对话重新处理一遍。压缩是怎么回事,见《会话和上下文》。

想做的事 怎么设
改门槛(默认 20 万 token) 环境变量 CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS
关掉 settings.json 里写 "idleCompaction": false

@ 文件只给路径(2.1.299)

新增环境变量 CLAUDE_CODE_DISABLE_FILE_MENTIONS:用 @ 提到的文件,Claude 拿到的是路径,自己用文件工具去读,不再把整个文件的内容直接放进对话。

/usage 的提醒更多(2.1.299)

/usage 会对最高的 effort、工作流、常驻的上下文和很大的工具结果给出提醒。之前 /usage、接近上限的提示和状态栏有时显示用量超过 100%,也修好了。

OpenTelemetry 多了缓存的拆分(2.1.300)

api_request 事件新增 cache_creation_5m_tokens 和 cache_creation_1h_tokens,把写缓存的 token 按 5 分钟和 1 小时两种缓存分开记;链路追踪的 span 加了 GenAI 语义约定的属性,比如 gen_ai.conversation.id、gen_ai.tool.name、error.type。Claude Code 的用量监控见《用 OpenTelemetry 看自己的 Claude Code 用量》;自己写程序调 API 时的追踪是另一套,见《给 Claude API 接上 OpenTelemetry》。

写 mod 的人

  • 新增 prompt.change hook:提示框里的文字不是因为打字而变化时触发,比如调出历史、清空、撤销、插件填入(2.1.300)。
  • agent.spawn hook 现在可以改写工作流代理的 prompt 和 model,以前对工作流代理只能拒绝(2.1.300)。
  • 提示框装饰新增 virtualText,画在提示框里但不进草稿和提交的内容;$.ui.view({ agentId }) 在主视图里显示某个代理的对话;Text 新增 dir,支持从右到左的文字(2.1.300)。
  • Text 新增 size、weight、mono、tabular,bold 改用 weight;Box 有了命名的间距档位 xs 到 xl(2.1.299)。

mod 的写法见《Claude Code mod 进阶》。

其他

  • 代理视图里可以用 /effort 和 /fast 设新会话的默认值(2.1.299)。
  • VS Code 扩展新增 claudeCode.attachSelection 设置,可以不让编辑器里选中的文字自动加进消息(2.1.300)。
  • Claude Platform on AWS 上新增 /advisor(2.1.300)。

原来的配置可能要改

  • MCP 的允许规则只认写全名的服务器(2.1.299)。 mcp__a 不再放行一个叫 a__b 的服务器,也不再放行 a_。要放行某个服务器的全部工具,写 mcp__<服务器的完整名字>__*。代理定义里的 tools: 列表同样只认点名的服务器。反过来,名字里带双下划线的服务器,之前 deny 和 ask 规则对它不生效,现在生效了。
  • hooks 改写的参数要合法(2.1.300)。 PreToolUse 和 PermissionRequest hook 返回的 updatedInput,现在和 Claude 自己给的参数一样要过校验:不认识的键被丢掉,工具不接受的参数会让这次调用被拒绝。用 hook 改写命令的,升级后测一遍。updatedInput 的用法见《Claude Code Hooks 速查》。
  • UserPromptSubmit hook 提前运行(2.1.299)。 现在它在 skill 和自定义斜杠命令展开之前运行,hook 拦下提示词时,命令里嵌的 shell 也不会再跑。
  • claude remote-control 去掉了 --sandbox 和 --no-sandbox(2.1.300)。 这两个参数本来就没有效果,现在传了会报错退出。要给会话开沙箱,在设置里写 sandbox.enabled。
  • 退出时会强制结束后台命令(2.1.300)。 要求停止 1.5 秒后还在跑的后台命令会被强制结束。之前在全屏模式下可能一直留着。
  • 本地的会话记录写得更全(2.1.300)。 每个 API 请求的系统提示、工具和参数也会记下来,方便分享时完整复现一次请求。把会话记录发给别人之前,留意里面有什么。
  • 退出时打印的恢复命令改用会话 ID(2.1.299)。 不再用会话名,免得会话名里的内容在你粘贴这一行时被当成命令执行。

和安全有关的修复(2.1.299)

  • 沙箱里的命令之前能往 --plugin-dir 指定的目录里写文件,而 Claude Code 会在沙箱外重新加载、运行那里的代码。
  • macOS 上,被禁止的路径如果经过符号链接,沙箱里的命令之前能用真实路径读写它;denyRead 等规则里,文件夹名带花括号、圆括号或反斜杠的写法,设置检查和沙箱之前理解得不一样。
  • 计划模式下,被 PreToolUse hook 或 mod 的 tool.check 放行的写操作之前会真的执行。
  • Windows 上没装 Git for Windows 时,没指定 shell 的 PreToolUse 和 PermissionRequest hook 出错会放行;现在出错就拦住。
  • 没写说明的代理队友,任务说明里之前会留下提示词里的一部分凭据。
  • 插件 hook 拿不到要检查的动作、或者交不回答复时,这个动作现在被拒绝,不再放行。
  • /ultrareview 上传仓库失败时,不再建议 git add .,那样可能把 .env 之类没跟踪的文件加进去。
  • rm 的确认更准:shell 的 -c 脚本里根本没有 rm 时不再询问。

沙箱的配置见《沙箱怎么配》。

和中文、编码有关的修复(2.1.299)

  • Write 不再把 Windows-1252、Shift-JIS、GBK、UTF-16BE 的文件悄悄转成 UTF-8,改为拒绝写入,也不再丢掉文件开头的 BOM。Read 读带 BOM 的 UTF-16LE 文件也不再乱码。2.1.296 修的是 Edit 和 NotebookEdit,这次轮到 Write 和 Read。老项目里有 GBK 文件的,Claude 仍然改不了它们,要先转成 UTF-8。
  • 中文或 emoji 和英文混排的文字,换行时在某些终端宽度下会丢掉最后一行,或者多出一个空行。
  • 很窄的终端里,挤在一格宽的列里的中文和 emoji 下面会多出空行;宽字符旁边的文字有时被切两次,颜色变化处的 emoji 会消失。

其他值得知道的修复

  • 某个 MCP 工具的输入格式被 API 拒绝时,之前对话的每一轮都会报 400;现在这个工具在剩下的对话里不带参数发送(2.1.300)。
  • 自动工具搜索(ENABLE_TOOL_SEARCH=auto)会在对话中途关掉,比如恢复会话后 MCP 服务器重连时(2.1.300)。
  • 代理类型的 hook 忽略自己设的 model;现在 haiku 这样的别名能用,模型不可用时退回调用方的模型,而不是放行(2.1.300)。
  • 后台命令还在跑时退出,SessionEnd hook 有时不运行(2.1.300)。
  • Claude 会在后台命令运行时去轮询它的输出文件,或者 sleep 干等(2.1.300)。
  • 回复在输出上限处被截断、请求又退回非流式之后,这一轮会悄悄结束,不重试也不报错(2.1.299)。
  • 一张超大的图片被 API 拒绝后,长对话里之后新附的图片每一轮都会丢(2.1.299)。
  • MCP 走 HTTP 时,服务器不结束对通知的回复,连接会卡 30 秒然后失败(2.1.299)。
  • claude -p 遇到设置文件校验失败时什么也不说;现在文本输出模式会在 stderr 列出文件和出错的那一项(2.1.299)。
  • 夏令时结束的那个重复的小时里,定时任务和循环会在每一轮之后再触发一次,或者提前触发(2.1.299)。
  • 用 git reftable 引用存储的仓库里,--worktree 有几处问题:分支显示成 .invalid、重新打开工作树失败、.git/worktrees 里留下文件夹(2.1.299、2.1.300)。

版本一览

版本 发布日期 要点
2.1.299 10 月 14 日 发给 Anthropic 的请求不再带第三方网关的 key、流式等待 300 秒、闲置压缩、Write 不再转码、MCP 允许规则变严、多项沙箱和 hooks 的安全修复
2.1.300 10 月 14 日 hooks 的 updatedInput 校验、大请求默认 gzip、会话记录记下完整请求、OpenTelemetry 的缓存拆分、mod 的 prompt.change

发布日期按 GitHub 上版本说明的时间(UTC)。两个版本里还有大量针对云端会话、Remote Control、Cowork、VS Code 扩展、Slack 里的 Claude 和代码评审的改动,这里没有展开,完整的条目请看官方更新日志。

来源

通过 API 中转站使用这些模型?到 Veridrop 免费检测中转站给你的是不是它声称的模型,或者看看中转站排行榜前 100 名。

相关文章