所有文章
AIClaude

Claude Code 报 Invalid effort level(400)怎么办:升到 2.1.314 或手动降 effort

Claude Code 一轮又一轮报 Invalid effort level(API Error 400)?2.1.314 会自动降低 effort、重试,并告诉你实际用了哪一档。我们在机器上跑了 claude --version(当前 2.1.312),并写了升级与手动 /model 改法。

Invalid effort level:浅绿色黏土卡片盖着 400,旁边拨盘拧得过高

Claude Code 一轮又一轮报 API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"Invalid effort level"}},会话几乎没法继续。先查版本,再决定升级还是手动降 effort。

我看到了:本机 claude --version 输出是 2.1.312 (Claude Code),还没到修这个问题的 2.1.314。个人账号这边也复现不了「组织管理员给模型设了 effort 上限」——那是企业策略场景。下面改法一部分来自我们直接跑的版本检查,一部分来自官方 CHANGELOG,文中会分开写。

Invalid effort level 是什么意思

这句话的意思是:你当前会话请求的 effort 档位,对端(或组织策略)不允许。Claude Code 官方 CHANGELOG 在 2.1.314 里写得很直接:组织管理员给某个模型设了 effort 上限时,旧版本会「一轮又一轮」失败;修好之后会自动降低 effort、重试,并告诉你实际用了哪一档。

effort / ultrathink 档位本身怎么设,见 Claude Code ultrathink / effort 说明。其他 400 类报错可在 Claude Code 报错速查里对照。

我们实际跑了什么

在本机终端执行:

claude --version

输出:

2.1.312 (Claude Code)

结论很简单:这台机器上的 CLI 还没升到 2.1.314,自动降级重试的行为不会出现。个人账号、没有组织 effort 上限时,通常也看不到这句 Invalid effort level;如果你是个人用户却一直看到它,优先怀疑版本过旧或某处写死了过高的 effort,而不是「账号坏了」。

怎么处理(按顺序)

1. 升到 Claude Code ≥ 2.1.314

官方修复写在 2.1.314:遇到组织 effort 上限时,会降低 effort、重试,并说明用了哪一档。升级方式跟你当初怎么装的有关,常见是:

claude update

或按 Anthropic 文档用官方安装脚本 / 包管理器再装一次。装完再跑一次 claude --version,确认已经 ≥ 2.1.314。

2. 暂时升不了:手动降低 effort

会话里用 /model,把 thinking / effort 调低一档再发消息;启动时也可以加 --effort(本机 claude --help 里能看到 --effort )。不要一直卡在组织不允许的最高档。

3. 仍失败:核对是不是组织策略

企业 / Team 管理员可以在组织侧限制模型可用的 effort。个人账号通常没有这条策略,所以复现不了。若同事都能用、只有你不行,把报错原文和管理员策略对一下,比反复重装更有效。

原因和改法

情况我怎么判断的改法
本机版本 < 2.1.314我看到了:claude --version → 2.1.312升级到 ≥ 2.1.314
组织设了 effort 上限我推测(来自 CHANGELOG 2.1.314 原文)升级后自动降级;或手动 /model / --effort 降档
个人账号、无组织策略我看到了:个人环境无法复现组织上限仍建议升级;同时检查是否写死了过高 effort
其他 API 400需对照完整报错正文回 报错速查

常见问题

升到 2.1.314 以后还会报 Invalid effort level 吗?

按 CHANGELOG,旧的「每轮都失败」路径会被自动降级重试替代。若仍看到 400,把完整 JSON 贴出来对照,可能是别的 invalid_request_error。

ultrathink / xhigh 和这个有关吗?

有关。effort 档位设得越高,越容易撞上组织上限。档位含义见 ultrathink 怎么用。

和 401 OAuth、selected model 怎么区分?

401 是登录/令牌问题,见 401 OAuth token has expired;模型名不对是 selected model,见 selected model 排查。Invalid effort level 的关键词是 effort level,不是 token,也不是 model not found。

留下你的想法

你的邮箱不会公开。