Appearance
CC-006:请求返回 400,含实验性 Beta 参数
| 字段 | 内容 |
|---|---|
| 影响组件 | Claude Code 本体 |
| 发现版本 | 不限版本 |
| 系统环境 | Linux / macOS / Windows |
| 解决人 | — |
| 发现日期 | 2026-03-14 |
问题现象
使用 Claude Code 的 AWS 分组时,执行对话请求后终端返回 400 错误,日志中可见类似:
text
API Error: 400 {"error":{"type":"invalid_request_error","message":"...invalid beta flag..."}}错误与请求内容无关,新建对话后依然复现。
根因分析
text
Claude Code 构造请求
→ 自动附加实验性 Beta 功能请求头(anthropic-beta)
→ AWS 分组对应上游不接受该请求头
→ 返回 400 Invalid RequestClaude Code 默认携带实验性 Beta 参数,部分 AWS 分组对应的上游不支持该参数,导致请求被直接拒绝并返回 400。
修复步骤
第一步:先用环境变量确认问题
macOS / Linux
bash
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
claudeWindows PowerShell
powershell
$env:CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS = "1"
claude如果加上该变量后可正常请求,说明当前 400 错误由实验性 Beta 参数触发。
第二步:写入全局配置文件,避免每次手动设置
Claude Code 全局配置文件路径:
| 平台 | 路径 |
|---|---|
| macOS / Linux | ~/.claude/settings.json |
| Windows | C:\\Users\\<USERNAME>\\.claude\\settings.json |
如果文件中已有 env 字段,在原有内容下追加这一项,不要覆盖已有配置:
json
{
"env": {
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
}
}如果你本来就是通过 settings.json 配置 Base URL 和 API Key,可以直接合并成:
json
{
"env": {
"ANTHROPIC_BASE_URL": "https://www.micuapi.ai",
"ANTHROPIC_API_KEY": "sk-xxx",
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
}
}第三步:保存配置后重新打开终端并启动 Claude Code
保存
settings.json后,建议完全关闭当前终端窗口再重新打开,避免旧会话继续使用未更新的环境。
bash
claude第四步:保留来源链接,便于后续核对
参考反馈来源: QuantumNous/new-api issue #2772
预防措施
| 做法 | 避免的问题 |
|---|---|
使用 AWS 分组时,在全局配置文件中预先写入 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 | 每次打开新终端都要重复设置,或再次触发 400 |
修改 settings.json 后彻底关闭终端再重开 | 旧会话沿用旧配置,误以为修复无效 |
