# Claude Code 接第三方 API 的大坑
使用 Claude Code 接第三方 API 的用户注意了,Claude Code 可能会在 System Prompt 开头带上动态的 `x-anthropic-billing-header / cch` 字段。部分第三方 API 会把这个动态字段算进请求内容里,导致 prompt 前缀不稳定,缓存命中率直接爆炸。症状表现通常是:响应变慢、缓存命中率下降、费用上升。(A➗是故意的还是不小心的?)
解决方法已经有人从源码里逆向出来了,配置一个环境变量就行:
## 方法 1:修改配置文件
修改 Claude Code 配置文件 `settings.json`,位于:
- Windows:`%USERPROFILE%\.claude\settings.json`
- Linux / macOS:`~/.claude/settings.json`
在 `env` 部分添加一行:
```json
{
"env": {
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0"
}
}
```
如果 `env` 里已经有其他配置,就把这一行加进去。
## 方法 2:设置系统环境变量
Windows 系统:以管理员权限打开 CMD,运行:
```cmd
setx /M CLAUDE_CODE_ATTRIBUTION_HEADER 0
```
Linux / macOS:可以在 shell 配置文件(`~/.zshrc` 或 `~/.bashrc`)里加入:
```bash
export CLAUDE_CODE_ATTRIBUTION_HEADER=0
```
配置完成后,重启 Claude Code 生效。
目前国内几家头部大模型厂商,比如 DeepSeek,已经意识到这个问题并做了适配。但加上这个环境变量仍然更稳妥,万一呢。
发布于 北京
