Claude Code 降级指南 —— 让第三方模型重新工作

御坂スバル Lv1

写在前面

首先!A八分钱赣A马!

2026年5月28日,Claude Code 推送了 v2.1.156 静默更新。这个版本在 API 请求的 messages 数组中新增了 role: "system" 的消息。然而 DeepSeek、GLM、通义千问等第三方模型的 API 目前只接受 userassistant 两种角色,导致 JSON 反序列化失败,喜提满屏报错:

image-20260529164043248

1
2
API Error: 400 Failed to deserialize the JSON body into the target type:
messages[1].role: unknown variant 'system', expected 'user' or 'assistant'

不管背后的动机是什么,客观结果是新版 Claude Code 与第三方模型的兼容性已经断了。想继续用 DeepSeek?降级是目前最直接的方案。下面是我最直白、最简洁、最不绕弯子、只讲核心、不废话、不扩展、不铺垫、不抒情、不解释原理的降级方法。

降级前必须做的:禁止自动更新

Claude Code 有自动更新机制,不关掉的话隔天它又自己升回去了,等于白干。两种方式任选其一:

方式一:环境变量(推荐,命令行专用)

1
2
3
# Linux / macOS
export DISABLE_AUTOUPDATER="1"
export DISABLE_UPDATES="1"
1
2
3
# Windows PowerShell
$env:DISABLE_AUTOUPDATER="1"
$env:DISABLE_UPDATES="1"

方式二:写配置文件(全局生效,一劳永逸)

编辑 ~/.claude/settings.json(Windows 路径为 C:\Users\<你的用户名>\.claude\settings.json),加入:

1
2
3
4
{
"DISABLE_AUTOUPDATER": "1",
"DISABLE_UPDATES": "1"
}

建议两个都上。别问我为什么,A八分钱赣A马的自动更新可比你想象的勤快。

Linux / macOS 降级

Claude Code 本质上是 TypeScript 实现,npm 管理版本即可。截至 2026年5月29日,最后一个最稳定支持第三方模型的版本是 v2.1.150

1
2
3
4
5
6
7
8
9
10
11
12
# 1. 禁止自动更新
export DISABLE_AUTOUPDATER="1"
export DISABLE_UPDATES="1"

# 2. 卸载当前版本
npm uninstall -g @anthropic-ai/claude-code

# 3. 安装稳定旧版本
npm install -g @anthropic-ai/claude-code@2.1.150

# 4. 验证版本,确认已经回退成功
claude --version

如果 npm 下载太慢,用国内镜像:

1
npm install -g @anthropic-ai/claude-code@2.1.153 --registry=https://registry.npmmirror.com

Windows 降级

原理一样,只是环境变量的写法不同:

1
2
3
4
5
6
7
8
9
10
11
12
# 1. 禁止自动更新
$env:DISABLE_AUTOUPDATER="1"
$env:DISABLE_UPDATES="1"

# 2. 卸载
npm uninstall -g @anthropic-ai/claude-code

# 3. 安装旧版本
npm install -g @anthropic-ai/claude-code@2.1.150

# 4. 验明正身
claude --version

注意$env: 变量只在当前 PowerShell 窗口生效。强烈建议同时修改 settings.json 做持久化(路径见上文),否则下次开终端它又会自己升回去了。

VS Code 插件降级

CLI 降了,VS Code 插件也得同步降,不然版本不匹配照样寄:

image-20260529164219288

操作步骤:

  1. 打开扩展面板(Ctrl+Shift+X),搜索 Claude Code
  2. 点击齿轮 ⚙️ → 安装另一个版本…
  3. 选择 v2.1.152
  4. 回到齿轮 → 自动更新 → 取消勾选

版本号 CLI 和插件要完全一致,否则启动时会报版本不匹配的错误。

替代方案(不想降级的看这里)

如果你不想降级、或者降级后还是有问题,还有两条路:

  • cc-Switch / aivo 等代理工具:在请求到第三方 API 之前自动过滤掉 system 角色消息,变相绕过兼容性问题。
  • 等第三方 API 厂商适配:DeepSeek 等厂商后续有可能会适配 system 角色格式,到时候新版就能正常用了。

但说实话,降级是目前最稳的方案。毕竟版本兼容性这种事,主动权不在我们手上。

后记

从 v2.0.x 时代的版本限制策略,到 v2.1.156 的 system 角色变更,官方版本迭代和第三方模型之间的兼容性摩擦就没停过。好在社区反应够快,每次都有热心网友第一时间找到回退路径。这篇指南能帮到你的话,那就值了。

最后还请让我再说一句:A八分钱赣A马!

  • 标题: Claude Code 降级指南 —— 让第三方模型重新工作
  • 作者: 御坂スバル
  • 创建于 : 2026-05-29 16:32:17
  • 更新于 : 2026-05-31 11:23:44
  • 链接: https://msksbr.com/2026/05/29/claude-code-downgrade/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论