|

Claude Code 環境變量完全指南:解決 AWS Bedrock 兼容性報錯只需 1 個設置

作者注:詳解 Claude Code 全部 60+ 環境變量的作用和配置方法,重點解決 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS 解決第三方平臺 anthropic-beta header 報錯

在使用 Claude Code 連接 AWS Bedrock、Google Vertex AI 或其他第三方 LLM 網關時,你很可能遇到過這個報錯:"Unexpected value(s) for the anthropic-beta header"。這個問題的根源是 Claude Code 默認會發送 Anthropic API 特有的實驗性 Beta 頭部,而 AWS Bedrock 等第三方平臺並不認識這些頭部。

解決方案只需一行設置:CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1

但 Claude Code 的環境變量遠不止這一個——官方文檔列出了 60+ 個環境變量,覆蓋認證配置、模型選擇、性能調優、功能開關等各個方面。本文將系統梳理這些環境變量,幫你快速定位和解決 Claude Code 的各類配置問題。

核心價值: 讀完本文,你將掌握 Claude Code 環境變量的完整體系,能夠快速解決 AWS Bedrock/Vertex AI 兼容性問題,並學會通過環境變量優化 Claude Code 的使用體驗和成本。

<!– 標題 –> Claude Code 環境變量完全指南 60+ 環境變量 · 6 大分類 · 解決 AWS Bedrock 兼容性報錯

<!– 中心:Claude Code 標識 –> Claude Code 環境變量配置中心

<!– 左上:認證配置 –> 認證與 API 配置 ANTHROPIC_API_KEY ANTHROPIC_AUTH_TOKEN 共 6 個變量

<!– 右上:模型選擇 –> 模型選擇與配置 ANTHROPIC_MODEL CLAUDE_CODE_EFFORT_LEVEL 共 7 個變量

<!– 左下:功能開關 –> 功能開關 DISABLE_PROMPT_CACHING DISABLE_TELEMETRY 共 12 個變量

<!– 右下:上下文管理 –> 上下文與性能 CLAUDE_AUTOCOMPACT_PCT.. CLAUDE_CODE_MAX_OUTPUT.. 共 6 個變量

<!– 底部重點:平臺兼容(高亮) –> 平臺兼容(本文重點) CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 解決 AWS Bedrock / Vertex AI / LLM 網關的 anthropic-beta header 報錯

<!– 底部品牌 –> API易 apiyi.com — 免去複雜配置,統一接口調用 Claude 全系列模型


Claude Code 環境變量核心要點

Claude Code 的 60+ 個環境變量可以分爲 6 大類。以下是你最需要關注的核心變量:

類別 關鍵變量 作用 常見使用場景
平臺兼容 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS 禁用 anthropic-beta 實驗性頭部 解決 AWS Bedrock/Vertex AI 報錯
認證配置 ANTHROPIC_API_KEY 設置 API 密鑰 使用第三方 API 平臺調用
模型選擇 ANTHROPIC_MODEL 指定使用的模型 切換到特定模型版本
性能調優 CLAUDE_CODE_MAX_OUTPUT_TOKENS 控制最大輸出 Token 限制長回覆節省成本
功能開關 DISABLE_PROMPT_CACHING 禁用 Prompt 緩存 調試或兼容性需要
上下文管理 CLAUDE_AUTOCOMPACT_PCT_OVERRIDE 控制上下文自動壓縮閾值 優化長對話體驗

Claude Code 環境變量的兩種設置方式

方式一:Shell 環境變量(臨時生效)

在終端中設置後啓動 Claude Code,僅當前會話有效:

export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
export ANTHROPIC_API_KEY="your-api-key"
claude

方式二:settings.json 配置(永久生效)

~/.claude/settings.json 中配置 env 字段,每次啓動自動加載:

{
  "env": {
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
    "ANTHROPIC_API_KEY": "your-api-key"
  }
}

🎯 推薦方式: 對於需要長期生效的設置(如 API Key、平臺兼容性修復),建議使用 settings.json 方式,避免每次手動 export。如果你的 API Key 來自 API易 apiyi.com 等第三方平臺,同樣在這裏配置即可。

