Claude Code 2.1.305 更新:网关拒绝工具搜索时不再整个用不了,API_TIMEOUT_MS 可以设成 0
10 月 20 日 Claude Code 发布 2.1.305:网关拒绝工具搜索时不再每个请求都失败;API_TIMEOUT_MS 可以设成 0。Python 版 SDK 0.2.169 带上它,不设权限模式也从 default 开始了。同一天文档把 routines 改名为 scheduled tasks。
2026 年 10 月 20 日,Claude Code 发布了 2.1.305,40 条改动。和本站读者关系最大的是四点:
- 网关拒绝工具搜索时,不再整个用不了。 这是 2.1.304 带来的问题:工具搜索在自定义接口地址下改成默认打开以后,碰到不接受它的端点或网关,每个请求都失败。2.1.305 改成去掉工具搜索再发一次。升到 2.1.304 以后通过中转站突然什么都发不出去的,升到 2.1.305。
API_TIMEOUT_MS可以设成 0,去掉“等响应头”的上限。这一条写在官方的环境变量文档里,更新日志没有列。- Python 版 Agent SDK 0.2.169 带上了 2.1.305。 本站补测:不设权限模式时从
default开始,走中转站时工具搜索默认打开,都和命令行一致了。 /usage的提醒能一键照改。 每条提醒变成一行写明出处的修法,按f就照着改;同样的修法也会出现在 VS Code 和/doctor里。
这是 2.1.303 到 2.1.304 之后的一个版本。下面按“对你有什么影响”整理,不逐条翻译更新日志。本站用 Python 版 SDK 0.2.169 自带的 2.1.305 补测了两项,见下文;其余没有实测。
走中转站的人要知道的
工具搜索被拒时自动退回(2.1.305)
更新日志的原话是:在 Vertex、Bedrock 等平台上,端点或网关拒绝工具搜索时每个请求都失败;在禁用了 ToolSearch、或者 --tools 里没列它的网关后面也一样。这是 2.1.304 的回归,现在 Claude Code 会去掉工具搜索重试。
本站 10 月 20 日用 2.1.304 通过酷站AI 补测过,工具搜索正常,没有碰到这个问题,见上一期。别家中转站不一定支持,升级 2.1.304 以后请求全部失败的,先升到 2.1.305;还不行就设 ENABLE_TOOL_SEARCH=false 关掉工具搜索。
API_TIMEOUT_MS=0(文档写着要 2.1.305)
环境变量文档 10 月 21 日的写法:API_TIMEOUT_MS 是每次请求等响应头的时间,默认 600000(10 分钟),最大 2147483647;设成 0 就去掉这个上限,要 2.1.305 起;设成 0 时,本地会话里非流式请求照样 300 秒超时。走中转站时还有一个 5 分钟的空闲超时先起作用,只调这个变量不会多等,见《Claude Code 速查》里 API_TIMEOUT_MS 和 API_FORCE_IDLE_TIMEOUT 那两行。设 0 的效果本站没有实测。
Python 版 Agent SDK 0.2.169 带上了 2.1.305(本站补测)
10 月 20 日 21:37(UTC),PyPI 上发了 claude-agent-sdk 0.2.169,更新说明只有一句:自带的 Claude Code 升到 2.1.305。上一个版本 0.2.168 带的是 2.1.301。Python 版 SDK 用的是它自己带的那份 Claude Code,所以这次升级把 2.1.302 到 2.1.305 的改动一起带进了 SDK。本站 10 月 21 日在服务器上新建虚拟环境装了 0.2.169,通过酷站AI 照上一期的做法重测:
| 测的是什么 | 0.2.168(自带 2.1.301) | 0.2.169(自带 2.1.305) |
|---|---|---|
不设权限模式时的 permissionMode |
auto |
default |
| 退款工具不在允许清单里、也没有审批回调时 | 退款办了 | 被拒绝,订单没变 |
走中转站、不设 ENABLE_TOOL_SEARCH 时的工具搜索 |
关 | 开,先搜索再调对了工具 |
上一期说的“Python 版 SDK 的默认权限模式还没跟上”,到 0.2.169 就跟上了。升级 SDK 以后,原来靠默认 auto 模式自动放行的程序,会开始拒绝要批准的调用;把权限模式写死就不受影响。详见《Agent SDK 的权限、审批和 hooks》和《工具太多时的工具搜索》。
新功能和改动(2.1.305)
- Linux 沙箱可以放开 user namespace。 新增
sandbox.allowNestedUserNamespaces,让沙箱里的命令能创建 user namespace,Chromium、rootless podman 要用。更新日志特地写了:这会让它们绕开沙箱的文件保护。写这条快讯时沙箱文档里还没有这个设置。沙箱怎么配见《Claude Code 沙箱怎么配》。 - 无人值守的重试模式多了一个检查间隔。 开着
CLAUDE_CODE_RETRY_WATCHDOG等用量上限重置时,新增的CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS设定隔多久查一次上限是不是已经提前解除了。重试模式见 2.1.301 到 2.1.302。 /artifacts的删除确认只认数字了。 1 或回车保留,2 删除,Esc 取消;y和n不再管用。上一个版本刚改成数字选项时,y、n还能用。artifacts 见《Claude Code 在终端以外的四个入口》。- 给管理员的两条。
allowedMcpServers不再过滤只在env里用了${VAR}的managed-mcp.jsonstdio 服务器:原来被白名单挡住的,升级后会加载,要挡就写进deniedMcpServers。组织的托管设置开了allowManagedPermissionRulesOnly时,Claude 桌面应用按路径挂载的插件不再保留自己的allowed-tools。 - 写 mod 的人:停靠的窗格最多占终端宽度的 45%;
Image在 iTerm2 3.5 以后的全屏渲染里能画出图片,之前只显示alt文字。 - VS Code:SessionStart、Setup 这类启动 hook 在跑时,有一个“Running start-up hooks”的状态提示;会话没按时起来时,提示先指向输出日志。
其他值得知道的修复(2.1.305)
- 在裸仓库里新建的 worktree 有时从本地 HEAD 而不是默认分支开始;没改动过的子代理 worktree 有时没被清理。worktree 见《用 worktree 同时开两个 Claude Code 会话》。
- 磁盘满时 Bash 命令报的是一个原始的
ENOSPC文件路径,现在直接说磁盘满了、命令没有执行。 - 云端会话或 SDK 的
setMcpServers传进来的 MCP 服务器,之后会被你自己设置里同名的服务器顶替掉。 - 模型名和
modelOverrides里的写法只差大小写或一个[1m]标记时,/effort和/autocompact的设置不生效。 - 子代理换到备用模型以后,Claude 说出的模型名是错的。
- Remote Control:用
/resume换对话以后,/resume里留下空的“(session)”条目;按w时会说明新的启动模式按文件夹保存了。Remote Control 见《离开电脑接着用 Claude Code》。 - Code Review:审查期间又推了几次时,有时没审到最新的提交;复审时还有没解决的阻断问题,就不再以 LGTM 开头。
同一天:文档把 routines 改名为 scheduled tasks
10 月 20 日,Claude Code 文档把云端的 routines 改名为 scheduled tasks(文档里写着“formerly routines”),云端新建的界面也重做了。按文档的说法,claude.ai 上的网址、命令行里的 /routines 和接口仍然用旧名字。本站讲这一块的《Claude Code 的云端定时任务(原 routine)、桌面版定时任务和云端环境》已经按新名字和新界面改过。
版本一览
| 版本 | 要点 |
|---|---|
| 2.1.305,10 月 20 日 | 网关拒绝工具搜索时自动退回、API_TIMEOUT_MS=0、/usage 一键照改、sandbox.allowNestedUserNamespaces、重试模式的检查间隔、/artifacts 删除确认只认数字 |
发布日期按 GitHub 上版本说明的时间(UTC)。2.1.305 里还有不少针对自托管运行器、云端会话、Claude Tag 和读屏模式的修复,这里没有展开,完整的条目请看官方更新日志。