Skip to content

历史里的网搜解密失败:2.1.282 修好整会话 400 ​

有一类故障特别劝退:会话前半段还好好的,某一刻之后每一轮都 400,像被钉死。CLI 2.1.282 点名修了一条——对话历史里若留着 API 解不开的 web search 结果(典型例子:某一回合曾经第三方网关答过),后续请求会整批失败;修完后这类会话应能重新跑起来。

代理侧 advisor_20260301 标签 400 是另一条线,见 ANTHROPIC_BASE_URL advisor 400。本文专讲 web search 历史解密,并顺带记下同版本里和「续跑 / thinking」相关的几处硬伤。

症状怎么认 ​

信号含义
旧会话一续跑就每轮 400历史里可能夹了坏掉的网搜条目
曾用第三方网关 / 兼容端点答过带 web search 的回合高风险组合
新开空会话正常,只「这条老对话」挂更像历史污染,不是账号整体挂了

公开描述的修复:conversations whose history holds web search results the API cannot decrypt —— 请求不再因此全灭。

你该怎么做 ​

  1. 升级到 2.1.282+(先 claude --version)。
  2. 对仍 400 的会话再 --continue / --resume 一次。
  3. 若仍挂:新开会话验证网络与密钥;老会话可考虑导出要点后弃用,避免在坏历史上空耗。
  4. 长期混用官方 API 与第三方网关时,尽量不要在同一条长会话里来回切,减少「网关写进历史、官方 API 解不开」的概率。

这和「网关是否支持某输入标签」不同:哪怕标签问题已在 2.1.276 修好,历史里已经落地的密文网搜块仍可能毒害续跑——所以需要 2.1.282 这条专门修复。

同批:续跑别再弄丢 thinking ​

升级 2.1.282 的人,多半也会撞到「续跑后模型变蠢 / 丢推理」类体验。同版本还修了:

  • --continue / --resume 在部分情况下会以改写后的形态重发更早消息,导致 API 丢掉 Claude 早先的 reasoning —— 已修。
  • 工作中途跑 /model、/rename、/artifacts 等立即生效的斜杠命令,曾丢更早的 extended thinking —— 已修。
  • 续跑时若 --tools 列表少了会话早期提供过的内置工具,也可能丢 thinking —— 已修。
  • 每轮报 Invalid data in redacted_thinking block:现在会丢掉该会话的 thinking 块并自动重试一次。
  • 压缩(compaction)在摘要请求被拒时,会换 fallback 模型再试。

实操建议:长会话续跑前升到 2.1.282;若仍见 redacted_thinking 报错,允许它自动重试一轮,再决定是否新开。

和网关、登录刷新的边界 ​

  • advisor 标签 400:走 base URL / 代理兼容问题 → 升到含 2.1.276+ 修复的版本。
  • web search 历史 400:走历史密文 → 2.1.282。
  • 「another Claude Code process is refreshing it」 登录卡死约一分钟:同版本也修了「另一进程刷新中途被杀」后的死等;多窗口 VS Code 同时开时更明显。

分清三条线,少把所有 400 都怪到「代理又挂了」。

小结 ​

  1. 老会话整轮 400 + 历史里有网搜 + 曾路过第三方网关 → 优先升 2.1.282。
  2. 新会话也 400 → 先查密钥、base URL、advisor 标签,而不是只怪 web search。
  3. 续跑丢推理、redacted_thinking、压缩失败 → 同版本一并改善,值得同日升级。

历史不该成为会话的地雷。这版把「解不开的网搜块」从必崩改成可恢复,长线程用户应尽快跟上。

Claude-cn.org,专注于 Claude Code 中文教程