Appearance
Vertex AI 连接时实验性 beta 请求头无法禁用:设置 ENABLE_TOOL_SEARCH=0 解决
问题
使用 Claude Code 连接 Google Cloud Vertex AI 时,即使设置了 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1,仍然会在 API 请求中附加以下实验性 beta 请求头:
anthropic-beta: advanced-tool-use-2025-11-20anthropic-beta: tool-search-tool-2025-10-19
导致 Vertex AI 返回错误,因为这些 header 在 Vertex AI 端不被识别或不支持。
解决方案
方法 1:设置 ENABLE_TOOL_SEARCH=0(最直接)
bash
export ENABLE_TOOL_SEARCH=0或在 ~/.claude/settings.json 中写入:
json
{
"env": {
"ENABLE_TOOL_SEARCH": "0"
}
}方法 2:升级到 v2.1.77+
官方在 v2.1.77 修复了此问题:CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 从该版本起也会禁用 tool-search 模式及其关联的 beta 请求头。
如果升级后仍然复现(部分用户在 v2.1.104 仍需要手动设置),两个环境变量同时设置可彻底解决:
bash
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
export ENABLE_TOOL_SEARCH=0说明: 此问题主要影响 Vertex AI 用户(使用 CLAUDE_CODE_USE_VERTEX=1),直连 Anthropic API 的用户通常不受影响。