Claude Code 降级指南 —— 让第三方模型重新工作
写在前面
首先!A八分钱赣A马!
2026年5月28日,Claude Code 推送了 v2.1.156 静默更新。这个版本在 API 请求的 messages 数组中新增了 role: "system" 的消息。然而 DeepSeek、GLM、通义千问等第三方模型的 API 目前只接受 user 和 assistant 两种角色,导致 JSON 反序列化失败,喜提满屏报错:

1 | API Error: 400 Failed to deserialize the JSON body into the target type: |
不管背后的动机是什么,客观结果是新版 Claude Code 与第三方模型的兼容性已经断了。想继续用 DeepSeek?降级是目前最直接的方案。下面是我最直白、最简洁、最不绕弯子、只讲核心、不废话、不扩展、不铺垫、不抒情、不解释原理的降级方法。
降级前必须做的:禁止自动更新
Claude Code 有自动更新机制,不关掉的话隔天它又自己升回去了,等于白干。两种方式任选其一:
方式一:环境变量(推荐,命令行专用)
1 | # Linux / macOS |
1 | # Windows PowerShell |
方式二:写配置文件(全局生效,一劳永逸)
编辑 ~/.claude/settings.json(Windows 路径为 C:\Users\<你的用户名>\.claude\settings.json),加入:
1 | { |
建议两个都上。别问我为什么,A八分钱赣A马的自动更新可比你想象的勤快。
Linux / macOS 降级
Claude Code 本质上是 TypeScript 实现,npm 管理版本即可。截至 2026年5月29日,最后一个最稳定支持第三方模型的版本是 v2.1.150。
1 | # 1. 禁止自动更新 |
如果 npm 下载太慢,用国内镜像:
1 | npm install -g @anthropic-ai/claude-code@2.1.153 --registry=https://registry.npmmirror.com |
Windows 降级
原理一样,只是环境变量的写法不同:
1 | # 1. 禁止自动更新 |
注意:
$env:变量只在当前 PowerShell 窗口生效。强烈建议同时修改settings.json做持久化(路径见上文),否则下次开终端它又会自己升回去了。
VS Code 插件降级
CLI 降了,VS Code 插件也得同步降,不然版本不匹配照样寄:

操作步骤:
- 打开扩展面板(
Ctrl+Shift+X),搜索 Claude Code - 点击齿轮 ⚙️ → 安装另一个版本…
- 选择 v2.1.152
- 回到齿轮 → 自动更新 → 取消勾选
版本号 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 进行许可。