<!– 標題 –> Claude Code 環境變量配置方式與優先級

<!– ===== 路徑 A: Shell export ===== –> 方式 A: Shell 環境變量

export VAR_NAME=value 在終端中設置

當前會話立即生效

關閉終端後失效 ⚠

<!– 標籤 –> 適合臨時調試和測試

<!– ===== 路徑 B: settings.json ===== –> 方式 B: settings.json

~/.claude/settings.json 編輯 JSON 配置文件

每次啓動自動加載

永久生效 ✓ 團隊可共享

<!– 標籤 –> 推薦用於正式配置

<!– 優先級說明 –> 配置優先級(從高到低)

<!– 優先級箭頭 –> Shell 環境變量

&gt;

settings.json

&gt;

Claude Code 默認值

Shell 環境變量始終覆蓋 settings.json 中的同名配置

<!– 底部品牌 –> API易 apiyi.com — 通過 settings.json 配置 API Key 和 Base URL 即可使用


Claude Code 環境變量重點解讀:解決 AWS Bedrock 兼容性問題

CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS 詳解

這是本文的核心主角。當你通過 AWS Bedrock、Google Vertex AI、LiteLLM 等第三方網關使用 Claude Code 時,Claude Code 會自動在請求頭中添加 Anthropic 的實驗性 Beta 標識,例如:

anthropic-beta: prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20

這些 Beta 標識是 Anthropic 直連 API 的特性,AWS Bedrock 等第三方平臺無法識別,於是返回錯誤:

Error: Unexpected value(s) for the anthropic-beta header

解決方法

# 方式一:Shell 命令
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1

# 方式二:settings.json
{
  "env": {
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
  }
}

設置爲 1 後,Claude Code 將不再發送這些實驗性 Beta 頭部,從而兼容所有第三方平臺。

已知問題與臨時解決方案

根據 GitHub Issues 記錄,部分 Claude Code 版本(2.1.18 之後)存在該環境變量不完全生效的問題——即使設置了 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1,某些新增的 Beta 頭部(如 advanced-tool-use-2025-11-20)仍然會被髮送。

如果你仍然遇到問題,可以嘗試以下額外措施:

  • 降級 Claude Code 版本: 回退到 2.1.68 等已知穩定版本
  • 使用 LiteLLM 網關: LiteLLM 提供了 anthropic_beta_headers_config.json 配置文件,可以精細控制哪些 Beta 頭部被轉發
  • 同時設置 DISABLE_PROMPT_CACHING: 禁用 Prompt 緩存可以避免 prompt-caching-scope 相關的 Beta 頭部
# 全面兼容設置
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
export DISABLE_PROMPT_CACHING=1

Claude Code 環境變量完整分類速查

第一類:認證與 API 配置

這是最基礎也是最常用的環境變量類別,控制 Claude Code 如何連接到 API 服務:

變量名 作用 使用場景
ANTHROPIC_API_KEY API 密鑰,作爲 X-Api-Key 頭部發送 使用第三方 API 平臺(如 API易 apiyi.com)
ANTHROPIC_AUTH_TOKEN 自定義 Authorization 頭部值(自動加 Bearer 前綴) 自定義認證方案
ANTHROPIC_CUSTOM_HEADERS 添加自定義請求頭(Name: Value 格式) 需要額外頭部的網關
ANTHROPIC_BASE_URL 自定義 API 端點地址 連接第三方 API 網關
CLAUDE_CODE_CLIENT_CERT mTLS 客戶端證書路徑 企業級安全認證
CLAUDE_CODE_CLIENT_KEY mTLS 私鑰路徑 企業級安全認證

🎯 第三方平臺用戶注意: 使用 API易 apiyi.com 等第三方 API 平臺時,需要同時設置 ANTHROPIC_API_KEYANTHROPIC_BASE_URL。Claude Code 會優先使用環境變量中的 API Key,即使你已登錄 Anthropic 訂閱賬號。

第二類:模型選擇與配置

