昨天不少小伙伴发现 Claude Code 自动升级到 v2.1.156 后,突然罢工了,反复提示:

API Error: 400 … invalid value: system, supported values are: assistant, user.

这意味着新版本在 API 通信上发生了不兼容变更,导致无法正常工作。好消息是,你可以手动回到上一个稳定版本,并锁定它,让 Claude Code 再也不会偷偷升级。

下面这份指南,用最简单的步骤帮你恢复工作环境。


第一步:卸载当前出错的新版本

打开终端(macOS/Linux)或命令提示符(Windows),输入:

npm uninstall -g @anthropic-ai/claude-code

这一步会移除全局安装的 v2.1.156。


第二步:找到上一个稳定版本号

你可以查看该包的所有历史版本,挑一个离现在最近、你之前使用正常的版本(例如 v2.1.155 或更早)。

npm view @anthropic-ai/claude-code versions --json

如果你记得自己之前没问题的版本号,可以直接跳到下一步。不确定的话,建议选择 v2.1.153v2.1.145 这类较为成熟的发布版。


第三步:安装指定版本

npm install -g @anthropic-ai/claude-code@版本号

比如想回退到 v2.1.153,就执行:

npm install -g @anthropic-ai/claude-code@2.1.153

安装完毕后,验证版本:

claude --version

第四步:锁定版本,禁止自动升级

npm 默认会在你下次运行 npm update -g 或某些工具自动维护时升级全局包。要牢牢锁住当前版本,最简单的方法是使用 --save-exact 重新安装一次:

npm install -g @anthropic-ai/claude-code@2.1.145 --save-exact

然后,命令行启动执行claude 命令启动,通过/config 修改Auto-update channel为stable,回车保存,才算真正阻止升级。
修改Auto-update channel为stable,回车保存

另外,如果你使用了 npx 或某些自动脚本,可以在项目根目录下创建一个 .npmrc 文件,添加以下内容,防止全局的意外升级:

save-exact=true

对于 macOS / Linux 用户,还可以在 shell 配置文件(如 ~/.zshrc)中加入一行别名,固定调用本地已安装的版本路径,避免无意中拉取最新版。


第五步:善后与建议

  1. 关闭自动更新检查
    Claude Code 自身目前没有内置“禁止自动升级”开关,但你可以通过锁定 npm 版本来避免被意外覆盖。

  2. 关注官方动态
    等待 Anthropic 发布修复版本后,再手动解锁并升级:

    npm uninstall -g @anthropic-ai/claude-code
    npm install -g @anthropic-ai/claude-code
    
  3. 备份你的配置
    如果你自定义了 claude.json 或环境变量,不妨备份一下。升级或降级通常不影响配置,但以防万一总是好的。


总结

  • 卸载 v2.1.156 → 安装旧版 → 锁定版本 → 工作继续。
  • npm install -g @anthropic-ai/claude-code@版本号 --save-exact 牢牢锁死。
  • 再通过/config 修改Auto-update channel为stable,回车保存,真正锁死。
  • 耐心等待官方修复,再决定是否升级。

现在,你的 Claude Code 应该已经恢复到“岁月静好”的状态了。继续享受 AI 辅助编程的快乐吧!

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