彻底解决Claude API 400错误:Adaptive Thinking参数不兼容的修复方案
近期,许多开发者在Claude Code中尝试调用第三方API服务时,普遍遭遇了相同的报错,导致功能无法正常使用。
具体的报错信息为:API Error: 400 thinking type should be enabled or disabled。
经过深入排查与测试,该问题已经找到了明确的解决方案,现将详细处理步骤分享如下。
考虑到技术问题的普遍性,采用图文结合的方式进行说明,以期达到更清晰、高效的沟通效果。

问题根源:新参数与旧端点不兼容
此错误主要发生在使用自定义API端点(例如第三方代理、Azure、Bedrock或Vertex AI等平台)的场景中。这些端点尚未支持Claude新版本引入的adaptive thinking参数。新版Claude Code在默认情况下会发送thinking: {type: "adaptive"}的请求,而旧有的API端点仅能识别"enabled"或"disabled"这两种明确的开关状态,参数格式的不匹配直接导致了400状态码的报错。
解决方案
核心思路是禁用Adaptive Thinking功能。具体操作方法是修改Claude Code的配置文件,通过设置环境变量来强制关闭此项特性。
需要编辑的配置文件位于:~/.claude/settings.json。
在文件中添加或修改内容如下:
{
"env": {
"CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING": "1"
}
}
重要注意事项:settings.json文件在结构上必须是一个完整的JSON对象。如果您的配置文件中已存在其他设置项,需要将上述环境变量合并到已有的对象中,确保整个文件内容是一个合法的JSON。示例如下:
{
"enabledPlugins": {
"document-skills@anthropic-agent-skills": false
},
"skipDangerousModePermissionPrompt": true,
"effortLevel": "high",
"env": {
"CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING": "1"
}
}
完成上述配置修改后,请务必重启Claude Code应用程序,以使新的设置生效。
延伸解读:什么是Adaptive Thinking?
在解决问题之余,我们不妨深入了解导致此次兼容性问题的“主角”——Adaptive Thinking(自适应思考)。
Adaptive Thinking是专为Claude Opus 4.6与Sonnet 4.6模型设计的一项“按需深度推理”机制。它旨在解决此前Extended Thinking(扩展思考)模式存在的局限性。在旧模式下,开发者需要预先手动设定一个固定的token预算(例如,指定“使用10000个token进行思考”)。这种方式要求开发者预先判断问题的复杂程度,容易造成简单问题资源浪费,或复杂问题思考深度不足的困境。
Adaptive Thinking的引入赋予了模型自主决策的能力。Claude可以根据当前请求的实际复杂度,动态决定是否启动深度推理,以及分配多少计算资源进行思考。在默认的高强度(high effort)模式下,模型会在判定有必要时自动启用此功能。开发者亦可通过调整effortLevel参数来控制其触发的积极程度。
该功能的核心优势在于其动态适应性,使Claude能够为不同复杂度的任务匹配恰当的思考深度。对于具有挑战性的双重模态任务以及长期的智能体(Agent)工作流程,这种动态调整的策略通常比固定budget_tokens的方式表现出更优的效果。
补充信息:值得注意的是,Claude Code的源代码近期已在网络公开,可以预见开源社区将基于此衍生出更多创新性的工具与解决方案。