> ## Documentation Index
> Fetch the complete documentation index at: https://docs.laozhang.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Claude Code 使用 AWS Claude 报 400 ValidationException 怎么办？

> 说明 Claude Code 通过老张API使用 AWS Claude 官方通道时，遇到 400 ValidationException、Extra inputs are not permitted 或 cache_control.scope 错误的处理方式。

Claude Code 使用 AWS Claude 官方通道时报 400 错误，先在启动 Claude Code 前设置 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`，关闭实验性 Beta 请求字段。

| 项目 | 内容 |
| - | - |
| 常见报错 | `400 ValidationException`、`Extra inputs are not permitted` 或 `cache_control.scope` 相关错误 |
| 解决办法 | 启动 Claude Code 前设置 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` |
| 作用 | 按照 [Claude Code 官方环境变量说明](https://code.claude.com/docs/zh-CN/env-vars)，从 API 请求中去掉 Anthropic 专用的 `anthropic-beta` 请求头和测试版工具字段，适用于代理网关以 `Extra inputs are not permitted` 等错误拒绝请求的情况 |
| 设置方式 | 临时排查用 `export`；长期使用建议写入 `~/.claude/settings.json` |
| 最后核对 | **2026 年 9 月 24 日** |

Claude 模型自 2026 年 9 月 24 日起未在老张API上架，上架时会在[网站公告](/changelog)通知；上架后本页的排查步骤仍然适用。

## 适用场景

* Claude Code 使用 AWS Claude 官方通道或 Bedrock 相关通道
* 终端、日志或报错里出现 `400 ValidationException`
* 错误信息包含 `Extra inputs are not permitted`
* 错误信息指向 `cache_control.scope`、`cache_control`、`scope` 或类似额外请求字段
* API Key、余额和模型 ID 看起来正常，但 Claude Code 仍在请求阶段被拒绝

<Info>
  这类错误通常是请求字段兼容性问题，不一定代表账户余额不足、模型下线或 API Key 失效。不要先反复更换密钥，先按下面步骤关闭实验性 Beta 请求字段。
</Info>

## 临时生效：启动前设置环境变量

<Steps>
  <Step title="退出正在运行的 Claude Code">
    如果 Claude Code 已经启动，先退出当前进程。环境变量需要在启动前设置，启动后再设置通常不会影响已经运行的进程。
  </Step>

  <Step title="在同一个终端执行 export">
    在准备启动 Claude Code 的终端里执行：

    ```bash theme={null}
    export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
    ```
  </Step>

  <Step title="重新启动 Claude Code">
    在同一个终端进入项目目录并启动：

    ```bash theme={null}
    claude
    ```

    如果 400 错误消失，说明问题大概率与 Claude Code 实验性 Beta 请求字段和 AWS Claude / Bedrock 通道兼容有关。
  </Step>
</Steps>

## 推荐做法：写入 settings.json

为了避免每次打开终端都重新设置，建议把环境变量写入 `~/.claude/settings.json` 的 `env` 块（用法见 [Claude Code 官方设置说明](https://code.claude.com/docs/zh-CN/settings)）：

```json theme={null}
{
  "env": {
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
  }
}
```

如果你已经在 `~/.claude/settings.json` 里配置了老张API地址、密钥和模型，只需要把这一项合并到现有 `env` 中，不要删除原来的配置：

```json theme={null}
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.laozhang.ai",
    "ANTHROPIC_AUTH_TOKEN": "sk-你的老张API密钥",
    "ANTHROPIC_MODEL": "glm-5.2",
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
  }
}
```

`ANTHROPIC_MODEL` 填写[模型与价格总表](/models)中「兼容端点」包含 Anthropic Messages 的模型 ID，例如 `glm-5.2`。Claude 模型恢复后会在[网站公告](/changelog)通知。

<Warning>
  不要把包含完整 `ANTHROPIC_AUTH_TOKEN`、API Key 或 AccessToken 的 `settings.json` 截图发到公开渠道。需要给客服定位时，请只提供打码后的配置和完整错误信息。
</Warning>

## 为什么这个设置能解决 400

Claude Code 可能会在请求中带上 `anthropic-beta` 请求头和部分测试版工具字段（例如 `defer_loading`、`eager_input_streaming`）。

AWS Claude 官方通道或 Bedrock 相关通道通常会严格校验请求体，遇到不接受的额外字段时，就可能返回：

* `400 ValidationException`
* `Extra inputs are not permitted`
* `cache_control.scope` 相关错误

`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` 让 Claude Code 不再发送这些请求头和测试版字段，使请求结构更接近通道可接受的标准格式。

该设置主要解决字段兼容问题，不能替代模型权限、余额、API Key 或模型 ID 的排查。

开启后，Claude Code 会关闭 MCP 工具搜索，所有 MCP 工具在启动时一次性加载，可能占用更多上下文。

## 仍然报错时怎么排查

1. 确认已经重新打开终端或重新启动 Claude Code。
2. 确认 `~/.claude/settings.json` 中的 `env` 没有写错层级。
3. 升级 Claude Code 到当前可用版本后重试。
4. 检查模型 ID 的「兼容端点」是否包含 Anthropic Messages，且令牌分组可以调用。
5. 确认使用的是老张API密钥，并且令牌分组适合 Claude Code。
6. 查看[调用日志](/faq/call-logs)，确认错误是在请求校验阶段、模型权限阶段，还是余额/额度阶段。

## 需要联系客服时提供什么

如果关闭实验性 Beta 字段后仍然无法解决，请提供以下信息：

* 账号邮箱或用户名
* Claude Code 版本
* 操作系统和终端类型
* 使用的模型 ID
* 是否使用 AWS Claude 官方通道
* 完整错误信息，尤其是 `ValidationException` 后面的字段名
* 老张API控制台[调用日志](/faq/call-logs)中的请求时间、状态和 Request ID
* 打码后的 `~/.claude/settings.json`，不要包含完整 API Key 或 AccessToken

## 官方来源

* [Claude Code 官方文档：环境变量](https://code.claude.com/docs/zh-CN/env-vars) — `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` 的作用与副作用
* [Claude Code 官方文档：设置文件](https://code.claude.com/docs/zh-CN/settings) — `settings.json` 与 `env` 配置

## 相关问题

* 如果不确定模型是否可用，请查看[如何确认模型是否可用](/faq/model-availability)
* 如果需要创建或更换 API Key，请查看[API Key 如何创建、保存、轮换和撤销](/faq/token-management)
* 如果需要核对错误时间和请求状态，请查看[如何查看和使用调用日志](/faq/call-logs)
* Claude 协议的请求格式见 [Claude 协议文档](/api-reference/claude)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.