跳到主要内容

Claude Code v2.1.166 发布 —— 你的模型宕机了?它自己会找替补

· 阅读需 6 分钟

第一件:某天下午模型 API 间歇性挂了,Claude Code 给出了一行 "rate limit exceeded" 然后停着不动。得手动切换模型、重发请求、找回上下文。整个过程大概花 5 分钟,但那天刚好赶发布前改 bug,5 分钟就足够打破那种专注状态。

第二件:把电脑合上带到会议室,回来发现后台进程占用了一个 CPU 核跑满——claude --bg-pty-host 的孤儿进程,daemon 断开后没清理掉。不是什么大问题,但如果发生在笔记本上,电池直接少两小时。

v2.1.166 的更新日志读下来,发现很多改动都瞄准了这些「说不清道不明、但多了就很烦」的问题。

Fallback 模型:不再把鸡蛋放一个篮子

fallbackModel 设置可以配置最多三个替补模型,按优先级顺序尝试。当主力模型过载或不可用时,Claude Code 自动换到下一个。--fallback-model 参数现在也对交互式 session 生效了。

这个功能看起来简单,但背后的逻辑对日常开发很实用:你跑着一个 GPT-5 的 session,突然 API 返回 429,不再弹错停着等你切换,而是自动走一遍替补列表。如果替补名单里的模型也能用,session 继续。——至少不用发那三行 "let me switch models" 信息了。

除了 fallback,非可重试的 API 错误现在也会在整个 session 级别自动用 fallback 模型重试一次。认证错误、限速错误、请求体过大和传输错误会立即报出来——这些重试也救不了——但其他类型的拒绝被转换成了「换一个模型试试」。配了三个 fallback 模型的话,相当于多级可靠性兜底。

终端里那些「修了不大,没修很烦」的问题

这次的修复列表里有一类很典型的改动:涉及面不大,但踩过的人都知道有多烦。

JetBrains IDE 终端闪烁。 IntelliJ/PyCharm/WebStorm 的 2026.1+ 用户打开 Claude Code 的时候,终端会持续闪烁。这次的修复是启用 synchronized output——确保完整帧渲染完成后再刷新到屏幕。如果你没用 JetBrains 你可能无感,但 JetBrains 用户应该能感受到屏幕不再抽风了。

Shift+ä 打不出来。 使用 Kitty 键盘协议的终端(WezTerm、Ghostty、kitty)上,输入 Shift+ä 想打 Ä,结果字符被吞了。不是日常操作,但对需要输入非 ASCII 大写字符的开发者(比如德语区的开发者),这就是一个「你以为键盘坏了」的 bug。修好了。

PowerShell 命令验证挂死。 Windows 上某个进程被强杀后,它的子进程可能还握着输出管道不放,导致 PowerShell 命令验证一直挂在 wait 上。这个修复给验证加了时间预算,超时就异常退出而不是无限等待。

孤儿进程 100% CPU。 开头提到的那件事——claude --bg-pty-host 的孤儿进程在 daemon 断开后不吃不喝但消耗整个 CPU 核。现在 daemon 下线时会连带清理后台进程。

远程 session 启动时卡死。 连接远程后端时,如果 worker 注册阶段遇到短暂网络抖动,session 会永久卡在启动状态。修了。

对话中的图片处理失败。 如果你在 session 里发了一张 agent 处理不了的图片(比如格式不兼容的截图),就会出现 "image could not be processed" 的循环错误,还额外浪费 token。现在处理不了的图片会直接跳过而不是反复报错。

JetBrains 和 Kitty 这两条修复放在一起看,传递了一个信号:Claude Code 团队已经开始系统性地处理终端兼容性问题了。 之前版本的核心投入在功能和 Provider 扩展上,终端兼容性属于「能用就行」。现在主力功能基本成型了,尾巴上的兼容性 bug 开始被逐一清理。这对用非主流终端的人是个好消息。

权限模型加固和配置体验

跨 session 消息传递的权限收紧。 之前别的 Claude session 通过 SendMessage 发来的消息拥有和当前 session 相同的用户权限。这意味着 session A 的 agent 可以说服 session B 的 agent 批准一个危险操作。现在 relay 消息不再继承用户权限——权限请求会被拒绝,auto 模式直接拦截。

MAX_THINKING_TOKENS 设为 --thinking disabled 现在能真正禁用 thinking——在那些默认开 thinking 的模型上(Claude API 系列)。第三方 Provider 不变。

Deny 规则支持通配符。 工具名位置可以写 "*",意味着一条 deny "*" 规则拒绝所有工具。同时也更严格了:allow 规则现在拒绝非 MCP 的 glob,deny 规则遇到不认识的工具名会启动时警告而不是悄悄忽略。

Managed settings 的环境变量引用修复。 allowedMcpServers/deniedMcpServers 如果用了 ${VAR} 引用环境变量的值,之前匹配时没展开变量所以全不生效。修了。

几点体验细节

claude update 开始下载前会报目标版本号了——而不是直接沉默去下。之前你敲了 claude update,如果网络慢,就盯着光标转几秒不知道它在干嘛。现在先看到 "Updating to v2.1.166..." 再等。

claude agents 里在列表输入 URL 可以直接筛选到包含该 URL 的对话——如果你在找一个部署脚本链接相关的 session,现在直接黏贴 URL 进去就行。

升级方式:

claude update

首次安装推荐 macOS:

curl -fsSL https://claude.ai/install.sh | bash

或 Homebrew:

brew install --cask claude-code

完整更新日志:Claude Code v2.1.166 GitHub Release

📢 关注我,获取最新开源更新日志和开发者工具动态。如果觉得这篇文章有用,欢迎转发给身边的开发者朋友。

#ClaudeCode #AI编程 #Fallback #终端兼容 #开源 #Antropic