控制 Claude Code 使用哪個模型以及模型的行爲參數:

變量名 作用 默認值
ANTHROPIC_MODEL 指定主模型名稱 Claude Sonnet 4.6
ANTHROPIC_DEFAULT_OPUS_MODEL 指定 Opus 級模型 Claude Opus 4.6
ANTHROPIC_DEFAULT_SONNET_MODEL 指定 Sonnet 級模型 Claude Sonnet 4.6
ANTHROPIC_DEFAULT_HAIKU_MODEL 指定 Haiku 級模型(後臺任務) Claude Haiku 4.5
CLAUDE_CODE_SUBAGENT_MODEL 子代理使用的模型 繼承主模型
CLAUDE_CODE_MAX_OUTPUT_TOKENS 最大輸出 Token 數 32,000(最大 64,000)
CLAUDE_CODE_EFFORT_LEVEL 推理深度(low/medium/high/max/auto) auto

第三類:平臺兼容與網關配置

這類變量專門解決 Claude Code 與不同雲平臺和 LLM 網關的兼容性問題:

變量名 作用 適用平臺
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS 禁用實驗性 Beta 頭部 AWS Bedrock / Vertex AI / 第三方網關
CLAUDE_CODE_USE_BEDROCK 啓用 AWS Bedrock 模式 AWS Bedrock
CLAUDE_CODE_SKIP_BEDROCK_AUTH 跳過 AWS 認證(使用網關時) LLM 網關 + Bedrock
CLAUDE_CODE_USE_FOUNDRY 啓用 Microsoft Foundry 模式 Azure AI
CLAUDE_CODE_SKIP_FOUNDRY_AUTH 跳過 Azure 認證 LLM 網關 + Azure
CLAUDE_CODE_SKIP_VERTEX_AUTH 跳過 Google Vertex 認證 LLM 網關 + Vertex
ANTHROPIC_FOUNDRY_BASE_URL Foundry 資源的基礎 URL Microsoft Foundry
ANTHROPIC_FOUNDRY_API_KEY Foundry API 密鑰 Microsoft Foundry
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION Haiku 模型的 AWS 區域 Bedrock 多區域

第四類:功能開關

通過 DISABLE_CLAUDE_CODE_DISABLE_ 前綴的變量關閉特定功能:

變量名 設爲 1 的效果
DISABLE_PROMPT_CACHING 禁用 Prompt 緩存
DISABLE_AUTOUPDATER 禁用自動更新
DISABLE_TELEMETRY 禁用遙測數據收集
DISABLE_ERROR_REPORTING 禁用錯誤報告
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 一鍵禁用上述全部非必要流量
CLAUDE_CODE_DISABLE_AUTO_MEMORY 禁用自動記憶功能
CLAUDE_CODE_DISABLE_1M_CONTEXT 禁用百萬 Token 上下文窗口
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING 禁用自適應推理
CLAUDE_CODE_DISABLE_FAST_MODE 禁用快速模式
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS 禁用後臺任務功能
CLAUDE_CODE_DISABLE_CRON 禁用定時任務
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS 移除內置 Git 指令

第五類:上下文與性能管理

控制 Claude Code 如何管理上下文窗口和資源使用:

變量名 作用 默認值
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE 自動壓縮觸發百分比 95%
CLAUDE_CODE_AUTO_COMPACT_WINDOW 用於壓縮計算的 Token 窗口大小 模型上下文窗口
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS 文件讀取最大 Token 默認值
CLAUDE_CODE_API_KEY_HELPER_TTL_MS 憑證刷新間隔(毫秒)
CLAUDE_CODE_TMPDIR 臨時文件目錄 /tmp(Unix)
CLAUDE_CODE_SHELL 指定使用的 Shell 自動檢測

🎯 性能優化建議: 如果你在長對話中發現 Claude Code 頻繁壓縮上下文,可以將 CLAUDE_AUTOCOMPACT_PCT_OVERRIDE 設爲更低的值(如 50),讓壓縮提前觸發,減少信息丟失。通過 API易 apiyi.com 調用時同樣支持這些環境變量配置。

