Claude Code 2.1.306 到 2.1.307 更新:/claude-api 能把代码迁到 API 新版本,走网关时不再多发一个 beta 头
10 月 21 日 Claude Code 连发 2.1.306 和 2.1.307:/claude-api api-version 帮你把代码迁到 API 新版本 2026-10-21;走自定义网关时不再发 prompt-caching-scope 头;HTTP 的 MCP 工具断线后不再重复调用会改数据的工具。
2026 年 10 月 21 日(UTC),Claude Code 先后发布了 2.1.306 和 2.1.307。2.1.306 只有两条修复,2.1.307 有 40 多条。和本站读者关系最大的是三点:
/claude-api api-version(2.1.307)。 同一天 Claude API 出了新版本2026-10-21,各语言 SDK 也出了大版本。这个新子命令帮你把项目里调 Claude API 的代码改成新版本的写法,再把请求切到新版本。- 走自定义网关时,不再多发
prompt-caching-scope这个 beta 头(2.1.307)。 设了自定义ANTHROPIC_BASE_URL(比如接中转站)和在 Foundry 上,这个头本来就不起作用,以前照发,现在不发了。 - HTTP 的 MCP 工具,连接中途断开时不再重复调用(2.1.307)。 以前会把这次调用再发一遍;现在只有只读或者幂等的工具才重试,会改数据的工具不会被调两次。
这是 2.1.305 之后的两个版本。下面按“对你有什么影响”整理,不逐条翻译更新日志。服务器上 ccdemo 的 Claude Code 现在是 2.1.306,本站没有用 2.1.307 实测,2.1.307 修的问题有一条在 2.1.306 上复现过,见下文。
和 API 新版本有关的
/claude-api api-version(2.1.307)
/claude-api 是 Claude Code 自带的 skill,按子命令做不同的事。新加的 api-version,按 skill 文档的说法:把你的 Claude API 代码更新到更新的 API 版本,再把请求切到那个版本,要 2.1.307 起。这次说的就是从 2023-06-01 迁到 2026-10-21。
新版本要改的地方不少,比如请求里不能再带 temperature、top_p、top_k,带了就是 400;新版 SDK 改用 Authorization: Bearer 发 key。迁移指南列了全部改动。经中转站调接口的,升级 SDK 之前先确认中转站认不认新版本和 Bearer 头。本站 10 月 22 日的补测:
- 直连官方时,新版本下带
temperature(不管什么值)都返回 400,原文是temperature: Extra inputs are not permitted;Bearer 和x-api-key两种头都认。 - 经酷站AI 时,带 Bearer 头本来就能用,但同样的请求在新版本下返回 200,新版本的规则没有在中转站上生效。
本站的 Claude API 系列会按新版本陆续补充。
走中转站的人要知道的
- 不再发
prompt-caching-scope头(2.1.307)。 设了自定义ANTHROPIC_BASE_URL时不再发它,Foundry 上也不发。对不认识陌生 beta 头的网关少了一个出错的来源。 - MCP 服务器的几处修复(2.1.307)。
- HTTP 的 MCP 工具只在只读或幂等时才重试,前面说过。
- macOS 上钥匙串锁着时,
claude -p里的 MCP 服务器以前只显示“needs authentication”,现在会写明原因,解锁后下一次运行不用重新登录就能连上。 - 电脑在 MCP 服务器连接途中睡着了,以前会报超时,而且在无界面运行里一直失败,现在修好了。
- 压缩的两处修复(2.1.307)。 读了很多 PDF 页、图片或者大块工具结果的轮次,少了一些 “Autocompact is thrashing” 报错。2.1.306 修了 MCP 工具很多时,API 报错被换成 “prompt is too long”、还多压缩一次的问题。
CLAUDE_CODE_DISABLE_1M_CONTEXT和opus[1m]一起用会报找不到模型(2.1.307 修好)。 设了这个变量又用带[1m]的别名时,请求以前会失败。本站 10 月 22 日在 2.1.306 上直连官方接口复现了:报[claude-code:unrecognized_model],退出码 1;不设这个变量时同一条命令正常。见《Claude Code 的模型怎么设》。
新功能和改动(2.1.307)
- 新的 OpenTelemetry 事件
claude_code.safety_event。 每次工具调用被权限规则、auto 模式、安全检查、hook 或沙箱拦下、弹出确认、或者退回时都记一条。写这条快讯时监控文档里还没有它。接 OpenTelemetry 的做法见《用 OpenTelemetry 看自己的 Claude Code 用量》。 - Claude 写坏的工具调用会再试两次。 解析不了的工具调用,以前直接以报错结束这一轮,现在先重试最多两次。
- 一起开出去的几个 fork 子代理,各自知道哪个是自己。 减少了它们去抢着做彼此的活。
- WebSearch 的次数用完后,Claude 收到的提示还会告诉它不要改用浏览器或电脑操作去搜。
axScreenReader设置和CLAUDE_AX_SCREEN_READER只从用户设置、托管设置和--settings读。 写在项目设置的env里不再生效(从 2.1.305 起就是这样)。- 自托管运行器的 checkout hook 默认 30 分钟后停止,会话的准备阶段随之失败;要更长时间就调大
--checkout-hook-timeout-min,设成 0 不限。 - Code Review 加了
@claude review stop(也可以写off、pause),取消 PR 对推送的订阅,见《提交之前让 Claude Code 先审一遍》。 - VS Code 扩展:语音输入自己停下时(15 秒没识别到语音,或者到了 2 分钟上限),麦克风按钮上会说明原因,已经识别的文字保留;展开的长提示最多占聊天面板的 40%。
其他值得知道的修复
- Agent SDK 用
setModel()换模型时,接口确认模型超过 5 秒就被拒绝,现在等到 15 秒。 /permissions的 Recently denied 里看不到被拒的 shell 命令,auto 模式本地的分类器也会忽略从那里给的批准,现在修好了,批准的那一行写的是命令本身。- 用
/clear清掉的对话,在云端或自托管运行器的会话重启后有时又回来;云端会话重启后/autocompact回到默认窗口。 - 子代理的会话记录里,流式回复的 token 用量是占位值、停止原因是空的。
- 2.1.306:在云端会话里不带会话的环境变量启动
claude -p,会报 “Not logged in”。
Agent SDK 跟上了
| SDK | 版本 | 自带的 Claude Code | 另外改了什么 |
|---|---|---|---|
Python claude-agent-sdk |
0.2.170(10 月 21 日 04:13 UTC) | 2.1.306 | get_session_messages 和 get_session_messages_from_store 以前漏掉并行工具调用的一部分,修好了 |
Python claude-agent-sdk |
0.2.171(10 月 21 日 23:05 UTC) | 2.1.307 | 只有升级自带的版本 |
TypeScript @anthropic-ai/claude-agent-sdk |
0.3.306、0.3.307 | 2.1.306、2.1.307 | 0.3.307 给定时唤醒和定时任务的 command_lifecycle 事件加了 wakeup_source,浏览器 SDK 的 query() 加了 supportedDialogKinds |
Python 版 SDK 用的是它自带的那份 Claude Code,版本跟着 SDK 走。会话存储那几个函数怎么用,见《Agent SDK 补遗》。
版本一览
| 版本 | 要点 |
|---|---|
| 2.1.306,10 月 21 日 03:16 UTC | 云端会话里 claude -p 报未登录;MCP 工具多时报错被换成 “prompt is too long” |
| 2.1.307,10 月 21 日 22:17 UTC | /claude-api api-version、claude_code.safety_event、网关上不再发 prompt-caching-scope、HTTP 的 MCP 工具不再重复调用、@claude review stop、自托管运行器的 checkout hook 默认 30 分钟 |
发布日期按 GitHub 上版本说明的时间(UTC)。2.1.307 里还有不少针对云端会话、自托管运行器、桌面应用和 VS Code 的修复,这里没有展开,完整的条目请看官方更新日志。