新版 Claude Code 会在请求中附带一些实验性参数(beta 头、缓存范围、上下文管理等)。部分渠道(例如 AWS Bedrock)暂不接受这些参数,会返回 HTTP 400。绝大多数情况只需一个环境变量即可解决。一键修复#
在 ~/.claude/settings.json 的 env 中加入 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS,然后重启 Claude Code:{
"env": {
"ANTHROPIC_BASE_URL": "https://studio.dataeyes.ai",
"ANTHROPIC_AUTH_TOKEN": "sk-xxx",
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
}
}
该变量只关闭尚未被所有渠道支持的实验特性,不影响正常对话、工具调用和提示词缓存。
常见报错对照#
| 报错信息(关键词) | 原因 | 处理方法 |
|---|
Unexpected value(s) ... for the anthropic-beta header | 渠道不识别新的 beta 头 | 设置 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 |
context_management: Extra inputs are not permitted | 渠道不支持上下文管理参数 | 同上 |
cache_control.scope: Extra inputs are not permitted | 渠道不支持缓存范围参数,--resume 恢复会话时多见 | 同上 |
output_config.effort: Extra inputs are not permitted | 该模型或渠道不支持推理强度参数 | 同上;仍报错时换用 claude-sonnet-5-5 等支持该参数的模型 |
system content must contain at least one block | 会话中途切换了模型或推理强度 | 输入 /clear 开启新会话后重试,避免在同一会话中频繁切换 |
The provided model identifier is invalid / 模型不存在 | 默认模型在当前分组不可用 | 用平台模型名设置 ANTHROPIC_DEFAULT_OPUS_MODEL 等变量,见 Claude Code 第 3 步 |
no low surrogate in string / Invalid JSON | 会话内容中含有异常 Unicode 字符 | 新开会话;避免用 --resume 恢复出错的会话 |
x-anthropic-billing-header is a reserved keyword | 旧版 Claude Code 的已知问题 | 升级 Claude Code 到最新版 |
仍未解决#
1.
升级 Claude Code:原生安装版运行 claude update,npm 安装版运行 npm install -g @anthropic-ai/claude-code@latest。
2.
在 使用日志 或控制台「调用诊断」中找到失败请求,记录请求 ID(request id)。 3.
将报错全文、Claude Code 版本(claude --version)、请求 ID 发给客服。
不建议设置 DISABLE_PROMPT_CACHING=1 规避问题,关闭提示词缓存会显著增加 Token 消耗。