<!– 標題 –> Claude Code 60+ 環境變量分類總覽 按使用頻率排序 · 橙色高亮爲本文重點

<!– 第一行:3 個卡片 –> <!– 1. 平臺兼容(高亮) –> 平臺兼容 9 個 DISABLE_EXPERIMENTAL_BETAS CLAUDE_CODE_USE_BEDROCK SKIP_BEDROCK_AUTH CLAUDE_CODE_USE_FOUNDRY SKIP_VERTEX_AUTH + 4 more… 解決 anthropic-beta 報錯

<!– 2. 認證配置 –> 認證與 API 6 個 ANTHROPIC_API_KEY ANTHROPIC_AUTH_TOKEN ANTHROPIC_CUSTOM_HEADERS ANTHROPIC_BASE_URL CLIENT_CERT / CLIENT_KEY API Key 優先於 /login 訂閱

<!– 3. 模型選擇 –> 模型選擇 7 個 ANTHROPIC_MODEL DEFAULT_OPUS_MODEL DEFAULT_SONNET_MODEL DEFAULT_HAIKU_MODEL EFFORT_LEVEL / MAX_OUTPUT 支持 low/medium/high/max

<!– 第二行:3 個卡片 –> <!– 4. 功能開關 –> 功能開關 12 個 DISABLE_PROMPT_CACHING DISABLE_TELEMETRY DISABLE_AUTO_MEMORY DISABLE_1M_CONTEXT DISABLE_FAST_MODE + 7 more (CRON/GIT/…) NONESSENTIAL_TRAFFIC 一鍵禁用

<!– 5. 上下文管理 –> 上下文與性能 6 個 AUTOCOMPACT_PCT_OVERRIDE AUTO_COMPACT_WINDOW FILE_READ_MAX_OUTPUT CLAUDE_CODE_TMPDIR CLAUDE_CODE_SHELL 壓縮默認 95%,可調低至 50%

<!– 6. 其他 –> 其他設置 20+ ENABLE_TELEMETRY (OTel) EXPERIMENTAL_AGENT_TEAMS ENABLE_PROMPT_SUGGESTION IDE_SKIP_AUTO_INSTALL SHELL_PREFIX + 15 more… SDK/團隊/監控/插件等

<!– 底部統計 –> Claude Code 官方文檔共收錄 60+ 個環境變量 | 完整列表: code.claude.com/docs/en/env-vars


Claude Code 環境變量快速上手

極簡示例:配置 Claude Code 連接第三方 API 平臺

# 在終端中設置環境變量後啓動 Claude Code
export ANTHROPIC_API_KEY="sk-your-api-key"
export ANTHROPIC_BASE_URL="https://vip.apiyi.com/v1"
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
claude

查看完整的 settings.json 配置模板(含 AWS Bedrock 兼容設置)
{
  "env": {
    "ANTHROPIC_API_KEY": "sk-your-api-key",
    "ANTHROPIC_BASE_URL": "https://vip.apiyi.com/v1",
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
    "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "32000",
    "CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "80",
    "DISABLE_TELEMETRY": "1"
  },
  "permissions": {
    "allow": ["Read", "Glob", "Grep"],
    "deny": []
  }
}

AWS Bedrock 專用配置

{
  "env": {
    "CLAUDE_CODE_USE_BEDROCK": "1",
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
    "DISABLE_PROMPT_CACHING": "1",
    "ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION": "us-east-1"
  }
}

Microsoft Foundry 專用配置

{
  "env": {
    "CLAUDE_CODE_USE_FOUNDRY": "1",
    "ANTHROPIC_FOUNDRY_BASE_URL": "https://my-resource.services.ai.azure.com/anthropic",
    "ANTHROPIC_FOUNDRY_API_KEY": "your-foundry-key",
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
  }
}

建議: 如果你不想折騰 AWS Bedrock 或 Azure 的複雜配置,可以通過 API易 apiyi.com 直接使用 Claude 全系列模型。只需設置 API Key 和 Base URL 兩個變量,無需處理雲平臺認證和兼容性問題。


常見問題

Q1: 設置了 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 但仍然報 anthropic-beta header 錯誤怎麼辦?

這是 Claude Code 的已知 Bug(GitHub Issue #22893、#20031)。部分新版本會引入新的 Beta 頭部,而環境變量未能完全攔截。解決方案:

  1. 降級到 2.1.68 等已知穩定版本
  2. 同時設置 DISABLE_PROMPT_CACHING=1 禁用緩存相關頭部
  3. 如果使用 LiteLLM 網關,配置 anthropic_beta_headers_config.json 做精細過濾
  4. 換用 API易 apiyi.com 等兼容性更好的第三方平臺,避免直連 Bedrock 的頭部問題

Q2: ANTHROPIC_API_KEY 環境變量和 /login 登錄有什麼優先級關係?

環境變量 API Key 優先級高於 /login 登錄的訂閱認證。當你設置了 ANTHROPIC_API_KEY 環境變量後,即使已通過 /login 登錄了 Claude Pro/Team 訂閱,Claude Code 也會使用環境變量中的 Key,按 API 按量計費。如果你通過 API易 apiyi.com 獲取的 Key,費用將通過該平臺結算。

Q3: 如何查看當前 Claude Code 生效的環境變量配置?

在 Claude Code 交互模式中運行 /config 命令,可以查看當前所有配置項的狀態,包括環境變量、settings.json 設置和默認值。也可以在終端中運行 env | grep -E "CLAUDE|ANTHROPIC|DISABLE" 查看已設置的相關環境變量。


總結

Claude Code 環境變量的核心要點:

  1. 解決 AWS Bedrock 報錯: 設置 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 禁用實驗性 Beta 頭部,一行配置解決「Unexpected value(s) for the anthropic-beta header」錯誤
  2. 60+ 環境變量分 6 大類: 認證配置、模型選擇、平臺兼容、功能開關、上下文管理、其他設置
  3. 兩種配置方式: Shell export(臨時)和 settings.json(永久),推薦永久配置寫入 settings.json
  4. 第三方平臺簡化方案: 通過 API易 apiyi.com 等統一 API 平臺,只需設置 ANTHROPIC_API_KEYANTHROPIC_BASE_URL 兩個變量,無需處理複雜的雲平臺認證和 Beta 頭部兼容性

推薦通過 API易 apiyi.com 快速體驗 Claude Code 接入,平臺提供免費額度和統一接口,避免 AWS Bedrock/Vertex AI 配置中的各種兼容性坑。


📚 參考資料

  1. Claude Code 官方文檔 – 環境變量: 完整的環境變量列表和說明

    • 鏈接: code.claude.com/docs/en/env-vars
    • 說明: 所有 60+ 環境變量的官方權威參考
  2. Claude Code 官方文檔 – 設置: 配置作用域和 settings.json 規範

    • 鏈接: code.claude.com/docs/en/settings
    • 說明: 理解 Managed/User/Project/Local 四級配置體系
  3. Claude Code 官方文檔 – Amazon Bedrock: AWS Bedrock 集成指南

    • 鏈接: code.claude.com/docs/en/amazon-bedrock
    • 說明: Bedrock 專用配置和常見問題解決
  4. GitHub Issue #22893 – DISABLE_EXPERIMENTAL_BETAS 不完全生效: 社區 Bug 報告

    • 鏈接: github.com/anthropics/claude-code/issues/22893
    • 說明: 瞭解該環境變量的已知侷限和臨時解決方案
  5. LiteLLM – Claude Code Beta Headers 管理: 網關層面的 Beta 頭部過濾方案

    • 鏈接: docs.litellm.ai/docs/tutorials/claude_code_beta_headers
    • 說明: 使用 LiteLLM 網關時的精細化 Beta 頭部控制

作者: APIYI 技術團隊
技術交流: 歡迎在評論區討論 Claude Code 配置經驗,更多使用教程可訪問 API易 docs.apiyi.com 文檔中心

Similar Posts