SpyBara
Go Premium

env-vars.md 2026-10-06 23:59 UTC to 2026-10-07 20:57 UTC

This page contains 334 additions and 330 deletions.

2026
Thu 1 23:59 Fri 2 22:59 Sat 3 23:57 Sun 4 23:58 Mon 5 23:58 Tue 6 23:59 Wed 7 20:57

環境變數

控制 Claude Code 行為的環境變數參考。

環境變數可以控制 Claude Code 的行為,例如模型選擇、身份驗證、請求路由和功能切換。許多相同的行為也可以透過設定檔欄位、CLI 旗標或工作階段內命令(如 /model)進行設定。

本頁涵蓋以下內容:

設定環境變數

您在 shell 中設定的變數只在該終端機工作階段期間有效,而設定檔中的變數則在每次執行 claude 時都會套用。

在您的 shell 中

在啟動 claude 之前設定變數:

export API_TIMEOUT_MS="1200000"
claude

若要在每個工作階段都設定它,請將 export 行新增到 ~/.bashrc、~/.zshrc 或您的 shell 設定檔。

指派行在成功時不會列印任何內容。若要確認變數已設定,請在同一個 shell 中將其列印出來:

echo $API_TIMEOUT_MS

在設定檔中

在 settings.json 檔案的 env 鍵下新增變數,如果檔案不存在則建立它。Claude Code 會直接從檔案讀取它們,因此無論如何啟動 claude,它們都會生效。執行中的工作階段會在您儲存檔案時將新的和已變更的值套用到其環境,但在啟動時讀取其變數一次的功能(例如 OpenTelemetry 監控)會保留其啟動值,直到您重新啟動為止。從檔案中移除變數不會在執行中的工作階段中取消設定它;移除會在您下次啟動 claude 時生效。

{
  "env": {
    "API_TIMEOUT_MS": "1200000",
    "BASH_DEFAULT_TIMEOUT_MS": "300000"
  }
}

Claude Code 會依原樣將這些值複製到其環境中。這些值不會經過任何 shell 處理,因此 ~ 或 $HOME 等簡寫會保持輸入時的樣子。對於接受路徑的變數(例如 CLAUDE_CONFIG_DIR),請寫入絕對路徑:"CLAUDE_CONFIG_DIR": "/home/you/.claude-work"。

您選擇的檔案控制變數套用的對象:

檔案 套用對象
~/.claude/settings.json 您,在每個專案中
.claude/settings.json 在專案中工作的所有人,簽入原始碼控制
.claude/settings.local.json 您,僅在此專案中,當 Claude Code 將設定儲存到它時會被 gitignore;如果您手動建立它,請將其新增到您的 gitignore
受管理的設定 您組織中的所有人,由管理員部署

請參閱 設定檔 以了解每個檔案的位置,以及 設定優先順序 以了解當多個檔案設定相同變數時它們如何結合。

優先順序

某些行為同時具有環境變數和專用設定鍵,Claude Code 讀取哪一個的順序因鍵而異。對於 ANTHROPIC_MODEL 和 CLAUDE_CODE_AUTO_CONNECT_IDE,Claude Code 會先讀取變數,只有在變數未設定時才使用 model 或 autoConnectIde 設定。對於您要設定的配對,請檢查下方變數的列,以及 設定參考 上的鍵項目。

當相同的變數同時在您的 shell 和設定檔 env 區塊中設定時,設定檔值會在大多數工作階段中套用。Claude Code 會將每個 env 項目寫入程序環境,取代從 shell 繼承的值。env 值如何與您的 shell 互動 涵蓋保留繼承值的工作階段,以及 env 設定 說明何時套用它們。少數變數有特殊處理;env 設定 列出例外。

在設定檔中,您可以設定變數,但無法移除變數。若要覆寫無法取消設定的變數,例如由您無法控制的 shell 設定檔匯出的過時 CLAUDE_CODE_USE_VERTEX,請在 env 區塊中將其設定為空字串:"CLAUDE_CODE_USE_VERTEX": ""。Claude Code 將空值視為未設定以進行提供者選擇。子程序仍會繼承空值。

在設定檔之間,env 值遵循 設定優先順序,因此受管設定項目會覆寫使用者或專案設定中的相同變數。專案和本機設定無法設定某些變數,例如 CLAUDE_CONFIG_DIR 和 OpenTelemetry 匯出器變數。Claude Code 在 env 中忽略的變數 列出它們,以及仍然適用的 OpenTelemetry 關閉值。

環境變數如何與 CLI 旗標和工作階段內命令互動因功能而異:--model 和 /model 會覆寫 ANTHROPIC_MODEL,而 CLAUDE_CODE_EFFORT_LEVEL 會覆寫 --effort 和 /effort。當變數與另一個設定來源互動時,變數 列表中的其列會說明優先順序或連結到記錄該項目的頁面。

Claude Code 在啟動時讀取 shell 環境變數,因此對它們的變更會在您下次啟動 claude 時生效。在設定檔中 env 鍵下設定的變數會在檔案變更時重新套用到執行中的工作階段,但 在設定檔中 所述的僅啟動時例外。

變數

數值型變數(例如逾時、token 預算與重試次數)除了純數字之外,也接受科學記號與數字分隔符號寫法,除非該變數所在列註明僅接受純數字。例如,Claude Code 會將 2e3 讀取為 2000,將 64_000 讀取為 64000。在 v2.1.211 之前,這些寫法可能會在沒有任何提示的情況下設定為小得多的值,例如 1e6 會將逾時設定為 1。

變數 用途
ANTHROPIC_API_KEY 以 X-Api-Key 標頭傳送的 API 金鑰。設定後,即使您已登入,也會使用此金鑰,而非您的 Claude Pro、Max、Team 或 Enterprise 訂閱。在非互動模式(-p)中,只要有此金鑰就一律使用。在互動模式中,系統會提示您核准一次該金鑰,之後它才會取代您的訂閱。若要改用您的訂閱,請執行 unset ANTHROPIC_API_KEY
ANTHROPIC_AUTH_TOKEN Authorization 標頭的自訂值(您在此設定的值會加上 Bearer 前綴)
ANTHROPIC_AWS_API_KEY Claude Platform on AWS 的工作區 API 金鑰,於 AWS Console 中產生。以 x-api-key 傳送,且優先於 AWS SigV4
ANTHROPIC_AWS_BASE_URL 覆寫 Claude Platform on AWS 端點 URL。用於自訂區域,或透過 LLM 閘道 路由時。預設為 https://aws-external-anthropic.{region}.api.aws。Claude Code 會以與 Amazon Bedrock 相同的優先順序解析區域
ANTHROPIC_AWS_WORKSPACE_ID Claude Platform on AWS 的必要設定。每個請求都會以 anthropic-workspace-id 標頭傳送
ANTHROPIC_BASE_URL 覆寫 API 端點,以透過代理伺服器或閘道路由請求。設定為非第一方主機時,MCP Tool Search 預設為停用。若您的代理伺服器會轉送 tool_reference 區塊,請設定 ENABLE_TOOL_SEARCH=true。自 v2.1.196 起,當此變數指向 api.anthropic.com 以外的主機時,Remote Control 會停用,與其在 Amazon Bedrock、Google Cloud's Agent Platform 及 Microsoft Foundry 上的行為一致
ANTHROPIC_BEDROCK_BASE_URL 覆寫 Amazon Bedrock 端點 URL。用於自訂 Amazon Bedrock 端點,或透過 LLM 閘道 路由時。請參閱 Amazon Bedrock
ANTHROPIC_BEDROCK_MANTLE_BASE_URL 覆寫 Amazon Bedrock Mantle 端點 URL。請參閱 Mantle 端點
ANTHROPIC_BEDROCK_REGION_PREFIX Claude Code 優先嘗試的跨區域推論設定檔前綴(us、eu、apac、jp、au 或 global),而非由 AWS 區域推導出的前綴。在 AWS GovCloud 區域中會被忽略。需要 Claude Code v2.1.224 或更新版本。請參閱 Amazon Bedrock
ANTHROPIC_BEDROCK_SERVICE_TIER Amazon Bedrock 服務層級(default、flex 或 priority)。以 X-Amzn-Bedrock-Service-Tier 標頭傳送。請參閱 Amazon Bedrock
ANTHROPIC_BETAS 以逗號分隔的額外 anthropic-beta 標頭值清單,會包含在 API 請求中。Claude Code 已會傳送其所需的 beta 標頭;在 Claude Code 加入原生支援之前,可使用此變數選擇加入某項 Anthropic API beta。與需要 API 金鑰身分驗證的 --betas 旗標不同,此變數適用於所有驗證方式,包括 Claude.ai 訂閱
ANTHROPIC_CUSTOM_HEADERS 要新增至請求的自訂標頭(Name: Value 格式,多個標頭以換行分隔)。若名稱或值包含 HTTP 標頭無法承載的字元(例如彎引號或零寬空格),請求會失敗,並顯示依位置指出該組標頭的錯誤。需要 Claude Code v2.1.227 或更新版本。Invalid request header value 列出確切的字元集以及檢查執行的位置。若值設定的是憑證、組織或租用戶、路由或 API 行為相關標頭(例如 Authorization 或 Host),當由伺服器管理設定傳遞時,會被視為需要核准的設定。若來自專案或本機設定,此類值會遵循env 值何時套用的規則
ANTHROPIC_CUSTOM_MODEL_OPTION 要在 /model 選擇器中新增為自訂項目的模型 ID。可用於讓非標準或閘道專屬的模型可供選擇,而不必取代內建別名。請參閱模型設定
ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION /model 選擇器中自訂模型項目的顯示描述。未設定時,預設為 Custom model (<model-id>)
ANTHROPIC_CUSTOM_MODEL_OPTION_NAME /model 選擇器中自訂模型項目的顯示名稱。未設定時,若 Claude Code 能辨識該 ID,該項目會顯示模型名稱,否則顯示模型 ID
ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES 以逗號分隔的自訂模型所支援功能清單,例如 effort,thinking。請參閱模型設定
ANTHROPIC_DEFAULT_FABLE_MODEL fable 別名所解析的模型 ID,也是 Claude Code 在第三方供應商上為自動模型備援辨識為 Fable 模型的 ID。請參閱模型設定
ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION /model 選擇器中已固定之 Fable 模型的顯示描述。未設定時,該列會顯示以 Custom Fable model 開頭的預設描述。請參閱模型設定
ANTHROPIC_DEFAULT_FABLE_MODEL_NAME /model 選擇器中已固定之 Fable 模型的顯示名稱。未設定時,若 Claude Code 能辨識所固定的 ID,該列會顯示模型名稱,否則顯示所固定的 ID。請參閱模型設定
ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES 以逗號分隔的已固定 Fable 模型所支援功能清單,例如 effort,thinking。請參閱模型設定
ANTHROPIC_DEFAULT_HAIKU_MODEL haiku 別名所解析的模型 ID,也用於背景功能。請參閱模型設定
ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION /model 選擇器中已固定之 Haiku 模型的顯示描述。未設定時,該列會顯示以 Custom Haiku model 開頭的預設描述。請參閱模型設定
ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME /model 選擇器中已固定之 Haiku 模型的顯示名稱。未設定時,若 Claude Code 能辨識所固定的 ID,該列會顯示模型名稱,否則顯示所固定的 ID。請參閱模型設定
ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES 以逗號分隔的已固定 Haiku 模型所支援功能清單,例如 effort,thinking。請參閱模型設定
ANTHROPIC_DEFAULT_MODEL 新工作階段預設啟動時使用的模型。需要 Claude Code v2.1.236 或更新版本。請參閱為新工作階段設定預設模型
ANTHROPIC_DEFAULT_OPUS_MODEL opus 別名所解析的模型 ID,也是 opusplan 在 Plan Mode 啟用時所使用的模型。請參閱模型設定
ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION /model 選擇器中已固定之 Opus 模型的顯示描述。未設定時,該列會顯示以 Custom Opus model 開頭的預設描述。請參閱模型設定
ANTHROPIC_DEFAULT_OPUS_MODEL_NAME /model 選擇器中已固定之 Opus 模型的顯示名稱。未設定時,若 Claude Code 能辨識所固定的 ID,該列會顯示模型名稱,否則顯示所固定的 ID。請參閱模型設定
ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES 以逗號分隔的已固定 Opus 模型所支援功能清單,例如 effort,thinking。請參閱模型設定
ANTHROPIC_DEFAULT_SONNET_MODEL sonnet 別名所解析的模型 ID,也是 opusplan 在 Plan Mode 未啟用時所使用的模型。請參閱模型設定
ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION /model 選擇器中已固定之 Sonnet 模型的顯示描述。未設定時,該列會顯示以 Custom Sonnet model 開頭的預設描述。請參閱模型設定
ANTHROPIC_DEFAULT_SONNET_MODEL_NAME /model 選擇器中已固定之 Sonnet 模型的顯示名稱。未設定時,若 Claude Code 能辨識所固定的 ID,該列會顯示模型名稱,否則顯示所固定的 ID。請參閱模型設定
ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES 以逗號分隔的已固定 Sonnet 模型所支援功能清單,例如 effort,thinking。請參閱模型設定
ANTHROPIC_FEDERATION_RULE_ID Workload Identity Federation 的聯合規則 ID。當您將其與 ANTHROPIC_ORGANIZATION_ID 一同設定時,Claude Code 會選用聯合憑證,其優先順序高於您的 /login 憑證。請參閱身分驗證優先順序
ANTHROPIC_FOUNDRY_API_KEY 用於 Microsoft Foundry 身分驗證的 API 金鑰(請參閱 Microsoft Foundry)
ANTHROPIC_FOUNDRY_AUTH_TOKEN 用於 Microsoft Foundry 身分驗證的 Bearer token,例如 Microsoft Entra 存取 token。Claude Code 會以 Authorization: Bearer 標頭傳送。優先於 ANTHROPIC_FOUNDRY_API_KEY 及 Azure 預設憑證鏈。請參閱 Microsoft Foundry。需要 Claude Code v2.1.203 或更新版本
ANTHROPIC_FOUNDRY_BASE_URL Microsoft Foundry 資源的完整基礎 URL(例如 https://my-resource.services.ai.azure.com/anthropic)。為 ANTHROPIC_FOUNDRY_RESOURCE 的替代方案(請參閱 Microsoft Foundry)
ANTHROPIC_FOUNDRY_RESOURCE Microsoft Foundry 資源名稱(例如 my-resource)。Claude Code 會拒絕 URL 或主機名稱。若未設定 ANTHROPIC_FOUNDRY_BASE_URL 則為必要設定(請參閱 Microsoft Foundry)
ANTHROPIC_MODEL 要使用的模型設定名稱(請參閱模型設定)
ANTHROPIC_ORGANIZATION_ID Workload Identity Federation 的組織 ID。請與 ANTHROPIC_FEDERATION_RULE_ID 一同設定。請參閱身分驗證優先順序
ANTHROPIC_PROFILE 用於身分驗證的 Anthropic 設定檔名稱,例如由 ant auth login 建立的設定檔,或透過不使用 API 金鑰登入 Console 帳戶所建立的設定檔。請參閱身分驗證優先順序
ANTHROPIC_SMALL_FAST_MODEL [已棄用] 用於背景任務的 Haiku 級模型名稱
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION 使用 Amazon Bedrock 或 Amazon Bedrock Mantle 時,覆寫 Haiku 級模型的 AWS 區域。在 Amazon Bedrock 上,僅在同時設定 ANTHROPIC_DEFAULT_HAIKU_MODEL 或已棄用的 ANTHROPIC_SMALL_FAST_MODEL 時才會生效,因為否則 Amazon Bedrock 會在工作階段區域中以預設 Sonnet 模型或主要模型執行背景任務
ANTHROPIC_VERTEX_BASE_URL 覆寫 Google Cloud's Agent Platform 端點 URL。用於自訂 Google Cloud's Agent Platform 端點,或透過 LLM 閘道 路由時。請參閱 Google Cloud's Agent Platform
ANTHROPIC_VERTEX_PROJECT_ID Google Cloud's Agent Platform 請求所指向的 GCP 專案 ID。請參閱設定 GCP 憑證
ANTHROPIC_WORKSPACE_ID Workload Identity Federation 的工作區 ID。當您的聯合規則涵蓋多個工作區時請設定此變數,讓 token 交換知道要以哪個工作區為目標
API_FORCE_IDLE_TIMEOUT 覆寫 5 分鐘的主體閒置逾時,該逾時會在沒有位元組抵達時中止串流模型回應。設為 0 可關閉逾時,例如當緩慢的閘道或本機模型在區塊之間暫停超過 5 分鐘時;設為 1 則對所有供應商都保持開啟。未設定時,除了直接使用 Anthropic API、Claude Platform on AWS,以及設定了 CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1 的 Amazon Bedrock 之外,其他供應商都會啟用此逾時。串流監控程式獨立於此運作,即使您在此設為 0,仍會中止長時間的無回應暫停
API_TIMEOUT_MS API 請求的逾時時間,以毫秒為單位(預設:600000,即 10 分鐘;最大值:2147483647)。當請求在緩慢的網路上逾時,或透過代理伺服器路由時,請調高此值。超過最大值的值會使底層計時器溢位,導致請求立即失敗
AWS_BEARER_TOKEN_BEDROCK 用於身分驗證的 Amazon Bedrock API 金鑰(請參閱 Amazon Bedrock API keys)
BASH_DEFAULT_TIMEOUT_MS 前景 Bash 或 PowerShell 工具命令的預設逾時,以毫秒為單位(預設:120000,即 2 分鐘)。若預設值超過 30 分鐘,在無人值守的工作階段中,也會成為背景命令的時間限制預設值。背景時間限制需要 Claude Code v2.1.285 或更新版本
BASH_MAX_OUTPUT_LENGTH Claude Code 讀回命令結果中的 bash 輸出最大字元數(預設:30000;最大值:150000)。若您設定了 bashOutputMaxChars 設定,Claude Code 會忽略此變數。請參閱輸出限制
BASH_MAX_TIMEOUT_MS 模型可為前景 Bash 或 PowerShell 工具命令設定的最大逾時,以毫秒為單位(預設:600000,即 10 分鐘)。實際上限為此值與 BASH_DEFAULT_TIMEOUT_MS 中較大者。若實際上限超過 2 小時,在無人值守的工作階段中,也會成為背景命令的時間限制最大值。背景時間限制需要 Claude Code v2.1.285 或更新版本
BETA_TRACING_ENDPOINT 詳細 beta 追蹤的 OTLP/HTTP 端點:搭配 ENABLE_BETA_TRACING_DETAILED=1 時,日誌與追蹤會傳送至該處,而非已設定的匯出器。請在您的 shell、使用者設定或受管設定中設定。在專案與本機設定中會被忽略
CCR_FORCE_BUNDLE 設為 1 可強制 claude --cloud 打包並上傳您的本機儲存庫,而非從其遠端複製
CLAUDECODE 在 Claude Code 產生的子程序(Bash 與 PowerShell 工具、tmux 工作階段、hook 命令、狀態列命令、stdio MCP 伺服器子程序)中設為 1。IDE 擴充功能也會在其整合式終端機中設定此變數。可用於偵測指令碼是否在 Claude Code 產生的子程序中執行。若要檢查目前程序是否由工具呼叫或 hook 直接產生,而非在 Claude Code 啟動的 stdio MCP 伺服器內,請改用 CLAUDE_CODE_CHILD_SESSION
CLAUDE_AFK_COUNTDOWN_MS 在未回答的 AskUserQuestion 對話框自動繼續之前,畫面上倒數計時出現的毫秒數。預設為 20000(20 秒),上限為自動繼續逾時。除非已開啟自動繼續,否則沒有作用;請參閱 askUserQuestionTimeout 設定與 CLAUDE_AFK_TIMEOUT_MS。需要 Claude Code v2.1.198 或更新版本
CLAUDE_AFK_TIMEOUT_MS 未回答的 AskUserQuestion 對話框在閒置多少毫秒後,會在無您參與的情況下自動繼續。自動繼續預設為關閉;請透過 askUserQuestionTimeout 設定選擇加入。此變數是用於示範與自動化測試的覆寫:設定後,它會優先於該設定,即使該設定未設定或為 never,也會開啟自動繼續。設為 0 並不會關閉逾時,而是會立即關閉對話框。在 v2.1.198 與 v2.1.199 中,自動繼續預設為開啟,逾時為 60000(60 秒)。需要 Claude Code v2.1.198 或更新版本
CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS 設為 1 可停用所有內建 subagent 類型,例如 Explore 與 Plan。僅適用於非互動模式(-p 旗標)。適合想要從零開始的 SDK 使用者。這也會移除 general-purpose,即 Agent 工具呼叫省略 subagent_type 時 Claude Code 所執行的 subagent。此類呼叫隨後會以 subagent_type is required 失敗
CLAUDE_AGENT_SDK_MCP_NO_PREFIX 設為 1 可略過由 SDK 建立之 MCP 伺服器的工具名稱上的 mcp__<server>__ 前綴。工具會使用其原始名稱。僅限 SDK 使用
CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS subagent 的停滯逾時,以毫秒為單位。預設為 600000(10 分鐘);若您在串流監控程式開啟時調高 CLAUDE_STREAM_IDLE_TIMEOUT_MS,預設值也會隨之提高,如處理緩慢或停滯的 API 回應所述。計時器會在每個串流進度事件時重設;若在時間範圍內沒有任何進度,Claude Code 會中止該 subagent 並向上層回報停滯
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE 設定自動壓縮視窗中觸發自動壓縮的百分比(1-100)。使用較低的值(例如 50)可提早壓縮;此變數無法提高閾值,因此高於預設百分比的值會被忽略。僅適用於在模型上下文限制之前壓縮的工作階段。同時適用於主要對話與 subagent
CLAUDE_AUTO_BACKGROUND_TASKS 設為 1 可強制啟用長時間執行之 agent 任務的自動背景化。啟用後,subagent 在執行約兩分鐘後會移至背景。在 Claude Code v2.1.212 或更新版本中,也會在非互動模式下啟用長時間 MCP 工具呼叫的自動背景化
CLAUDE_AX_PREPARK_MS 在螢幕閱讀器模式中,Claude Code 寫入新行或已變更行之前等待的毫秒數。預設為 0,因此 Claude Code 不會等待。在 v2.1.287 之前,預設值為 50。Claude Code 將等待上限設為 5000。需要 Claude Code v2.1.233 或更新版本
CLAUDE_AX_SCREEN_READER 設為 1 可呈現適合螢幕閱讀器的輸出:不含裝飾性邊框或動畫的純文字。設為 0 可強制關閉螢幕閱讀器模式,即使 axScreenReader 為 true 亦然。--ax-screen-reader 旗標優先於此變數。需要 Claude Code v2.1.181 或更新版本
CLAUDE_AX_STARTUP_QUIET_MS 在螢幕閱讀器模式中,Claude Code 在啟動確認行之後暫緩第一次介面呈現的毫秒數,讓您的螢幕閱讀器能在新輸出中斷之前完整唸出該行。預設為 3000。設為 0 可立即呈現。Claude Code 將暫緩上限設為 600000(10 分鐘)。您的第一次按鍵會提早結束暫緩。需要 Claude Code v2.1.217 或更新版本
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR 在主要工作階段中,每個 Bash 或 PowerShell 命令執行後返回原始工作目錄
CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS 位元組層級串流閒置監控程式的逾時,以毫秒為單位;設定後,對該監控程式而言會優先於 CLAUDE_STREAM_IDLE_TIMEOUT_MS,且不影響事件層級監控程式。Claude Code 會將此變數限制在 10 秒到 30 分鐘之間。需要 Claude Code v2.1.210 或更新版本
CLAUDE_CLIENT_PRESENCE_FILE 一個檔案的路徑,由外部工具(例如螢幕鎖定監聽器)在您解鎖螢幕時建立、鎖定螢幕時刪除。當該檔案存在時,Claude Code 會略過 Remote Control 行動推播通知,讓您在正在使用電腦時不會收到推播。當檔案不存在或無法讀取時,通知會照常傳送。Claude Code 會在每個觸發推播的事件時檢查一次該檔案,而非輪詢。需要 Claude Code v2.1.181 或更新版本
CLAUDE_CODE_ACCESSIBILITY 設為 1 可保持原生終端機游標可見,並停用反白文字游標指示器。讓 macOS Zoom 等螢幕放大鏡能追蹤游標位置
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD 設為 1 可從以 --add-dir 指定的目錄載入記憶檔案。會載入 CLAUDE.md、.claude/CLAUDE.md、.claude/rules/*.md 與 CLAUDE.local.md。預設情況下,額外目錄不會載入記憶檔案
CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT 設為 1 可在全螢幕呈現中每一影格都重繪整個畫面,而非傳送增量更新。若全螢幕模式顯示過時或錯位的文字片段,請使用此設定。Claude Code 會在 Windows 上的背景工作階段與 agent view 自動啟用此設定
CLAUDE_CODE_ALWAYS_ENABLE_EFFORT 設為 1 可在每個請求中傳送 effort 參數,即使 Claude Code 無法將該模型 ID 辨識為支援 effort。當透過以自訂識別碼提供模型的 LLM 閘道或第三方供應商路由時,請使用此設定。在 API 層級拒絕 effort 參數的模型(包括 Claude 3 模型、Sonnet 4.0 與 4.5、Opus 4.0 與 4.1,以及 Haiku 4.5)仍會被排除,以免請求失敗
CLAUDE_CODE_API_KEY_HELPER_TTL_MS 憑證重新整理的間隔,以毫秒為單位(使用 apiKeyHelper 時)
CLAUDE_CODE_ARTIFACT_AUTO_OPEN 設為 0 可在新的 artifact 發佈時,不讓 Claude Code 自動開啟瀏覽器
CLAUDE_CODE_ARTIFACT_COMMENTS 設為 0 可讓 Claude 停止讀取及回覆 artifact 上的留言。當 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 已關閉 artifact 時沒有作用。需要 Claude Code v2.1.221 或更新版本
CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT 設為 0 可讓 Claude 停止自行回覆傳送給它的留言。需要 Claude Code v2.1.228 或更新版本
CLAUDE_CODE_ATTRIBUTION_HEADER 設為 0 可從系統提示詞開頭省略歸屬區塊,該區塊包含用戶端版本與提示詞指紋。無論如何,直接連線至 Anthropic API 時的快取都不受影響。在某些直接連線設定中,即使您設為 0,Claude Code 仍會在自動模式分類器請求中保留該區塊。請在系統提示詞歸屬區塊中查看此情況涵蓋哪些連線與憑證。在 v2.1.181 之前,該區塊在自訂基礎 URL 與 Microsoft Foundry 連線中包含每個請求各自的 token,因此在這些版本上,若您的 LLM 閘道會依請求主體進行快取或將請求轉送至第三方供應商,或您直接連線至 Microsoft Foundry,請將其設為 0
CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS 已於 v2.1.283 移除。請改用 CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE
CLAUDE_CODE_AUTO_COMPACT_WINDOW 以 token 為單位設定自動壓縮視窗,範圍從 100000 到 1000000。僅接受純整數,例如 500000:像 500k 這樣的值會被讀取為 500,並被限制為最小值 100K。實際視窗也以模型的上下文視窗為上限。優先於 /autocompact 命令、--autocompact 旗標與 autoCompactWindow 設定。狀態列的 used_percentage 一律以模型的完整上下文視窗為基準計算,因此一旦設定此變數,該百分比就不再能表示壓縮何時執行
CLAUDE_CODE_AUTO_CONNECT_IDE 覆寫自動 IDE 連線。預設情況下,在受支援 IDE 的整合式終端機中啟動時,Claude Code 會自動連線。設為 false 可防止此行為。設為 true 可在自動偵測失敗時(例如 tmux 遮蔽了上層終端機時)強制嘗試連線。優先於 autoConnectIde 全域設定
CLAUDE_CODE_AUTO_MODE_SERVER 控制 Claude Code 是否要求伺服器審查自動模式動作。設為 0 可改用 Claude Code 自己的分類器請求。在直接連線至 Anthropic API 時,需要 v2.1.281 或更新版本。連結的章節列出未設定此變數時哪些工作階段會詢問伺服器,以及自哪個版本起。需要 Claude Code v2.1.271 或更新版本
CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS Claude Code 等待 AWS 預設憑證提供者鏈產生憑證的毫秒數,超過後請求會以 AWS default-chain credential resolve timed out 失敗(預設:60000)。當您的憑證鏈中某個步驟確實需要更長時間時請調高此值,例如透過 aws-vault 等包裝工具進行的瀏覽器 SSO 登入並搭配 MFA。適用於 Amazon Bedrock、Claude Platform on AWS 及 Mantle 端點。請參閱憑證快取與解析逾時。需要 Claude Code v2.1.207 或更新版本
CLAUDE_CODE_BASH_EDIT_DIFF 設為 0 可關閉 Bash 命令執行期間所變更檔案的差異,設為 1 則可在所有權限模式中記錄該差異。優先於 bashEditDiffEnabled 設定。需要 Claude Code v2.1.269 或更新版本
CLAUDE_CODE_BG_TASKS_REPORT_RUNNING 設為 0 可讓非互動工作階段在每個回合結束時向其主機回報閒置狀態,即使背景工作仍在執行中。預設情況下,當背景 agent 或 工作流程執行等背景工作仍在進行時,工作階段在回合結束後仍會持續回報執行中狀態。這可避免監看狀態的主機(例如遠端工作階段清單)在工作進行中宣告 Claude 正在等待您的輸入。背景 shell 命令(例如開發伺服器)不會維持執行中狀態。執行中狀態預設值與 0 選擇退出需要 Claude Code v2.1.269 或更新版本;在較早版本中,請設為 1 以維持執行中狀態
CLAUDE_CODE_BRIDGE_SESSION_ID 當工作階段有作用中的 Remote Control 連線時,會自動在 Bash 工具與 hook 命令子程序中設定,並在連線結束時移除。其值為 session_ 格式的工作階段 ID,與出現在工作階段 claude.ai/code URL 中的識別碼相同,因此指令碼可以連結回執行它的工作階段。需要 Claude Code v2.1.199 或更新版本。在雲端工作階段中,請改為讀取 CLAUDE_CODE_REMOTE_SESSION_ID
CLAUDE_CODE_BS_AS_CTRL_BACKSPACE 設為 0 可讓 Claude Code 將 0x08 位元組(亦寫作 ^H)讀取為一般 Backspace,設為 1 則讀取為 Ctrl+Backspace。任一值都會取代平台預設值。預設情況下,Claude Code 在 Windows 上將其讀取為 Ctrl+Backspace(TERM_PROGRAM 為 mintty 或 TERM 為 cygwin 時除外),在 macOS 與 Linux 上則讀取為一般 Backspace。在 Backspace 會刪除整個單字的 Windows 終端機中,請設為 0
CLAUDE_CODE_CERT_STORE 以逗號分隔的 TLS 連線 CA 憑證來源清單。bundled 是隨 Claude Code 提供的 Mozilla CA 集合。system 是作業系統信任存放區,僅在具備 tls.getCACertificates 的執行環境中讀取:原生二進位檔,或 npm 安裝時的 Node 22.15 或更新版本。請參閱 CA 憑證存放區。預設為 bundled,system
CLAUDE_CODE_CHILD_SESSION 在 Claude Code 透過 Bash、PowerShell 與 Monitor 工具、hook 命令及狀態列命令所產生的子程序中設為 1。stdio MCP 伺服器子程序不會設定此變數,因為它們是長期存在的程序,會比產生它們的工作階段存活得更久。與 CLAUDECODE 不同,此變數僅由 Claude Code 本身在啟動子程序時設定,IDE 擴充功能不會設定,因此能可靠地區分巢狀工作階段與在 IDE 整合式終端機中啟動的頂層 claude。以此方式啟動的巢狀互動式 claude TUI 會自動從 --resume、--continue、向上鍵歷史記錄及 claude agents 清單中排除。非互動的 claude -p 工作階段仍會保存。設定 CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1 可覆寫此排除。需要 Claude Code v2.1.172 或更新版本
CLAUDE_CODE_CLIENT_CERT 用於 mTLS 身分驗證的用戶端憑證檔案路徑
CLAUDE_CODE_CLIENT_KEY 用於 mTLS 身分驗證的用戶端私密金鑰檔案路徑
CLAUDE_CODE_CLIENT_KEY_PASSPHRASE 已加密之 CLAUDE_CODE_CLIENT_KEY 的複雜密碼(選用)
CLAUDE_CODE_CONNECT_TIMEOUT_MS 已於 v2.1.186 移除,現在不會有任何作用。先前用於為串流 API 請求的連線、TLS 與回應標頭階段設定個別逾時。請使用 API_TIMEOUT_MS 設定每個請求的逾時。關於串流請求的回應標頭階段,請參閱 CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS
CLAUDE_CODE_DEBUG_LOGS_DIR 覆寫偵錯日誌檔案路徑。儘管名稱如此,這是檔案路徑而非目錄。需透過 --debug、/debug 或 DEBUG 環境變數另外啟用偵錯模式:僅設定此變數並不會啟用日誌記錄。--debug-file 旗標可同時完成兩者。預設為 ~/.claude/debug/<session-id>.txt
CLAUDE_CODE_DEBUG_LOG_LEVEL 寫入偵錯日誌檔案的最低日誌等級。值:verbose、debug(預設)、info、warn、error。設為 verbose 可包含大量診斷資訊,例如完整的狀態列命令輸出;或提高至 error 以減少雜訊
CLAUDE_CODE_DISABLE_1M_CONTEXT 設為 1 可停用 1M 上下文視窗支援。設定後,模型選擇器中將無法使用 1M 模型變體,且 Claude Code 會將使用原生 1M 視窗之模型(例如 Sonnet 5.5 與 Fable 模型)的工作階段限制在 200K 視窗;關於如何強制執行此限制,請參閱延伸上下文。適用於有法規遵循要求的企業環境。關於此變數在修正無法辨識之 [1m] 模型 ID 視窗時的作用,請參閱修正閘道或自訂模型 ID 的視窗
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING 設為 1 可在 Opus 4.6 與 Sonnet 4.6 上停用自適應推理,並改用由 MAX_THINKING_TOKENS 控制的固定思考預算。對 Fable 模型、Sonnet 5 及更新版本、Haiku 5.5,或 Opus 4.7 及更新版本沒有作用,這些模型一律使用自適應推理
CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION 設為 1 可讓 Claude Code 停止跨管理來源依鍵合併受管設定的 env 區塊,因此只會套用最高優先順序來源的整個 env 區塊,與 v2.1.223 之前相同。請在啟動 Claude Code 的環境中設定,因為 Claude Code 會忽略透過設定 env 區塊傳遞的副本。需要 Claude Code v2.1.223 或更新版本
CLAUDE_CODE_DISABLE_ADVISOR_TOOL 設為 1 可停用 advisor 工具。/advisor 命令將無法使用,任何已設定的 advisorModel 都會被忽略,而 --advisor 旗標仍會被接受但沒有作用,因此傳入該旗標的現有指令碼可繼續正常運作而不會出錯
CLAUDE_CODE_DISABLE_AGENT_VIEW 設為 1 可關閉背景 agent 與 agent view:claude agents、--bg、/background 及隨需 supervisor。等同於 disableAgentView 設定
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN 設為 1 可停用全螢幕呈現並使用傳統的主畫面呈現器。對話會保留在終端機的原生捲動緩衝區中,因此 Cmd+f 與 tmux 複製模式可照常運作。優先於 CLAUDE_CODE_NO_FLICKER 與 tui 設定。您也可以使用 /tui default 切換。不適用於從 agent view 開啟的背景工作階段,這些工作階段一律使用全螢幕呈現
CLAUDE_CODE_DISABLE_ARTIFACT 設為 1 可關閉 Artifact 工具,該工具會將工作階段輸出發佈為 claude.ai 上的私人網頁。設定後,任何設定檔都無法重新開啟此工具。若要改從設定檔關閉此工具,請將 enableArtifact 設為 false;已棄用的 disableArtifact 鍵也能將其關閉
CLAUDE_CODE_DISABLE_ATTACHMENTS 設為 1 可停用附件處理。使用 @ 語法的檔案提及會以純文字傳送,而不會展開為檔案內容
CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK 設為 1 可讓 Claude Code 程序自行執行其 gcpAuthRefresh 或 awsAuthRefresh 命令,而非在另一個程序執行時等待。需要 Claude Code v2.1.286 或更新版本
CLAUDE_CODE_DISABLE_AUTO_MEMORY 設為 1 可停用自動記憶。設為 0 可強制開啟自動記憶,即使 --bare 模式或 autoMemoryEnabled: false 原本會將其停用。停用時,Claude 不會建立或載入自動記憶檔案
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS 設為 1 可停用所有背景任務功能,包括 Bash 與 subagent 工具上的 run_in_background 參數、自動背景化,以及 Ctrl+B 快速鍵
CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT 設為 1 可讓 Claude Code 停止將缺少或為空 Content-Type 標頭的 Amazon Bedrock 串流回應視為 Amazon Bedrock 的二進位事件串流。預設情況下,Claude Code 會假設是閘道從原本未修改的回應中移除了該標頭,因此會解碼主體,讓串流持續運作。僅在閘道同時將串流重新以 server-sent events 發出時才設定此變數;屆時 Claude Code 會改將無標頭的主體讀取為 server-sent events。需要 Claude Code v2.1.239 或更新版本
CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD 設為 1 可略過檢查 Amazon Bedrock 串流回應是否帶有 application/vnd.amazon.eventstream content-type。若未設定此變數,當回應帶有不同的 content-type 時,Claude Code 會使請求失敗並顯示指出該類型的錯誤,這表示有閘道或代理伺服器正在轉換回應。請設定閘道不加修改地轉送 Content-Type 標頭與主體,而非設定此變數。需要 Claude Code v2.1.208 或更新版本
CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF 設為 1 可在 supervisor 停止、重新啟動或更新背景工作階段的程序時,停止該工作階段正在執行的背景 shell 命令、動態工作流程,以及自 v2.1.198 起的背景 subagent,而非將它們交給該工作階段的下一個程序。僅影響此交接:使用 ← 或 /background 將工作階段背景化時,仍會延續進行中的工作,而 CLAUDE_DISABLE_ADOPT 會同時關閉兩者。需要 Claude Code v2.1.196 或更新版本
CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP 設為 1 可讓 Claude Code 停止在記憶體壓力下終止背景 shell 命令。預設情況下,在 macOS 與 Linux 上,當作業系統回報嚴重記憶體壓力,且工作階段已閒置 30 分鐘、沒有任何回合或 subagent 在執行時,Claude Code 會終止背景 shell。Windows 沒有記憶體壓力訊號,因此此變數在該平台上沒有作用。需要 Claude Code v2.1.193 或更新版本
CLAUDE_CODE_DISABLE_BUNDLED_SKILLS 設為 1 可停用 Claude Code 隨附的 skill 與工作流程:隨附 skill 與工作流程會被完全移除,而 /init 等內建命令仍可輸入,但會對模型隱藏。/doctor 與內建命令一樣仍可輸入;請改用 DISABLE_DOCTOR_COMMAND 將其隱藏。來自外掛、.claude/skills/ 與 .claude/commands/ 的 skill 不受影響。等同於 disableBundledSkills 設定
CLAUDE_CODE_DISABLE_CFC_PROMPT 設為 1 可保留 Claude in Chrome 瀏覽器工具,同時省略系統提示詞中的 Chrome 章節與 /claude-in-chrome 隨附 skill。適用於嵌入 Claude Code 並提供自有瀏覽器指引的主機。需要 Claude Code v2.1.257 或更新版本
CLAUDE_CODE_DISABLE_CLAUDE_MDS 設為 1 可防止將任何 CLAUDE.md 記憶檔案載入上下文,包括使用者、專案及自動記憶檔案
CLAUDE_CODE_DISABLE_CRON 設為 1 可停用排程任務。/loop skill 與 cron 工具將無法使用,且任何已排程的任務都會停止觸發,包括在工作階段中已在執行的任務
CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT 設為 1 可關閉關鍵路徑移除提示的時間限制。在 auto 模式中,Claude Code 會改將這些移除操作傳送給分類器;在 bypassPermissions 模式中,提示會等待您的回答。請在啟動 Claude Code 的環境中設定,因為 Claude Code 會忽略透過設定 env 區塊傳遞的副本。需要 Claude Code v2.1.281 或更新版本
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS 設為 1 可從 API 請求中移除搶先體驗版的 anthropic-beta 請求標頭、與其搭配的主體欄位,以及 defer_loading 與 eager_input_streaming 等 beta 工具結構描述欄位。當代理伺服器閘道以 anthropic-beta 標頭的 Unexpected value(s) 錯誤或 Extra inputs are not permitted 錯誤拒絕請求時,請使用此設定。停用搶先體驗功能列出此變數移除的項目(包括 MCP Tool Search),以及 Claude Code 仍會持續傳送的項目
CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS 設為 1 可停用內建的 Explore 與 Plan subagent。Claude 會改用其搜尋工具或 general-purpose subagent 進行探索,而 plan mode 會直接讀取檔案,而非啟動 Explore 與 Plan agent。名為 Explore 或 Plan 的自訂 subagent 不受影響。若要在 Agent SDK 或非互動模式中移除所有內建 subagent 類型,請改用 CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS。需要 Claude Code v2.1.198 或更新版本
CLAUDE_CODE_DISABLE_FAST_MODE 設為 1 可停用快速模式
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY 設為 1 可停用「How is Claude doing?」工作階段品質調查。當設定了 DISABLE_TELEMETRY、DO_NOT_TRACK 或 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 時,調查也會停用,除非 CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL 重新選擇加入。若要設定抽樣率而非完全停用,請使用 feedbackSurveyRate 設定。請參閱工作階段品質調查
CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING 設為 1 可停用檔案檢查點功能。/rewind 命令將無法還原程式碼變更。覆寫 fileCheckpointingEnabled 設定
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS 設為 1 可從 Claude 的上下文中移除內建的提交與 PR 工作流程指令,以及 git 狀態快照。適用於使用您自己的 git 工作流程 skill 時。設定後,優先於 includeGitInstructions 設定
CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT 設為 1 可讓 Claude Code 停止讀取以 -c 傳給 shell 的指令碼(例如 bash -c 'rm -rf ~')來檢查關鍵路徑移除操作。Claude Code 仍會檢查這些指令碼中的 shell 變數與位置參數目標,其他關鍵路徑檢查也會持續執行。請在啟動 Claude Code 的環境中設定,因為 Claude Code 會忽略透過設定 env 區塊傳遞的副本。需要 Claude Code v2.1.288 或更新版本
CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP 設為 1 可防止在 Anthropic API 上將 Opus 4.0 與 4.1 自動重新對應至目前的 Opus 版本。當您刻意想固定較舊的模型時使用。此重新對應不會在 Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry 上執行
CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK 設為 1 可讓 Amazon Bedrock 與 Google Cloud's Agent Platform 上的 Claude Code,在您的帳戶於工作階段中途失去該工作階段模型的存取權時,不改用較舊的模型;被拒絕的請求會立即失敗。您設定的備援模型鏈在遭到此拒絕時仍會切換,而啟動模型檢查在啟動時仍會改用備援模型。需要 Claude Code v2.1.285 或更新版本
CLAUDE_CODE_DISABLE_MOUSE 設為 1 可在全螢幕呈現中停用滑鼠追蹤。使用 PgUp 與 PgDn 的鍵盤捲動仍可運作。使用此設定可保留終端機原生的選取即複製行為
CLAUDE_CODE_DISABLE_MOUSE_CLICKS 設為 1 可在全螢幕呈現中停用點擊、拖曳與懸停處理,同時保留滑鼠滾輪捲動。當您希望在 Claude Code 中使用滾輪捲動,但不希望點擊會移動游標、展開工具輸出或開啟連結時,請使用此設定。兩者都設定時,CLAUDE_CODE_DISABLE_MOUSE 優先。需要 Claude Code v2.1.195 或更新版本
CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION 設為 1 可讓 Claude Code 在 API 請求因連線層級錯誤(例如連線重設或 TLS 交握錯誤)失敗時,停止重新讀取 mTLS 用戶端憑證與金鑰。停用重新載入後,Claude Code 只會在下次套用設定時或下次啟動時載入已輪替的檔案。需要 Claude Code v2.1.232 或更新版本
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 設為任何非空值(例如 1)可停用非必要的網路流量:自動更新、遙測、錯誤回報、/feedback 命令、Claude 草擬的意見回饋、版本資訊、PR 與 MR 狀態徽章檢查,以及快速模式檢查等可用性檢查。它也會停止外掛 command 來源的背景執行,這些是本機命令而非網路流量,但因為它們可能觸發相依套件安裝,所以一併停止。設為 0 或 false 仍會停用此流量,這與大多數開關型變數不同;請取消設定此變數才能再次允許。也會停用功能旗標擷取,這會使 Remote Control 及其他需要功能旗標擷取的功能無法使用。不涵蓋官方外掛市集的自動安裝;請使用 CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL 將其停用。不影響閘道模型探索,該功能有其自己的選擇加入機制
CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK 設為 1 可在串流請求於串流途中失敗時,停用非串流備援。串流錯誤會改為傳遞至重試層。適用於代理伺服器或閘道導致備援產生重複工具執行的情況
CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK 設為 1 可讓 PushNotification 工具即使在您正在終端機中輸入或終端機處於焦點時,仍傳送桌面通知。預設情況下,當偵測到近期的鍵盤活動或終端機焦點時,該工具會同時略過桌面通知與行動推播。此變數僅停用該本機檢查,因此當伺服器偵測到您處於活動狀態時,仍可能抑制行動推播。需要 Claude Code v2.1.193 或更新版本
CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL 設為 1 可停用官方外掛市集的自動註冊。Claude Code 會在即將註冊市集時讀取此變數,通常是在機器首次互動式啟動期間。若當時已設定此變數,Claude Code 會永久略過註冊。之後取消設定此變數並不會撤銷略過。您可以隨時執行 claude plugin marketplace add anthropics/claude-plugins-official 來註冊市集
CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS 設為 1 可讓 Claude Code 在將權限請求傳送至 Agent SDK 的 canUseTool 回呼的工作階段中,停止執行您的針對未回答權限請求的 Notification hook;Claude Desktop 與 VS Code 擴充功能即是以此方式承載 Claude Code。在終端機工作階段中沒有作用。需要 Claude Code v2.1.233 或更新版本
CLAUDE_CODE_DISABLE_POLICY_SKILLS 設為 1 可略過從系統層級受管 skill 目錄載入 skill。適用於不應載入由營運人員佈建之 skill 的容器或 CI 工作階段
CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY 設為 1 可關閉 PowerShell 工具的檢查,該檢查會拒絕在系統路徑(例如磁碟機根目錄或您的家目錄)上使用 cmd 內建命令 rd、rmdir、del 與 erase。Claude Code 會忽略設定檔 env 區塊中的此變數。需要 Claude Code v2.1.283 或更新版本
CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK 設為 1 可關閉安全分類器標記請求時的自動模型切換,即由 switchModelsOnFlag 設定所控制的行為
CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS 設為 1 可讓 Claude Code 停止傳送結構化輸出的 output_config.format 欄位及與其搭配的 anthropic-beta 值,適用於上游會拒絕這些內容的 LLM 閘道。這會保留 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS 會關閉的其他搶先體驗功能。需要 Claude Code v2.1.288 或更新版本
CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT 設為 1 可關閉針對遞迴 rm 的關鍵路徑檢查,該 rm 的目標完全是命令替換的輸出,例如 rm -rf "$(pwd)"。其他關鍵路徑檢查會持續執行。請在啟動 Claude Code 的環境中設定,因為 Claude Code 會忽略透過設定 env 區塊傳遞的副本。需要 Claude Code v2.1.281 或更新版本
CLAUDE_CODE_DISABLE_TERMINAL_TITLE 設為 1 可停用根據對話上下文自動更新終端機標題。這也會略過產生工作階段標題的背景小型/快速模型請求
CLAUDE_CODE_DISABLE_THINKING 設為 1 可從 API 請求中完全省略 thinking 參數。這是針對會拒絕該參數之代理伺服器與閘道的相容性選項。在預設會思考的模型上,省略該參數代表模型仍可能會思考。若要在 Anthropic API 上明確停用延伸思考,請改用 MAX_THINKING_TOKENS=0。這兩個變數都無法在 Opus 5.5、Sonnet 5.5、Haiku 5.5 或 Fable 模型上關閉思考,這些模型無法關閉思考。在第三方供應商上,MAX_THINKING_TOKENS=0 同樣會省略該參數,因此兩個變數在該處的行為相同
CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT 設為 1 可在 Claude Code 無法辨識模型 ID(例如 LLM 閘道別名)時,略過主動自動壓縮。若未設定此變數,Claude Code 會依其為該 ID 假設的上下文視窗進行壓縮。CLAUDE_CODE_MAX_CONTEXT_TOKENS 則可改為修正所假設的視窗;關於各變數的適用時機,請參閱修正閘道或自訂模型 ID 的視窗。需要 Claude Code v2.1.223 或更新版本
CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL 設為 1 可在全螢幕呈現中停用虛擬捲動,並呈現逐字稿中的每一則訊息。若在全螢幕模式中捲動時,應出現訊息的地方顯示為空白區域,請使用此設定
CLAUDE_CODE_DISABLE_WEB_FETCH 設為 1 可關閉 WebFetch 工具。WebSearch 工具仍可使用。需要 Claude Code v2.1.285 或更新版本
CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER 設為 1 可在 Windows 上直接啟動 PowerShell 工具命令,而非透過 cmd.exe 啟動器。預設情況下,啟動器能讓在背景執行的 PowerShell 命令延續至工作階段的下一個程序,例如當您將工作階段背景化時。若您設定此變數,背景化的 PowerShell 命令會在工作階段的程序結束時停止。Bash 命令不受影響。需要 Claude Code v2.1.269 或更新版本
CLAUDE_CODE_DISABLE_WORKFLOWS 設為 1 可停用工作流程。等同於 disableWorkflows 設定
CLAUDE_CODE_EFFORT_LEVEL 為支援的模型設定 effort 等級。值:low、medium、high、xhigh、max,或 auto 以使用模型預設值。可用等級取決於模型。優先於 --effort、/effort,以及 modelSettings 與 effortLevel 設定。maxEffortLevel 上限仍會套用。請參閱調整 effort 等級
CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS 設為 1 可在訊息串流中加入帶有工作階段狀態的 session_state_changed 訊息。需要 Agent SDK,或同時使用 --print、--output-format stream-json 與 --verbose
CLAUDE_CODE_ENABLE_AUTO_MODE 為了與舊版相容而接受,但沒有任何作用。自動模式在每個供應商上皆預設可用,包括 Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry,以及已登入的 Claude apps 閘道工作階段。在 v2.1.158 至 v2.1.206 中,必須將此設為 1,才能在這些供應商上使用自動模式
CLAUDE_CODE_ENABLE_AWAY_SUMMARY 覆寫工作階段回顧的可用性。設為 0 可強制關閉回顧,不論 /config 切換開關為何。當 awaySummaryEnabled 為 false 時,設為 1 可強制開啟回顧。優先於該設定與 /config 切換開關
CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH 設為 1 可在非互動模式中,於背景安裝完成後在回合邊界重新整理外掛狀態。預設為關閉,因為重新整理會在工作階段中途變更系統提示詞,導致該回合的提示快取失效
CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL 設為 1 可在傳送至 Anthropic 的非必要流量遭封鎖時,將「How is Claude doing?」工作階段品質調查導向您自己的 OpenTelemetry collector。調查評分僅會以 OTEL 事件的形式傳送至您設定的 collector。在此模式下,不會有任何調查資料傳送給 Anthropic。適用於已設定 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC、DISABLE_TELEMETRY 或 DO_NOT_TRACK 的情況,否則沒有作用。CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY 與組織的產品意見回饋政策優先於此變數
CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING 控制工具呼叫輸入是否在 Claude 產生時即從 API 串流傳送。關閉時,大型工具輸入(例如寫入長檔案)只會在 Claude 產生完畢後才送達,看起來可能像是停滯不動。在 Anthropic API 上預設啟用。在 Amazon Bedrock 與 Google Cloud's Agent Platform 上,會依模型在已部署容器支援時啟用。設為 0 可選擇退出。當透過 ANTHROPIC_BASE_URL、ANTHROPIC_VERTEX_BASE_URL 或 ANTHROPIC_BEDROCK_BASE_URL 經由代理伺服器路由時,設為 1 可強制啟用。在 Microsoft Foundry 與閘道連線上預設為關閉
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY 當 ANTHROPIC_BASE_URL 指向與 Anthropic 相容的閘道(例如 LiteLLM、Kong 或內部代理伺服器)時,設為 1 可從閘道的 /v1/models 端點填入 /model 選擇器。預設為關閉,因為以共用 API 金鑰支援的閘道否則會向每位使用者顯示該金鑰可存取的所有模型。探索到的模型仍會依工作階段收到的 availableModels 允許清單篩選;請透過 MDM 或受管設定檔傳遞該清單,因為伺服器受管傳遞在閘道設定中無法使用
CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE 已於 v2.1.142 移除,當時快速模式的預設值從 Opus 4.6 改為 Opus 4.7
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION 設為 false 可關閉提示詞建議,即出現在提示詞輸入框中的灰色預測文字。優先於 promptSuggestionEnabled 設定,也就是 /config 中 Prompt suggestions 切換開關所寫入的設定。當您的帳戶接近或已達用量上限時,Claude Code 也會暫停建議。設為 true 可讓建議持續開啟,直到您達到上限為止。需要 Claude Code v2.1.238 或更新版本。請參閱提示詞建議
CLAUDE_CODE_ENABLE_TASKS 選擇 Claude Code 在具備任務追蹤工具的工作階段中提供哪些任務追蹤工具。預設情況下,Claude Code 提供 Task 工具 TaskCreate、TaskUpdate、TaskGet 與 TaskList。設為 0 則改為使用舊版的 TodoWrite 工具。請參閱任務清單
CLAUDE_CODE_ENABLE_TELEMETRY 設為 1 可啟用 OpenTelemetry 資料收集,用於指標與日誌。必須先設定此變數,才能設定 OTel exporter。請在您的 shell、使用者設定或受管設定中設定。在專案與本機設定中會被忽略。請參閱監控
CLAUDE_CODE_ENABLE_TODO_TOOLS 設為 1 可在每個模型上取得任務追蹤工具。若未設定,Claude Code 預設只在 Task 工具可用性下列出的模型上提供這些工具。CLAUDE_CODE_ENABLE_TASKS 仍會選擇 Task 工具或 TodoWrite。需要 Claude Code v2.1.233 或更新版本
CLAUDE_CODE_EXIT_AFTER_STOP_DELAY 查詢迴圈閒置後,自動結束前等待的時間(毫秒)。適用於使用 SDK 模式的自動化工作流程與指令碼
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS 設為 1 可啟用 agent team。agent team 為實驗性功能,預設為停用
CLAUDE_CODE_EXTRA_BODY 要合併至每個 API 請求本文最上層的 JSON 物件。適用於傳遞 Claude Code 未直接公開的供應商特定參數。在您的 shell 中匯出的值,也會套用至您以 claude agents 或 --bg 派送的背景工作階段。在 v2.1.206 之前,背景工作階段會忽略 shell 匯出的值,而使用背景監督程序所繼承的副本
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS 覆寫檔案讀取的預設 token 上限。適用於需要完整讀取較大檔案的情況
CLAUDE_CODE_FORCE_SESSION_PERSISTENCE 設為 1 可強制保存逐字稿、提示詞歷史記錄,以及 claude agents 註冊,即使此 claude 是從另一個 Claude Code 工作階段內啟動的也一樣。當繼承而來的 CLAUDE_CODE_CHILD_SESSION 值(例如來自 screen 工作階段,或最初由 Claude Code 的 Bash 工具啟動的背景啟動器)導致真正的頂層工作階段被誤判為巢狀時使用。自 v2.1.178 起,Claude Code 會自動偵測 tmux 的情況並忽略繼承的標記,因此 tmux 不再需要此變數。在 v2.1.169 及更早版本中也會採用;在 v2.1.170 與 v2.1.171 中沒有作用,因為這兩個版本已移除它所覆寫的巢狀工作階段偵測
CLAUDE_CODE_FORCE_STRIKETHROUGH 當您的終端機支援刪除線但未被自動偵測到時(例如透過 SSH 連線且未轉送 TERM_PROGRAM),設為 1 可強制將 Claude 回應中的 ~~text~~ 呈現為刪除線。若未設定,未被偵測到的終端機會顯示字面的 ~~ 標記,而不會將文字呈現為刪除線。需要 Claude Code v2.1.186 或更新版本
CLAUDE_CODE_FORCE_SYNC_OUTPUT 當您的終端機支援 DEC private mode 2026 同步輸出但未被自動偵測到時,設為 1 可強制啟用。適用於實作 BSU/ESU 但不回應功能探測的模擬器,例如 Emacs eat。在 tmux 下沒有作用。與會切換至全螢幕呈現的 CLAUDE_CODE_NO_FLICKER 不同,此變數不會變更呈現器
CLAUDE_CODE_FORK_SUBAGENT 控制分叉模式,此模式可讓 Claude 自行產生分叉 subagent,且預設僅在互動式工作階段中開啟。設為 1 可在 claude -p 與 Agent SDK 中也開啟,設為 0 則在所有類型的工作階段中關閉。無論分叉模式是否開啟,您都可以執行 /subtask。互動式預設需要 Claude Code v2.1.232 或更新版本;在較早版本中,請將此變數設為 1 以開啟分叉模式
CLAUDE_CODE_FORWARD_SUBAGENT_TEXT 設為 1 可在 claude -p --output-format stream-json 輸出中傳出 subagent 的文字與思考區塊,行為與 --forward-subagent-text 旗標相同。當測試框架呼叫 claude 且無法自行傳遞旗標時,請使用此變數。此旗標在非互動模式搭配 stream-json 輸出以外的情況下會以錯誤結束,而此變數在這些情況下會被忽略,因此在整個程序範圍設定時,巢狀呼叫仍可正常運作。需要 Claude Code v2.1.211 或更新版本
CLAUDE_CODE_GATEWAY_HINT_HEADERS 設為 1 可在自訂代理伺服器或第三方供應商(例如 Amazon Bedrock 或 Claude Platform on AWS)上傳送閘道提示標頭,例如 x-claude-code-request-class 與 x-claude-code-compaction。設為 0 可在所有連線上停止傳送這些標頭,包括直接連線至 Anthropic API 的情況,Claude Code 在該情況下預設會傳送。需要 Claude Code v2.1.273 或更新版本
CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS 由 CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY 開啟的閘道模型探索請求的逾時(毫秒)(預設:3000)。當您的閘道在啟動時需要超過三秒才能回應 /v1/models 時,請調高此值。只接受純數字;0、負值及其他寫法會保留預設值。需要 Claude Code v2.1.269 或更新版本
CLAUDE_CODE_GIT_BASH_PATH 僅限 Windows:Git Bash 執行檔(bash.exe)的路徑。當 Git Bash 已安裝但不在您的 PATH 中時使用。若路徑不存在,或檔案名稱不是 bash.exe、sh.exe、bash 或 sh,Claude Code 會忽略此變數並如同未設定一般自動偵測 Git Bash,同時記錄一則可透過 --debug 檢視的警告。在 v2.1.219 之前,當路徑不存在時 Claude Code 會在啟動時結束,且會將任何既有檔案當作 shell 使用,而不檢查其是否為 bash 或 sh。請參閱 Windows 設定
CLAUDE_CODE_GLOB_HIDDEN 設為 false 可在 Claude 呼叫 Glob 工具時,從結果中排除點檔案。預設會包含。不影響 @ 檔案自動完成、ls、Grep 或 Read
CLAUDE_CODE_GLOB_NO_IGNORE 設為 false 可讓 Glob 工具遵循 .gitignore 模式。預設情況下,Glob 會傳回所有符合的檔案,包括被 gitignore 的檔案。不影響 @ 檔案自動完成,其有自己的 respectGitignore 設定
CLAUDE_CODE_GLOB_TIMEOUT_SECONDS Glob 工具檔案探索的逾時(秒)。在大多數平台上預設為 20 秒,在 WSL 上為 60 秒
CLAUDE_CODE_GOAL_CHECKIN_MINUTES 背景工作可讓進行中的目標等待多少分鐘,之後 Claude Code 會請 Claude 檢查該目標。預設為 30。設為 0 可關閉檢查。請以純數字提供整數分鐘,最多 10080,即一週。Claude Code 會將任何其他值視為未設定並使用預設值。需要 Claude Code v2.1.234 或更新版本
CLAUDE_CODE_GZIP_REQUEST_BODIES 設為 0 可關閉傳送至 api.anthropic.com 的 Claude API、遙測與 artifact 發布請求本文的 gzip 壓縮。預設情況下,Claude Code 會在直接連線上壓縮大型請求本文,並在您透過代理伺服器傳送請求、設定用戶端憑證或設定 NODE_EXTRA_CA_CERTS 時略過壓縮。若 Claude Code 無法偵測的 TLS 檢查代理伺服器錯誤處理壓縮的請求,請使用 0
CLAUDE_CODE_HIDE_CWD 設為 1 可在啟動標誌中隱藏工作目錄。適用於路徑會暴露您作業系統使用者名稱的螢幕分享或錄影
CLAUDE_CODE_IDE_HOST_OVERRIDE 覆寫用於連線至 IDE 擴充功能的主機位址。預設情況下,Claude Code 會自動偵測正確的位址,包括 WSL 至 Windows 的路由
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL 設為 1 可略過 IDE 擴充功能的自動安裝。等同於將 autoInstallIdeExtension 設為 false
CLAUDE_CODE_IDE_SKIP_VALID_CHECK 設為 1 可在連線期間略過 IDE 鎖定檔項目的驗證。當 IDE 正在執行但自動連線仍找不到時使用
CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS 一個工作階段中可同時執行多少個 subagent,超過後 Agent 工具將拒絕再產生新的 subagent(預設:20)。接受以純數字表示的正整數;其他任何值都會被忽略,因此此變數可以調整上限,但無法停用上限。需要 Claude Code v2.1.217 或更新版本
CLAUDE_CODE_MAX_CONTEXT_TOKENS 覆寫 Claude Code 為目前使用中的模型所假設的上下文視窗大小。自 v2.1.193 起,其套用方式取決於 Claude Code 如何解析模型 ID;請參閱修正閘道或自訂模型 ID 的視窗。當透過 ANTHROPIC_BASE_URL 路由至某個模型,而其上下文視窗與該名稱的內建大小不符時,請使用此變數
CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH Claude Code 傳送給模型的每個 MCP 工具描述與每個 MCP 伺服器指令的最大長度(字元數)(預設:2048)。Claude Code 會截斷較長的文字。接受以純數字表示的正整數。其他任何值都會被忽略並套用預設值。需要 Claude Code v2.1.280 或更新版本
CLAUDE_CODE_MAX_OUTPUT_TOKENS 設定大多數請求的最大輸出 token 數。預設值與上限因模型而異;請參閱最大輸出 token。Claude Code 會將超過模型上限的值降至上限。對於 Claude Code 無法解析為已知模型的模型 ID,預設值為 32000,上限為 128000。提高此值會減少觸發自動壓縮前可用的有效上下文視窗
CLAUDE_CODE_MAX_RETRIES 覆寫失敗 API 請求的重試次數(預設:10)。自 v2.1.186 起上限為 15;自 v2.1.199 起,CLAUDE_CODE_RETRY_WATCHDOG 會提高預設值並移除上限。對於需要撐過較長中斷時間的無人值守工作階段,請改為設定 CLAUDE_CODE_RETRY_WATCHDOG
CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION 已於 v2.1.224 移除,現在不具作用。先前用於限制 Claude 在一個工作階段中可透過 Agent 工具產生的 subagent 總數(預設:200);超過上限時產生會以 Subagent spawn limit reached 失敗。同時 subagent 上限與深度上限仍然適用
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH 主對話之下允許的 subagent 層數(預設:3)。在預設值下,subagent 可以產生自己的 subagent,而第三層的 subagent 無法再往下產生;設為 1 可關閉巢狀。在 v2.1.217 至 v2.1.218 中,預設值為 1,因此除非您提高上限,否則 subagent 無法產生自己的 subagent;v2.1.219 將預設值提高為 3。接受以純數字表示的正整數;其他任何值都會被忽略,因此上限可以調整但無法移除。需要 Claude Code v2.1.217 或更新版本
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY 可平行執行的唯讀工具與 subagent 的最大數量(預設:10)。較高的值會增加平行度,但會消耗更多資源
CLAUDE_CODE_MAX_TURNS 在未傳遞明確上限時,限制 agentic 回合的數量。等同於傳遞 --max-turns,兩者皆設定時以旗標為優先。非正整數的值會在啟動時以錯誤拒絕,而不會被視為無上限
CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION 一個工作階段可進行的 WebSearch 呼叫總數上限(預設:200)。當 Claude 達到上限時,後續的 WebSearch 呼叫會傳回通知,告知它以已收集到的資訊繼續進行。接受沒有上限的正整數。其他任何值都會被忽略並套用預設值,因此上限可以提高但無法關閉。需要 Claude Code v2.1.212 或更新版本
CLAUDE_CODE_MCP_ALLOWLIST_ENV 設為 1 可讓 stdio MCP 伺服器僅以安全的基準環境加上伺服器所設定的 env 啟動,而不繼承您的 shell 環境
CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS 仍在執行中的 MCP 工具呼叫移至背景任務前經過的時間(毫秒)(預設:120000,即 2 分鐘)。設為 0 可關閉自動背景化。需要 Claude Code v2.1.212 或更新版本
CLAUDE_CODE_MCP_STARTUP_WAIT_MS 非互動工作階段的第一個回合等待仍在連線中的 MCP 伺服器的時間(毫秒),取代預設的第一回合等待。設定後,等待會涵蓋所有待處理的伺服器。設為 0 可略過等待。--permission-prompt-tool 伺服器無論此值為何,都會保留自己的 MCP_TIMEOUT 等待。需要 Claude Code v2.1.274 或更新版本
CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT MCP 工具呼叫的閒置逾時(毫秒)。當 stdio、HTTP、SSE、WebSocket 或 claude.ai 連接器 MCP 伺服器在這段時間內未傳送任何回應或進度通知時,工具呼叫會以錯誤中止,而不會等待整體的 MCP_TOOL_TIMEOUT。覆寫各傳輸方式的預設值:網路伺服器為 300000(5 分鐘),stdio 伺服器為 1800000(30 分鐘)。設為 0 可停用閒置檢查。低於 1000 的值會提高為一秒,且此值的上限為實際生效的 MCP_TOOL_TIMEOUT。.mcp.json 中至少為 1000 的個別伺服器 timeout,會將該伺服器的閒置時間窗提高至至少為 timeout 值。不適用於 IDE 伺服器或 SDK 程序內伺服器。需要 Claude Code v2.1.187 或更新版本。在 v2.1.203 之前,stdio 伺服器不受閒置逾時限制
CLAUDE_CODE_MESSAGING_SOCKET 由 Claude Code 設定,而非由您設定:在繫結收件匣 socket 的工作階段中,Claude Code 會在繫結 socket 時將該 socket 的路徑匯出給 hook 與 Bash 命令。在啟動時即開啟訊息功能的工作階段中,Claude Code 會在任何 hook 執行前繫結 socket。機器上的其他工作階段會將訊息傳遞至此路徑。每個工作階段都會匯出自己的 socket,而非從父工作階段繼承,且抵達該 socket 的訊息會經過該工作階段的傳入控制。設定的 env 區塊無法設定此變數。需要 Claude Code v2.1.224 或更新版本
CLAUDE_CODE_MESSAGING_TOKEN 由 Claude Code 設定,而非由您設定:在繫結收件匣 socket 的工作階段中,Claude Code 會將此每個工作階段專屬的 token 連同 CLAUDE_CODE_MESSAGING_SOCKET 一起匯出給 hook 與 Bash 命令。向 socket 發送訊息的指令碼可以將 {"type":"auth","token":"<token>"} 作為第一行傳送,以證明其屬於該工作階段。在原生 Windows 上,Claude Code 要求這一行,並會關閉任何未以有效的這一行開頭的連線。自身子程序規則說明 Claude Code 何時會查驗此 token。每個工作階段都會匯出自己的 token,絕不會使用從父工作階段繼承的 token。設定的 env 區塊無法設定此變數。需要 Claude Code v2.1.228 或更新版本
CLAUDE_CODE_NATIVE_CURSOR 設為 1 可在輸入插入點顯示終端機本身的游標,而非繪製的區塊。游標會遵循終端機的閃爍、形狀與焦點設定。設為 0 的效果與不設定此變數相同,因此在終端機本身游標已開啟的工作階段中,這不會恢復繪製的區塊
CLAUDE_CODE_NEW_INIT 設為 1 可讓 /init 執行互動式設定流程。此流程會在探索程式碼庫並寫入檔案之前,詢問要產生哪些檔案,包括 CLAUDE.md、skill 與 hook。若未設定此變數,/init 會自動產生 CLAUDE.md 而不提示
CLAUDE_CODE_NONBLOCKING_STDOUT 設為 1 可透過第二個非阻塞檔案描述元寫入終端機輸出,讓停止讀取的終端機(例如暫停的 tmux control-mode 窗格或停滯的 SSH 連線)無法在工作階段中途凍結 Claude Code。在 stdout 為終端機時,適用於 macOS、Linux 與 WSL。需要 Claude Code v2.1.261 或更新版本
CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES 限制 Claude Code 重新傳送逾時的非串流請求的次數。設為 0 時,請求會在第一次逾時即失敗。預設為未設定,因此由 CLAUDE_CODE_MAX_RETRIES 限制這些重新傳送。關於逾時,請參閱調整重試行為。需要 Claude Code v2.1.285 或更新版本
CLAUDE_CODE_NO_FLICKER 設為 1 可啟用全螢幕呈現,這是一項研究預覽功能,可減少閃爍並在長對話中維持記憶體用量平穩。覆寫 tui 設定;您也可以使用 /tui fullscreen 切換
CLAUDE_CODE_OAUTH_REFRESH_TOKEN 用於 Claude.ai 身分驗證的 OAuth refresh token。設定後,claude auth login 會直接交換此 token,而不會開啟瀏覽器。需要 CLAUDE_CODE_OAUTH_SCOPES。適用於在自動化環境中佈建身分驗證
CLAUDE_CODE_OAUTH_SCOPES 簽發 refresh token 時所用的 OAuth 範圍,以空格分隔,例如 "user:profile user:inference user:sessions:claude_code"。設定 CLAUDE_CODE_OAUTH_REFRESH_TOKEN 時為必要
CLAUDE_CODE_OAUTH_TOKEN 用於 claude.ai 身分驗證的 OAuth access token。在 SDK 與自動化環境中可取代 /login。優先於儲存在鑰匙圈中的憑證。可使用 claude setup-token 產生。除非您執行 /login,否則 Claude Code 會在整個工作階段中使用您設定的 token。若要替換已過期的 token,請產生新的 token 並重新啟動
CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE 已於 v2.1.160 移除,現在不具作用。先前用於將快速模式固定為 Claude Opus 4.6,而非目前的預設值。Opus 4.6 已不再支援快速模式
CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH 承載內容的 OpenTelemetry 屬性(模型回應、工具內容、系統提示詞、原始 API 本文)的最大長度,包含截斷標記,以 UTF-16 程式碼單位計算(預設:61440,即 60 KB)。僅在您的遙測後端接受大於 64 KB 的屬性值時才調高此值,或調低此值以減少遙測量。需要 Claude Code v2.1.214 或更新版本。請參閱監控
CLAUDE_CODE_OTEL_DIAG_STDERR 設為 1 可將 OpenTelemetry exporter 的診斷錯誤寫入 stderr。預設情況下,這些錯誤只會在使用 --debug 時出現,因此設定錯誤的 exporter(例如 Prometheus 連接埠衝突)否則會無聲失敗。需要 Claude Code v2.1.179 或更新版本。請參閱監控
CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS 排清待處理 OpenTelemetry span 的逾時(毫秒)(預設:5000)。請參閱監控
CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS 重新整理動態 OpenTelemetry 標頭的間隔(毫秒)(預設:1740000 / 29 分鐘)。請參閱動態標頭
CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS OpenTelemetry exporter 在關閉時完成作業的逾時(毫秒)(預設:2000)。若結束時遺失指標,請調高此值。請參閱監控
CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE 設為 1 可讓 Claude Code 在有新版本時,於背景執行您套件管理員的升級命令。適用於 Homebrew 與 WinGet 安裝。其他套件管理員仍會顯示升級命令而不執行。請參閱自動更新
CLAUDE_CODE_PERFORCE_MODE 設為 1 可啟用感知 Perforce 的寫入保護。設定後,若目標檔案缺少擁有者寫入位元(Perforce 會在同步的檔案上清除此位元,直到 p4 edit 開啟它們為止),Edit、Write 與 NotebookEdit 會失敗並提示 p4 edit <file>。這可防止 Claude Code 繞過 Perforce 的變更追蹤
CLAUDE_CODE_PLUGIN_CACHE_DIR 覆寫外掛根目錄。儘管名稱如此,此變數設定的是父目錄,而非快取本身:市集與外掛快取位於此路徑下的子目錄中。預設為 ~/.claude/plugins
CLAUDE_CODE_PLUGIN_DIRS 要為工作階段載入的外掛目錄,每個目錄的載入方式與 --plugin-dir 旗標相同。多個路徑在 Unix 上以 : 分隔,在 Windows 上以 ; 分隔。每個路徑請以絕對路徑提供或以 ~ 開頭,因為 Claude Code 會略過相對路徑。需要 Claude Code v2.1.280 或更新版本。請參閱為單一工作階段載入外掛
CLAUDE_CODE_PLUGIN_DIR_WATCH 控制 Claude Code 是否在 mod 的檔案變更時重新載入該 mod。重新載入適用於您以 --plugin-dir 從目錄載入的 mod,且在互動式工作階段中預設為開啟。設為 1 可在非互動式工作階段中也開啟,設為 0 則在所有工作階段中關閉。需要 Claude Code v2.1.287 或更新版本。請參閱 mod 設定與環境變數
CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS 複製或重新整理外掛市集的逾時(毫秒)(預設:120000)。對於大型儲存庫或緩慢的網路連線,請調高此值。請參閱 Git clone 逾時
CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE 設為 1 可在市集重新整理無法連線至遠端或無法通過遠端身分驗證時,略過重新複製的嘗試並繼續使用既有的市集 checkout。適用於重新複製也會以相同方式失敗的離線或氣隙隔離環境。請參閱市集更新在離線環境中失敗
CLAUDE_CODE_PLUGIN_PREFER_HTTPS 設為 1 可透過 HTTPS 而非 SSH 複製 GitHub owner/repo 簡寫來源。適用於外掛安裝與更新,以及 /plugin marketplace add 與 update。適用於 CI runner、容器,或任何未針對 github.com 設定 SSH 金鑰的環境
CLAUDE_CODE_PLUGIN_SEED_DIR 一或多個唯讀外掛種子目錄的路徑,在 Unix 上以 : 分隔,在 Windows 上以 ; 分隔。使用此變數可將預先填入的外掛目錄打包至容器映像中。Claude Code 會在啟動時從這些目錄註冊市集,並使用預先快取的外掛而不重新複製。請參閱為容器預先填入外掛
CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY 設為 1 可讓 Claude Code 在為工具呼叫、hook 與狀態列命令啟動 PowerShell 時不再傳遞 -ExecutionPolicy Bypass,而改為遵循機器實際生效的執行原則。預設情況下,Claude Code 會在程序範圍繞過執行原則,讓 .ps1 指令碼與模組匯入能在預設為 Restricted 的 Windows 安裝上運作。無論此設定為何,程序範圍的繞過絕不會覆寫群組原則 MachinePolicy 或 UserPolicy
CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS 在使用 -p 旗標的非互動模式中,最後一個回合之後閒置等待背景工作(例如 subagent 與工作流程)的上限(毫秒)。每當 Claude 進行一個回合來處理背景結果時,閒置等待都會重新開始計算。預設:600000,即 10 分鐘。當閒置等待達到上限時,Claude Code 會停止等待剩餘的背景任務並結束。設為 0 可無限期等待。此上限與適用於一般背景 shell 的五秒寬限期是分開的。需要 Claude Code v2.1.182 或更新版本
CLAUDE_CODE_PROCESS_WRAPPER 透過以 argv 前綴(例如 /opt/corp/launcher)指定的企業啟動器,啟動 Claude Code 從自身二進位檔啟動的程序,例如承載 agent view 工作階段的背景服務。請在使用者設定或受管設定的 env 區塊中設定,而非以 shell 匯出,讓分離的背景服務能夠繼承;專案與本機設定無法設定此變數。等同於 processWrapper 設定,該設定需要 Claude Code v2.1.210 或更新版本;兩者皆設定時以此變數為優先。VS Code 擴充功能會透過其 claudeProcessWrapper 設定另行設定自己的啟動器。在 Windows 上會被忽略。關於值的格式、啟動器涵蓋的範圍以及啟動器必須滿足的約定,請參閱在企業啟動器後方執行 Claude Code。需要 Claude Code v2.1.208 或更新版本
CLAUDE_CODE_PROJECT_DIR_NAME 與 CLAUDE_CONFIG_DIR 一起設定,可選擇 Claude Code 儲存該工作階段逐字稿與自動記憶的 projects/ 目錄名稱,取代從工作目錄路徑衍生的名稱。例如,以 CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude 啟動 Claude Code,會將它們儲存在 /srv/tenant-a/projects/work/ 下。當 CLAUDE_CONFIG_DIR 未設定時,Claude Code 會忽略此變數,且只會從您啟動 claude 的環境讀取,絕不會從設定檔的 env 區塊讀取。請參閱自行命名專案目錄。需要 Claude Code v2.1.234 或更新版本
CLAUDE_CODE_PROMPT_CACHE_TTL 設為 5m 或 1h(Claude Code 僅接受這兩個值),可選擇主對話的提示快取 TTL:包括您的互動式、-p 與 SDK 回合,以及與其內嵌執行的輔助程式。優先於 promptCacheTtl 設定與 ENABLE_PROMPT_CACHING_1H,而 FORCE_PROMPT_CACHING_5M 會覆寫此變數。API 會以較高費率計費 1 小時的快取寫入。需要 Claude Code v2.1.242 或更新版本
CLAUDE_CODE_PROPAGATE_TRACEPARENT 當 ANTHROPIC_BASE_URL 指向自訂代理伺服器時,設為 1 可傳播 W3C trace context。傳播涵蓋模型與 HTTP MCP 請求上的 traceparent 標頭,以及 Bash、PowerShell 與 hook 子程序的 TRACEPARENT 環境變數。預設情況下,僅在直接連線至 Anthropic API 時啟用傳播。於 v2.1.152 新增。請參閱追蹤(beta)
CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST 由內嵌 Claude Code 並代其管理模型供應商路由的主機平台所設定。設定後,Claude Code 會忽略設定檔中的供應商選擇、端點與身分驗證變數,例如 CLAUDE_CODE_USE_BEDROCK、ANTHROPIC_BASE_URL 與 ANTHROPIC_API_KEY,因此使用者設定無法覆寫主機的路由。Claude Code 也會忽略受管設定中的模型選擇鍵,例如 model、fallbackModel 與 modelOverrides,無論由哪個受管來源傳遞,讓主機的模型設定優先於過時的受管模型固定設定。Claude Code 也會忽略受管 env 區塊中的模型選擇變數,例如 ANTHROPIC_MODEL 與 ANTHROPIC_DEFAULT_*_MODEL 系列;受管設定中的 availableModels 允許清單仍然適用,除非主機提供自己的清單。Claude Code 也會略過它在第三方供應商(例如 Amazon Bedrock、Claude Platform on AWS、Google Cloud's Agent Platform 與 Microsoft Foundry)上原本會套用的自動遙測退出,因此遙測會遵循標準的 DISABLE_TELEMETRY 退出機制。請參閱各 API 供應商的預設行為
CLAUDE_CODE_PROXY_RESOLVES_HOSTS 設為 1 可讓代理伺服器執行 DNS 解析,而非由呼叫端執行。適用於應由代理伺服器處理主機名稱解析之環境的選擇性功能
CLAUDE_CODE_REMOTE 當 Claude Code 以雲端工作階段執行時,會自動設為 true。可從 hook 或設定指令碼讀取此值,以偵測您是否處於雲端工作階段中
CLAUDE_CODE_REMOTE_SESSION_ID 在雲端工作階段中自動設為目前工作階段的 ID。讀取此值可建構連回工作階段逐字稿的連結。請參閱將輸出連回工作階段
CLAUDE_CODE_RESTRICTED 設為 1 可在受限模式下啟動工作階段,與傳遞 --restricted 相同。Claude Code 會忽略設定檔 env 區塊中的此變數。需要 Claude Code v2.1.248 或更新版本
CLAUDE_CODE_RESUME_INTERRUPTED_TURN 設為 1 可在先前的工作階段於回合中途結束時自動繼續。用於 SDK 模式,讓模型不需 SDK 重新傳送提示詞即可繼續。若要關閉,請取消設定此變數或將其設為 0。關於 VS Code 聊天面板,請參閱重新載入後繼續對話
CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS 於回合中途結束的工作階段在繼續時可自動接續的最後一則逐字稿訊息的最大存在時間(毫秒)。當最後一則訊息超過此界限時,Claude Code 會略過 CLAUDE_CODE_RESUME_INTERRUPTED_TURN 自動繼續及其 CLAUDE_CODE_RESUME_PROMPT 接續訊息,工作階段會以閒置狀態啟動,讓您明確地繼續。未設定或 0 表示沒有界限,但最後一個請求因 API 錯誤而失敗的回合,只有在該錯誤發生未滿六小時時才會繼續。正值會限制每個回合,包括上述回合;負值或非數值會套用一小時的界限。長時間執行之 agent 的產生指令碼可以設定此值,讓針對舊逐字稿的重新啟動不會重新執行過時的提示詞。當 Claude Code 重新啟動一個從互動式工作階段繼承對話且已當機的 agent view 工作階段時,會自行設定一小時的界限。需要 Claude Code v2.1.211 或更新版本
CLAUDE_CODE_RESUME_PROMPT 覆寫當 CLAUDE_CODE_RESUME_INTERRUPTED_TURN 接續中斷的回合而非重新傳送其提示詞時,或當您以 -p 繼續延後的工具呼叫時,Claude Code 傳送給 Claude 的接續訊息。預設為 Continue from where you left off.。空字串會使用預設值
CLAUDE_CODE_RETRY_WATCHDOG 針對無人值守的工作階段(例如評估測試框架、CI 作業或遠端 worker)設為 1。會無限期重試 429 與 529 容量錯誤,而不會在 CLAUDE_CODE_MAX_RETRIES 次嘗試後失敗。當標準速度的請求收到回報支出上限或用量點數耗盡的 429 時,Claude Code 會立即失敗,即使是來自依排程重設的閘道支出上限也一樣。在 v2.1.239 之前,watchdog 會無限期重試這些錯誤。關於快速模式請求,請參閱處理速率限制。watchdog 會在嘗試之間最多退避 5 分鐘,或在回應帶有速率限制重設時間時等到限制重設為止,因此達到用量上限的工作階段會等待剩餘的時間窗結束。在 v2.1.199 或更新版本中,它也會將其他暫時性錯誤(例如伺服器錯誤、逾時與中斷的連線)的預設重試次數提高到 300,約為三小時的退避時間,並在您明確設定 CLAUDE_CODE_MAX_RETRIES 時移除其 15 次的上限。需要 Claude Code v2.1.186 或更新版本
CLAUDE_CODE_SAFE_MODE 設為 1 可在安全模式下啟動:CLAUDE.md、skill、外掛、hook、MCP 伺服器、自訂命令與 agent、輸出風格、工作流程、自訂主題、自訂快捷鍵、狀態列與檔案建議命令、LSP 伺服器以及自動記憶都不會載入,以便對損壞的設定進行疑難排解。受管設定原則仍然適用,包括原則所設定的 hook、狀態列與檔案建議命令;受管外掛、受管 skill、受管 CLAUDE.md 以及原則所設定的 MCP 伺服器則不適用。等同於傳遞 --safe-mode。直接產生的子程序會繼承此變數
CLAUDE_CODE_SCRIPT_CAPS 在設定 CLAUDE_CODE_SUBPROCESS_ENV_SCRUB 時,限制特定指令碼每個工作階段可被呼叫次數的 JSON 物件。鍵是與命令文字比對的子字串;值是整數呼叫上限。例如,{"deploy.sh": 2} 允許 deploy.sh 最多被呼叫兩次。比對以子字串為基礎,因此像 ./scripts/deploy.sh $(evil) 這樣的 shell 展開技巧仍會計入上限。透過 xargs 或 find -exec 的執行期擴散無法偵測;這是一種縱深防禦控制
CLAUDE_CODE_SCROLL_SPEED 設定全螢幕呈現中的滑鼠滾輪捲動倍數。接受最大 20 的任何正值,包括小於 1 的小數值(例如 0.5),以在已放大滾輪事件的終端機中減緩加速的觸控板與滾輪捲動。若您的終端機每個刻度傳送一個滾輪事件且未放大,請設為 3 以符合 vim。在 JetBrains IDE 終端機中會被忽略,因為 Claude Code 在該處使用自己的捲動處理
CLAUDE_CODE_SEND_FEEDBACK 設為 0 可為工作階段關閉 Claude 草擬的意見回饋。設為 1 可在您的帳戶已具有存取權時開啟;此變數本身無法授予存取權,且其他關閉意見回饋的開關(例如 DISABLE_FEEDBACK_COMMAND 以及 feedbackDrafts 設定的 off 值)仍然適用
CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS 覆寫 SessionEnd hook 的時間預算(毫秒)。此值也是每個未自行設定 timeout 的 hook 的逾時。適用於工作階段結束、/clear,以及透過互動式 /resume 切換工作階段。預設預算為 1.5 秒,並會自動提高至設定檔中所設定的最高個別 hook timeout,最多 60 秒。外掛提供的 hook 上的逾時不會提高預算
CLAUDE_CODE_SESSION_ID 在 Bash 與 PowerShell 工具子程序、hook 命令子程序以及 stdio MCP 伺服器子程序中,自動設為目前的工作階段 ID。對於 Bash、PowerShell 與 hook,此值與 hook JSON 輸入中的 session_id 欄位相符,並會在 /clear 時更新。MCP 伺服器子程序會保留其產生時的 ID。在 --resume <session-id> 時,它會收到繼續的 ID,與 hook 和 Bash 相符。在未指定明確 ID 的 --continue 或 --resume 時,它可能會改為收到初始啟動的 ID。可用於將指令碼與外部工具關聯至啟動它們的 Claude Code 工作階段
CLAUDE_CODE_SHELL 設定 Claude Code 用於執行 Bash 工具命令的 shell。接受 bash 或 zsh 二進位檔的路徑,例如 /opt/homebrew/bin/bash。不支援其他 shell,例如 fish。若此值不是可運作的 bash 或 zsh 路徑,Claude Code 會忽略它並改用自動偵測。自動偵測會在您的 $SHELL 指向 bash 或 zsh 時使用它,否則會在您的 PATH 與標準安裝位置中,依序挑選第一個可運作的 zsh,再來是 bash
CLAUDE_CODE_SHELL_PREFIX 包裝 Claude Code 所產生之 shell 命令的命令前綴:Bash 工具呼叫、hook 命令、狀態列命令以及 stdio MCP 伺服器啟動命令。PowerShell hook 與 exec 形式的 hook 不會加上前綴執行。適用於記錄或稽核。設定像 /path/to/logger.sh 這樣的單純執行檔路徑,會將每個命令以 /path/to/logger.sh '<command>' 的形式執行。包裝程式會在 $1 中以單一經 shell 引號處理的引數接收命令列,因此包裝程式必須以 shell 重新評估 $1,例如 exec bash -c "$1"。將 $1 視為單純執行檔路徑,會導致傳遞引數(例如 npx -y <package>)的 stdio MCP 伺服器無法運作。對於 Bash 工具呼叫,$1 包含 Claude Code 組合的完整 shell 呼叫,包括環境設定,而不僅是 Claude 執行的命令
CLAUDE_CODE_SIMPLE 設為 1 可以最精簡的系統提示詞執行,且只使用 Bash、檔案讀取與檔案編輯工具。來自 --mcp-config 的 MCP 工具仍可使用。停用 hook、skill、自訂命令、subagent、已安裝外掛、MCP 伺服器、自動記憶以及 CLAUDE.md 的自動探索。您以 --add-dir 傳入之目錄中的 skill 仍會載入。不會讀取 OAuth token 與鑰匙圈憑證,因此 Anthropic 身分驗證必須來自 ANTHROPIC_API_KEY 或 --settings 中的 apiKeyHelper。等同於傳遞 --bare
CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT 設為 1 可在任何模型上使用較短的系統提示詞與精簡的工具描述。設為 0、false、no 或 off 可選擇退出,即使在實驗或伺服器設定原本會啟用它的模型上也一樣。完整的工具集、hook、MCP 伺服器以及 CLAUDE.md 探索仍保持啟用
CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH 略過 Claude Platform on AWS 的用戶端身分驗證,適用於自行簽署請求的閘道
CLAUDE_CODE_SKIP_AWS_CRED_CACHE 設為 1 可關閉從 AWS 預設憑證提供者鏈所解析之憑證的程序內快取,讓 Claude Code 在每個 API 請求時都解析該鏈。關閉快取後,以 SSO 為基礎的設定檔會在每個請求時向 IAM Identity Center 請求憑證。請參閱憑證快取與解析逾時。需要 Claude Code v2.1.207 或更新版本
CLAUDE_CODE_SKIP_BEDROCK_AUTH 略過 Amazon Bedrock 的 AWS 身分驗證(例如使用 LLM 閘道時)
CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS 設為 1 可將失敗的快速模式可用性檢查視為可用,適用於封鎖該檢查直接連往 api.anthropic.com 之請求的網路。Claude Code 仍會遵循「disabled by your organization」回應
CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK 設為 1 可略過用戶端的快速模式可用性檢查,適用於攔截而非拒絕該檢查請求的代理伺服器。當您的組織已停用快速模式時,API 仍會拒絕快速模式請求
CLAUDE_CODE_SKIP_FOUNDRY_AUTH 略過 Microsoft Foundry 的 Azure 身分驗證,適用於注入自己 Authorization 標頭的代理伺服器或閘道。Claude Code 會在不帶 Azure 憑證的情況下傳送請求,並保留您提供的 Authorization 標頭(例如透過 ANTHROPIC_CUSTOM_HEADERS)。當設定 ANTHROPIC_FOUNDRY_API_KEY 或 ANTHROPIC_FOUNDRY_AUTH_TOKEN 時會被忽略。在 v2.1.203 之前,除非同時設定 API 金鑰,否則此變數會導致 Microsoft Foundry 用戶端無法傳送請求
CLAUDE_CODE_SKIP_MANTLE_AUTH 略過 Amazon Bedrock Mantle 的 AWS 身分驗證(例如使用 LLM 閘道時)
CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY Amazon Bedrock 與 Google Cloud's Agent Platform 上的啟動模型檢查,會在此機器上記住它們發現您的帳戶無法呼叫的模型,最長一天。設為 1 可關閉此記憶。需要 Claude Code v2.1.285 或更新版本
CLAUDE_CODE_SKIP_PROMPT_HISTORY 設為 1 可略過將提示詞歷史記錄與工作階段逐字稿寫入磁碟。設定此變數後啟動的工作階段不會出現在 --resume、--continue 或向上鍵歷史記錄中。適用於短暫的指令碼化工作階段
CLAUDE_CODE_SKIP_VERTEX_AUTH 略過 Google Cloud's Agent Platform 的 Google 身分驗證(例如使用 LLM 閘道時)
CLAUDE_CODE_STARTUP_FAILURE_RESULTS 設為 1 可讓以 --output-format stream-json 啟動的工作階段,針對原本只以 stderr 結束的啟動失敗,寫入一則說明 Claude Code 拒絕啟動原因的結果訊息。需要 Claude Code v2.1.274 或更新版本
CLAUDE_CODE_STOP_HOOK_BLOCK_CAP Stop 或 SubagentStop hook 可連續阻止回合結束的最大次數,超過後 Claude Code 會覆寫它並仍然結束回合(預設:8)。設為 0 可停用上限。若您的 hook 確實需要更多次迭代才能解決,請調高此值
CLAUDE_CODE_SUBAGENT_MODEL 未透過其他方式指定模型的 subagent、agent team 隊員以及工作流程 agent 的預設模型。接受別名(例如 haiku)或完整模型名稱。有兩個來源優先於此變數:Claude 產生 agent 時傳遞的模型,以及 agent 定義中的 model 欄位(包括 inherit)。若要改變這一點,請設定 CLAUDE_CODE_SUBAGENT_MODEL_FORCE。完整順序請參閱選擇模型。設為 inherit 與不設定相同。在 v2.1.251 之前,此變數會覆寫每次呼叫的模型與定義的 model 欄位
CLAUDE_CODE_SUBAGENT_MODEL_FORCE 設為 1 可強制 subagent、隊員與工作流程 agent 使用同一個模型。讓每個 subagent 都在同一個模型上執行說明了是哪一個模型。需要 Claude Code v2.1.257 或更新版本
CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL 設為 5m 或 1h(Claude Code 僅接受這兩個值),可選擇主對話以外之請求的提示快取 TTL,例如 subagent、工作流程與背景工作。優先於 subagentPromptCacheTtl 設定與 ENABLE_PROMPT_CACHING_1H,而 FORCE_PROMPT_CACHING_5M 會覆寫此變數。API 會以較高費率計費 1 小時的快取寫入。需要 Claude Code v2.1.242 或更新版本
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB 設為 1 可從 Claude Code 啟動之子程序(例如 Bash 命令、hook 與 stdio MCP 伺服器)的環境中移除憑證。清除機制會依變數名稱或值辨識憑證,並保留 GitHub token 與代理伺服器設定。請參閱子程序環境清除會移除哪些內容。設定 allowed_non_write_users 時,claude-code-action 會自動設定此變數
CLAUDE_CODE_SYNC_PLUGIN_INSTALL 在非互動模式(-p 旗標)中設為 1,可在第一個查詢之前等待外掛安裝完成。若未設定,外掛會在背景安裝,且可能在第一個回合時無法使用。可搭配 CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS 以限制等待時間
CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS 同步外掛安裝的逾時(毫秒)。超過時,Claude Code 會在沒有外掛的情況下繼續並記錄錯誤。沒有預設值:若未設定此變數,同步安裝會等到完成為止
CLAUDE_CODE_SYNC_SKILLS 在搭配 -p 旗標的非互動模式中設為 1,可讓 Claude Code 在該次執行中下載為您的 claude.ai 帳戶啟用的 skill,並在執行第一次查詢之前等待其清單,最長等待 CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS。需要 claude.ai 身分驗證。您以 claude.ai 帳戶登入的終端機工作階段不需要此變數就會同步這些 skill,因此請僅在 -p 執行需要在第一次查詢時取得您目前的 skill 時才設定
CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS 當以 Agent SDK 建置的應用程式重新載入 skill 時,於工作階段中途執行之 skill 重新同步的逾時(毫秒)(預設:30000)。超過時,重新載入會以已抵達的 skill 繼續進行,其餘的下載則在背景完成
CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS 設定 CLAUDE_CODE_SYNC_SKILLS 時,第一個查詢等待初始 skill 清單的逾時(毫秒)(預設:5000)。超過時,第一個查詢會以已抵達的 skill 執行。無論如何,下載都會在背景完成,而 Claude 在呼叫某個 skill 時會等待該 skill 下載完成
CLAUDE_CODE_SYNTAX_HIGHLIGHT 設為 false 可停用差異輸出中的語法醒目提示。適用於色彩干擾您終端機設定的情況。若也要在程式碼區塊與檔案預覽中停用醒目提示,請使用 syntaxHighlightingDisabled 設定
CLAUDE_CODE_TASK_LIST_ID 在多個工作階段之間共用任務清單。在多個 Claude Code 執行個體中設定相同的 ID,即可在具備 Task 工具的工作階段中協調共用的任務清單。請參閱任務清單
CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS 以毫秒覆寫非互動式工作階段在結束時等待其 agent team 完成拆除的時間。接受 1000 至 60000;超出範圍的值會被忽略並套用預設值 10000。需要 Claude Code v2.1.206 或更新版本
CLAUDE_CODE_TMPDIR 覆寫用於內部暫存檔案的暫存目錄。Claude Code 會在 Unix 上於此路徑後附加 /claude-{uid}/,在 Windows 上附加 /claude/。預設:macOS 上為 /tmp,Linux 與 Windows 上為 os.tmpdir()。在 macOS 與 Linux 上,當您的覆寫值是較長的路徑時,沙箱化的 Bash 子程序會收到位於系統預設值下的較短備援 $TMPDIR,因為某些工具在暫存路徑過長時會失敗。未沙箱化的 Bash 命令會在您的 shell 已設定 $TMPDIR 時繼承它。在原生 Windows 上,當您的 shell 未設定 $TMPDIR 時,參照 $TMPDIR 的 Bash 命令會收到您的覆寫值,若您未設定則收到 %TEMP%。Claude Code 自身的暫存檔案一律使用您的覆寫值。請在您的 shell、使用者設定或受管設定中設定。在專案與本機設定中會被忽略
CLAUDE_CODE_TMUX_TRUECOLOR 設為任何非空值(例如 1)可允許在 tmux 內輸出 24 位元真彩色。設為 0 或 false 仍會允許真彩色,這與大多數開關型變數不同;請取消設定此變數以恢復 256 色限制。預設情況下,當設定了 $TMUX 時,Claude Code 會限制為 256 色,因為除非經過設定,否則 tmux 不會傳遞真彩色跳脫序列。請在將 set -ga terminal-overrides ',*:Tc' 加入您的 ~/.tmux.conf 後設定此變數。其他 tmux 設定請參閱終端機設定
CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE 在 Linux 與 WSL 上,設為以逗號分隔的程序種類清單,指定 Claude Code 從工具記憶體上限中排除的程序種類,例如 mcp 或 lsp。設為 none 可限制每一種程序,設為 all-new 則只限制 Bash、PowerShell 與 Monitor 工具命令。無論您列出什麼,Claude Code 都會將 Bash、PowerShell 與 Monitor 工具命令保留在上限之內。需要 Claude Code v2.1.246 或更新版本
CLAUDE_CODE_TOOL_MEMORY_LIMIT 在 Linux 與 WSL 上,設為像 4G 這樣的大小,可限制 Bash 與 PowerShell 工具命令可使用的記憶體,在 v2.1.246 或更新版本中也包括 Monitor 工具命令。請以純數字撰寫大小,單獨表示位元組數,或加上 K、M、G 或 T 後綴。設為 0 或 off 可關閉上限。一旦 Claude Code 啟動的第一個程序已開啟或關閉上限,變更後的值會在您下次啟動 claude 時生效。需要 Claude Code v2.1.233 或更新版本
CLAUDE_CODE_TRANSCRIPT_LOCAL_GC 設為 1 可限制長時間 -p 或 Agent SDK 工作階段的逐字稿檔案成長大小。每次壓縮後,一旦檔案大於 5 MB,Claude Code 就會移除該次壓縮之前的歷史記錄。無論檔案是否經過修剪,繼續工作階段都會還原相同的對話。請在您啟動 Claude Code 的環境中設定,因為設定的 env 區塊無法開啟此變數。需要 Claude Code v2.1.287 或更新版本
CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS Claude Code 取消轉送至遠端用戶端(例如 Remote Control 或 SDK 主機)的對話方塊,或暫留之跨工作階段訊息的核准對話方塊之前的期限(毫秒);權限提示與 AskUserQuestion 問題使用各自的流程,不受此變數管轄。在 Claude Code v2.1.236 或更新版本中,它也會限制可能在無人值守情況下執行之工作階段中,於工作階段中途出現的 Fable 用量點數同意提示。控制傳入訊息與非互動式工作階段涵蓋完整的暫留訊息到期規則,包括期限不適用的情況。覆寫 dialogExpiry 設定。0 或負值會停用期限
CLAUDE_CODE_USE_ANTHROPIC_AWS 使用 Claude Platform on AWS
CLAUDE_CODE_USE_BEDROCK 使用 Amazon Bedrock
CLAUDE_CODE_USE_FOUNDRY 使用 Microsoft Foundry
CLAUDE_CODE_USE_MANTLE 使用 Amazon Bedrock Mantle 端點
CLAUDE_CODE_USE_NATIVE_FILE_SEARCH 設為 1 可使用 Node.js 檔案 API 而非 ripgrep 來探索自訂命令、subagent 與輸出風格。若隨附的 ripgrep 二進位檔在您的環境中無法使用或遭到封鎖,請設定此變數。不影響 Grep 或檔案搜尋工具
CLAUDE_CODE_USE_POWERSHELL_TOOL 控制 PowerShell 工具。在未安裝 Git Bash 的 Windows 上,此工具會自動啟用;設為 0 可將其停用。在已安裝 Git Bash 的 Windows 上,claude.ai 與 Console 帳戶預設會開啟此工具;設為 1 可在 Amazon Bedrock、Google Cloud's Agent Platform 與 Microsoft Foundry 工作階段中啟用,或設為 0 將其關閉。在 Linux、macOS 與 WSL 上,設為 1 即可啟用,但需要 PATH 中有 pwsh。在 Windows 上啟用後,Claude 可以原生執行 PowerShell 命令,而不需透過 Git Bash 轉送。請參閱 PowerShell 工具
CLAUDE_CODE_USE_VERTEX 使用 Google Cloud's Agent Platform
CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS 設定 WebFetch 將每個已擷取 URL 的回應保留在快取中的毫秒數。預設值為 900000,即 15 分鐘。僅接受純數字;0、小數或任何其他寫法都會維持預設值。Claude Code 每次啟動只讀取此值一次,因此在設定的 env 區塊中所做的變更,會在下次啟動 claude 時套用。需要 Claude Code v2.1.233 或更新版本
CLAUDE_CODE_WEBFETCH_DEADLINE_MS WebFetch 等待頁面下載完成的時間上限(毫秒),包含其所跟隨的任何重新導向。屆時仍未完成的下載會以截止期限錯誤失敗。預設值為 300000,即五分鐘。設為 0 可移除此限制。僅接受純數字;小數或任何其他寫法都會維持預設值。需要 Claude Code v2.1.268 或更新版本
CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE 當 CLAUDE_AUTO_BACKGROUND_TASKS 設為 1 時,Claude Code 每次提醒 Claude 檢查仍在執行中的背景 subagent 之前要等待多久。接受一個或多個以逗號分隔、介於 1 到 86400 之間的整數秒數等待時間,例如 600 或 600,1800,3600。每個值代表下一次提醒前的等待時間,最後一個值會重複使用。僅接受純數字;任何其他值或寫法都會視為未設定。未設定時不會有任何提醒。需要 Claude Code v2.1.283 或更新版本
CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS 單次工作流程執行同時執行的 agent 數量,範圍從 1 到 256。預設情況下,一次執行最多同時執行 16 個 agent,當 Claude Code 可用的 CPU 較少時則更少;排隊中的 agent() 呼叫會等待空出的位置。每個執行中 agent 的逐字稿都會保留在 Claude Code 的記憶體中,因此較高的值會增加記憶體用量。僅接受純數字;超出範圍的值與其他寫法都會維持預設值。需要 Claude Code v2.1.269 或更新版本
CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS 工作流程 agent 在送出自己的第一個請求前,等待具有相同前綴的同層 agent 開始第一個回應的時間上限(毫秒)。當一次扇出啟動數個共用提示快取前綴的 agent 時,Claude Code 會讓第一個以外的所有 agent 最多等待這麼久,讓其餘 agent 讀取已快取的前綴,而不是各自在未快取的情況下處理。預設值為 5000。設為 0 可停用等待。設定 DISABLE_PROMPT_CACHING 時,agent 永遠不會等待。需要 Claude Code v2.1.229 或更新版本
CLAUDE_CONFIG_DIR 覆寫設定目錄(預設值:~/.claude)。所有設定、工作階段歷史記錄與外掛都儲存在此路徑下。關於憑證,請參閱 Claude Code 儲存憑證的位置。適合同時執行多個帳戶:例如 alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'。請在 shell、使用者設定或受管設定中設定此變數。在設定檔中,請寫入絕對路徑。在專案與本機設定中會被忽略
CLAUDE_DISABLE_ADOPT 設為 1 可在您按下 ← 或使用 /background 將工作階段移至背景時,停止進行中的背景工作,而不是將其延續下去。Claude Code 會在移至背景前要求您確認,然後停止原本會延續下去的任務。需要 Claude Code v2.1.195 或更新版本
CLAUDE_EFFORT 在 Bash 工具子程序與 hook 命令中自動設定為子程序啟動時生效的 effort 等級:low、medium、high、xhigh 或 max。與傳遞給 hook 的 effort.level 欄位相符。僅在目前模型支援 effort 參數時設定
CLAUDE_ENABLE_BYTE_WATCHDOG 設為 1 可強制啟用位元組層級的串流閒置監視器,或設為 0 強制停用。0 也會在執行第一位元組截止期限的連線上關閉該截止期限。未設定時,此監視器預設會在直接 Anthropic API 與 Claude Platform on AWS 連線上啟用,也會針對透過 ANTHROPIC_BASE_URL 或 ANTHROPIC_AWS_BASE_URL 連線的閘道串流回應啟用;在 v2.1.222 之前,它不會在這些閘道連線上執行,因此即使 keep-alive ping 持續送達,事件層級監視器仍可能在那裡回報停滯。關於逾時以及各計時器之間的互動方式,請參閱串流閒置監視器
CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK 設為 1 可在 Amazon Bedrock vnd.amazon.eventstream 回應上啟用位元組層級的串流閒置監視器,這也會在 Bedrock 串流請求上啟用第一位元組截止期限。預設為關閉。請使用 CLAUDE_STREAM_IDLE_TIMEOUT_MS 設定逾時
CLAUDE_ENABLE_STREAM_WATCHDOG 設為 0 可強制停用事件層級的串流閒置監視器,或設為 1 強制啟用。未設定時,此監視器預設對所有供應商開啟。在 v2.1.196 之前,未設定時的預設值在直接 Anthropic API 上由伺服器控制,在其他供應商上則為關閉。請使用 CLAUDE_STREAM_IDLE_TIMEOUT_MS 設定逾時;關於與此監視器並行運作的其他停滯計時器,請參閱串流閒置監視器
CLAUDE_ENV_FILE shell 指令碼的路徑,Claude Code 會在每個 Bash 命令之前於同一個 shell 程序中執行其內容,因此檔案中的 export 對該命令可見。可用於在各命令之間保留 virtualenv 或 conda 的啟用狀態。也會由 SessionStart、Setup、CwdChanged 與 FileChanged hook 動態填入
CLAUDE_JOB_DIR 由 Claude Code 在每個背景工作階段中設定為該工作階段的 ~/.claude/jobs/<id> 目錄。該工作階段執行的 shell 命令會繼承此變數。請將暫存檔案寫入 $CLAUDE_JOB_DIR/tmp。Claude 在該處的 Write 與 Edit 呼叫不會要求權限,且刪除工作階段時會移除此目錄
CLAUDE_PID Claude Code 會在其產生的子程序中將此變數設定為自己的程序 ID:包括 Bash 與 PowerShell 工具命令以及 hook 命令。在 Linux 上,Bash 工具的 shell 整合會使用它來拒絕會比對到 Claude Code 程序本身的 pkill 模式;請參閱錯誤參考。您可以在自己的指令碼中讀取它,以刻意識別上層 Claude Code 程序或向其傳送訊號。需要 Claude Code v2.1.214 或更新版本
CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX 未提供明確名稱時,自動產生的 Remote Control 工作階段名稱的前綴。預設為您電腦的主機名稱,產生如 myhost-graceful-unicorn 的名稱。--remote-control-session-name-prefix CLI 旗標可為單次呼叫設定相同的值
CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS 在執行第一位元組截止期限的連線上,串流請求第一個回應位元組的截止期限(毫秒)。關於 Claude Code 如何限制此值、針對大型請求主體額外增加的時間,以及未設定此變數時如何選擇截止期限,請參閱 No response from API。需要 Claude Code v2.1.242 或更新版本
CLAUDE_STREAM_IDLE_TIMEOUT_MS 事件層級與位元組層級的串流閒置監視器關閉停滯連線前的逾時時間(毫秒)。明確設定此變數時,最小值為 300000(5 分鐘);較低的值會被自動調整,以容納延伸思考的停頓與代理伺服器緩衝,且位元組層級監視器會將此值上限設為 30 分鐘。對於位元組層級監視器,CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS 優先於此變數。關於各監視器在未設定時的預設值,請參閱串流閒置監視器
CLAUDE_SUBAGENT_BG_SHELL_MAX_MS 已於 v2.1.260 移除,現在不起任何作用。先前用於限制由 subagent 啟動的背景 shell 命令可執行的時間(毫秒),預設為 60 分鐘。請參閱背景命令生命週期規則
DEBUG 設為 1 可啟用除錯模式,等同於使用 --debug 啟動。除錯日誌會寫入 ~/.claude/debug/<session-id>.txt,或寫入 CLAUDE_CODE_DEBUG_LOGS_DIR 所設定的路徑。只有真值 1、true、yes 與 on 會啟用除錯模式,因此為其他工具設定的命名空間模式(例如 DEBUG=express:*)不會觸發它
DISABLE_AUTOUPDATER 設為 1 可停用自動背景更新。手動執行 claude update 仍然有效。使用 DISABLE_UPDATES 可同時封鎖兩者
DISABLE_AUTO_COMPACT 設為 1 可停用接近上下文上限時的自動壓縮。手動 /compact 命令仍可使用。適合想要明確控制壓縮時機的情況。會覆寫 autoCompactEnabled 設定
DISABLE_COMPACT 設為 1 可停用所有壓縮:包括自動壓縮與手動 /compact 命令
DISABLE_COST_WARNINGS 設為 1 可停用費用警告訊息
DISABLE_DOCTOR_COMMAND 設為 1 可隱藏 /doctor 設定檢查 skill 及其 /checkup 別名。適用於不希望使用者在工作階段中執行設定診斷的受管部署。不影響 claude doctor 終端機命令。在 v2.1.205 之前,此變數會隱藏 /doctor 診斷畫面命令
DISABLE_ERROR_REPORTING 設為任何非空值(例如 1)可選擇不參與錯誤回報。設為 0 或 false 仍會選擇不參與,這與大多數開關變數不同;取消設定此變數才能重新開啟錯誤回報
DISABLE_EXTRA_USAGE_COMMAND 設為 1 可隱藏 /usage-credits 命令,該命令可讓使用者購買超出速率限制的額外用量
DISABLE_FEEDBACK_COMMAND 設為 1 可停用 /feedback 命令與 Claude 草擬的意見回饋。也會停用透過相同途徑回報的 /bug 與 /share;在 v2.1.212 之前,它們是 /feedback 的別名,因此該命令在所有名稱下都會被停用。也接受舊名稱 DISABLE_BUG_COMMAND
DISABLE_GROWTHBOOK 設為 1 或 true 可停用 GrowthBook 功能旗標擷取,並對每個旗標使用程式碼中的預設值。這會使 Remote Control 以及其他需要擷取功能旗標的功能無法使用。設為 0 或 false 會維持擷取開啟。除非同時設定 DISABLE_TELEMETRY,否則遙測事件記錄仍會保持開啟
DISABLE_INSTALLATION_CHECKS 設為 1 可停用安裝警告。僅在手動管理安裝位置時使用,因為這可能會掩蓋標準安裝的問題
DISABLE_INSTALL_GITHUB_APP_COMMAND 設為 1 可隱藏 /install-github-app 命令。使用第三方供應商(Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry)時已預設隱藏
DISABLE_INTERLEAVED_THINKING 設為 1 可避免傳送 interleaved-thinking beta 標頭。適用於您的 LLM 閘道或供應商不支援交錯思考的情況
DISABLE_LOGIN_COMMAND 設為 1 可隱藏 /login 命令。適用於透過 API 金鑰或 apiKeyHelper 在外部處理身分驗證的情況
DISABLE_LOGOUT_COMMAND 設為 1 可隱藏 /logout 命令
DISABLE_PROMPT_CACHING 設為 1 可對所有模型停用提示快取(優先於各模型的設定)
DISABLE_PROMPT_CACHING_FABLE 設為 1 可對 Fable 模型停用提示快取
DISABLE_PROMPT_CACHING_HAIKU 設為 1 可對預設 Haiku 模型停用提示快取,無論其在何處執行
DISABLE_PROMPT_CACHING_OPUS 設為 1 可對預設 Opus 模型停用提示快取
DISABLE_PROMPT_CACHING_SONNET 設為 1 可對預設 Sonnet 模型停用提示快取
DISABLE_TELEMETRY 設為任何非空值(例如 1)可選擇不參與遙測。設為 0 或 false 仍會選擇不參與,這與大多數開關變數不同;取消設定此變數才能重新開啟遙測。遙測事件不包含程式碼、檔案路徑或 Bash 命令等使用者資料。也會停用功能旗標擷取。請參閱為您的組織關閉遙測
DISABLE_UPDATES 設為 1 可封鎖所有更新,包括手動執行 claude update 與 claude install。比 DISABLE_AUTOUPDATER 更嚴格。適用於透過您自己的管道發布 Claude Code,且使用者不應自行更新的情況
DISABLE_UPGRADE_COMMAND 設為 1 可隱藏 /upgrade 命令
DO_NOT_TRACK 設為 1 可選擇不參與遙測,效果與 DISABLE_TELEMETRY 相同,包括對功能旗標擷取的影響。Claude Code 會將此變數當作標準布林值讀取,因此 0 會維持遙測開啟,並將其視為許多開發者 CLI 共同認可的跨工具慣例來遵循
ENABLE_BETA_TRACING_DETAILED 設為 1,並將 BETA_TRACING_ENDPOINT 設為您的 OTLP/HTTP 收集器端點,即可開啟詳細 beta 追蹤,這會加入包含內容的 span 屬性以及 claude_code.hook span。互動式 CLI 工作階段還需要您的組織已列入此 beta 的允許清單。這兩個變數在專案與本機設定中都會被忽略
ENABLE_CLAUDEAI_MCP_SERVERS 設為 false 可讓 Claude Code 停止擷取 claude.ai MCP 伺服器。對已登入的使用者預設為啟用。若要依專案或依組織停用,請改為在設定中設定 disableClaudeAiConnectors
ENABLE_PROMPT_CACHING_1H 設為 1 可請求 1 小時的提示快取 TTL,而非預設的 5 分鐘。適用於 API 金鑰、Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry 與 Claude Platform on AWS 使用者。在內含用量範圍內的訂閱使用者,會在主要對話上自動獲得 1 小時 TTL。使用用量點數的訂閱使用者可以設定此變數以保留 1 小時 TTL。1 小時快取寫入會以較高費率計費。若要改為依請求類別選擇 TTL,請使用 CLAUDE_CODE_PROMPT_CACHE_TTL 與 CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL,這兩者優先於此變數
ENABLE_PROMPT_CACHING_1H_BEDROCK 已棄用。請改用 ENABLE_PROMPT_CACHING_1H
ENABLE_TOOL_SEARCH 控制 MCP Tool Search。未設定時,Claude Code 預設會延後載入所有 MCP 工具。但在早於 Claude 4.5 世代的 Google Cloud's Agent Platform 模型、託管於 Azure 的 Microsoft Foundry 部署,以及 ANTHROPIC_BASE_URL 指向非第一方主機時,仍會預先載入這些工具。true 一律延後載入並傳送 beta 標頭,但上述相同的 Agent Platform 模型與 Microsoft Foundry 部署除外;在不支援 tool_reference 的代理伺服器上,請求會失敗。auto 會在工具定義可容納於上下文的 10% 以內時預先載入。auto:N 可設定自訂閾值,例如 auto:5 代表 5%。false 會預先載入所有工具。設定 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS 時,您自行設定的值會被忽略。在 v2.1.221 之前,除非您將此變數設為 true,否則 Claude Code 會對 Google Cloud's Agent Platform 上的所有模型停用工具搜尋
FALLBACK_FOR_ALL_PRIMARY_MODELS 設為任何非空值(例如 1),可在未設定備援模型時,讓 Claude Code 對所有模型在重複發生過載錯誤時停止重試。設為 0 或 false 仍會啟用此行為,這與大多數開關變數不同;取消設定此變數才能恢復預設的重試行為。未設定時,只有當您使用 API 金鑰或第三方供應商而非 Claude 訂閱進行身分驗證時,Claude Code 才會對其識別為 Opus、Fable 或 Mythos 的模型以此方式停止重試。在 Claude Code v2.1.160 或更新版本中,Claude Code 會在任何主要模型重複發生過載錯誤時切換至您設定的備援模型鏈,因此此變數不影響切換至備援模型
FORCE_AUTOUPDATE_PLUGINS 設為 1 可在主要自動更新程式透過 DISABLE_AUTOUPDATER 停用時,仍強制執行外掛自動更新
FORCE_HYPERLINK 設為 1 可在您的終端機支援但未被自動偵測到時,啟用可點擊的 OSC 8 超連結,或設為 0 將其停用。未設定時,Claude Code 只有在偵測到終端機支援時才會啟用超連結。Claude Code 會將此值解析為數字而非布林值,因此 false、no 或 off 等值會啟用超連結,而不是停用。即使 Claude Code 無法偵測到終端機支援(例如透過 SSH 時),頁尾的 PR 或合併請求徽章仍會顯示為超連結。設為 0 可將徽章顯示為純文字
FORCE_PROMPT_CACHING_5M 設為 1 可強制使用 5 分鐘的提示快取 TTL,即使原本會套用 1 小時 TTL。會覆寫 CLAUDE_CODE_PROMPT_CACHE_TTL、CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL、ENABLE_PROMPT_CACHING_1H,以及 promptCacheTtl 與 subagentPromptCacheTtl 設定
HTTP_PROXY 為網路連線指定 HTTP 代理伺服器
HTTPS_PROXY 為網路連線指定 HTTPS 代理伺服器
IS_DEMO 設為任何非空值(例如 1)可啟用示範模式:在標頭與 /status 輸出中隱藏您的電子郵件與組織名稱,並略過初始設定流程。設為 0 或 false 仍會啟用示範模式,這與大多數開關變數不同;取消設定此變數才能將其關閉。適用於直播或錄製工作階段的情況
MAX_MCP_OUTPUT_TOKENS MCP 工具回應中允許的最大 token 數(預設值:25000)。當輸出超過 10,000 個 token 時,Claude Code 會顯示警告。宣告了 anthropic/maxResultSizeChars 的工具會改用該字元上限處理文字內容,但這些工具的圖片內容仍受此變數限制。來自未帶有該註解之工具、長度超過 50,000 個字元的成功文字結果,無論此變數為何,都會儲存至檔案
MAX_STRUCTURED_OUTPUT_RETRIES 在使用 -p 旗標的非互動模式下,當模型回應未通過 --json-schema 驗證時,Claude Code 允許的嘗試次數;在達到該次數的失敗嘗試且沒有有效輸出後,執行即告失敗。當工作流程 subagent 的結構化輸出未通過驗證時,也套用相同的上限。預設為 5,即第一次嘗試加上四次重試
MAX_THINKING_TOKENS 延伸思考的固定 token 預算。Claude Code 會將其上限設為比請求的最大輸出 token 數少一個 token,且永遠不低於 1,024。關於該上限的設定方式,請參閱 CLAUDE_CODE_MAX_OUTPUT_TOKENS。未設定且已啟用思考時,具備自適應推理的模型會自行選擇思考深度,其他模型則使用上限值。設為 0 可在 Anthropic API 上停用思考,但 Opus 5.5、Sonnet 5.5、Haiku 5.5 與 Fable 模型除外,這些模型無法關閉思考。在第三方供應商上,0 則會改為省略 thinking 參數。在 Anthropic API 上關閉思考時,對於 Claude Code 已知不接受該組合的模型(例如 Opus 5),Claude Code 會傳送 effort high,而不是更高的等級。若為正值,Claude Code 在自適應推理模型上會忽略該數字本身,除非 CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING 關閉了自適應推理
MCP_CLIENT_SECRET 需要預先設定憑證之 MCP 伺服器的 OAuth 用戶端密鑰。可在使用 --client-secret 新增伺服器時避免互動式提示
MCP_CONNECTION_NONBLOCKING 控制啟動時是否在第一次查詢前等待 MCP 伺服器連線。MCP 啟動預設為非阻塞:伺服器會在背景連線,其工具會在完成時陸續可用。設為 0 可讓 Claude Code 在第一次查詢前等待伺服器連線。以 alwaysLoad: true 設定的伺服器無論如何仍會讓啟動等待,除非是從探索快取提供,因為建立第一個提示詞時其工具必須已存在。在未使用 --input-format stream-json 的非互動模式(-p)下,無論此變數為何,Claude Code 也會在第一個回合前等待仍在擱置中的伺服器。當您明確傳入 --mcp-config 時,等待的截止期限會較長;關於已快取伺服器的例外情況,請參閱該旗標的說明
MCP_CONNECT_TIMEOUT_MS 阻塞式 MCP 啟動在擷取工具清單快照前,等待連線批次的時間(毫秒)(預設值:5000)。適用於 MCP_CONNECTION_NONBLOCKING=0 時,或標示為 alwaysLoad: true 的伺服器。截止期限到時仍在擱置中的伺服器會繼續在背景連線。與 MCP_TIMEOUT 不同,後者限制的是個別伺服器的連線嘗試
MCP_DISCOVERY_CACHE 開啟或關閉 MCP 探索快取。快取開啟時,您先前使用過的遠端 HTTP 或 SSE 伺服器可能會顯示 cached 狀態,且 Claude Code 會在其第一次工具呼叫時才連線,而不是在啟動時連線。除非漸進式推出已為您的帳戶啟用,否則快取預設為關閉。設為 1 可將其開啟,或設為 0 讓其即使在推出已啟用時仍保持關閉。在 v2.1.238 之前,快取預設為開啟。cached 狀態需要 Claude Code v2.1.221 或更新版本
MCP_DISCOVERY_CACHE_MAX_STALE_S 探索快取項目的最大存留時間(秒)(預設值:14400,即 4 小時)。在項目超過此存留時間的啟動中,Claude Code 會捨棄該項目並在啟動時連線伺服器,就像快取關閉時一樣。Claude Code 會將此值上限設為 7 天。在 v2.1.238 之前,預設值為 86400,即 24 小時,且 Claude Code 不會限制此值
MCP_DISCOVERY_CACHE_STRIKES 在探索快取項目超過 MCP_DISCOVERY_CACHE_TTL_S 的啟動中,Claude Code 會在背景重新整理該項目。此變數設定在 Claude Code 捨棄該項目並改為在下次啟動時連線伺服器之前,可以連續失敗幾次重新整理(預設值:1)。如果您的網路連線偶爾中斷,可以提高此值,讓單次重新整理失敗不會導致項目被捨棄。需要 Claude Code v2.1.238 或更新版本
MCP_DISCOVERY_CACHE_TTL_S Claude Code 使用探索快取項目而不重新整理的秒數(預設值:900)。在項目超過此時間的啟動中,Claude Code 仍會使用它,但會在背景重新整理。一旦項目超過 MCP_DISCOVERY_CACHE_MAX_STALE_S,Claude Code 就會改為捨棄它。Claude Code 會將此值上限設為 MCP_DISCOVERY_CACHE_MAX_STALE_S,預設為 4 小時。在 v2.1.238 之前,Claude Code 不會限制此值
MCP_OAUTH_CALLBACK_PORT OAuth 重新導向回呼的固定連接埠,可在新增具有預先設定憑證的 MCP 伺服器時作為 --callback-port 的替代方案
MCP_PROTOCOL_NEGOTIATION 僅在 v2 MCP 用戶端執行環境上,決定 Claude Code 是否探測伺服器是否支援 MCP 協定修訂版 2026-07-28。設為 auto 可探測 HTTP、claude.ai 連接器與 stdio 伺服器,或設為 legacy 不探測任何伺服器。未設定此變數時,Claude Code 會探測 MCP 用戶端執行環境中所述的伺服器。任何其他值都會被忽略,並在除錯日誌中留下警告。需要 Claude Code v2.1.221 或更新版本
MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE 啟動期間平行連線的遠端 MCP 伺服器(HTTP/SSE)最大數量(預設值:20)
MCP_SDK_GENERATION 固定此程序用來連線 MCP 伺服器的 MCP 用戶端執行環境:v1,建構於 MCP TypeScript SDK 1.x;或 v2,建構於 MCP TypeScript SDK 2.0。未設定此變數時,Claude Code 會從該節列出的版本開始使用 v2。在 Claude Code v2.1.221 或更新版本中,v2 執行環境會檢查 MCP OAuth 伺服器在其授權回應中傳回的簽發者,若不相符,則登入會失敗並顯示以 Issuer mismatch in authorization response 開頭的錯誤。v1 執行環境不會執行此檢查。如果您設定了無法識別的值,Claude Code 會忽略它並將警告寫入除錯日誌。Claude Code 每個程序只讀取此值一次。需要 Claude Code v2.1.218 或更新版本
MCP_SERVER_CONNECTION_BATCH_SIZE 啟動期間平行連線的本機 MCP 伺服器(stdio)最大數量(預設值:3)
MCP_TIMEOUT MCP 伺服器啟動的逾時時間(毫秒)(預設值:30000,即 30 秒)
MCP_TOOL_TIMEOUT MCP 工具執行的逾時時間(毫秒)(預設值:100000000,約 28 小時)。對於 HTTP、SSE 或 claude.ai 連接器伺服器,每個請求預設也會在 60 秒後逾時;將此變數或個別伺服器的 timeout 設為高於 60000,即可提高該單一請求上限。較低的值仍會縮短整體工具執行逾時,但單一請求上限維持 60 秒。Stdio 與 WebSocket 伺服器沒有單一請求計時器。.mcp.json 中個別伺服器的 timeout 欄位會針對該伺服器覆寫此值。至少為 1000 的個別伺服器 timeout 也會設定該伺服器工具呼叫的最小閒置時間窗口,因此 CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT 永遠不會更早中止它們;此下限需要 Claude Code v2.1.203 或更新版本。對於環境變數,低於 1000 的值會被調整為一秒;對於個別伺服器欄位,低於 1000 的值會被忽略
NO_PROXY 將直接發出請求、略過代理伺服器的網域與 IP 清單
OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT 標準 OpenTelemetry SDK 的屬性值長度上限。Claude Code 會將包含內容的遙測屬性上限設為此值與 CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH 中較小者,讓截斷標記保持在 SDK 限制之內。Claude Code 會以相同方式讀取 OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT 與 OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT 變體,並將已設定的最小值套用至所有訊號。需要 Claude Code v2.1.214 或更新版本。請參閱監控
OTEL_LOG_ASSISTANT_RESPONSES 設為 1 可在 assistant_response OpenTelemetry 日誌事件中包含模型的回應文字。未設定時,Claude Code 會改用 OTEL_LOG_USER_PROMPTS 的值。設為 0 可在即使已設定 OTEL_LOG_USER_PROMPTS 時仍保持回應遮蔽。請在 shell、使用者設定或受管設定中設定此變數。在專案與本機設定中會被忽略。需要 Claude Code v2.1.193 或更新版本。請參閱監控
OTEL_LOG_MANAGED_SETTINGS 設為 1 可在 managed_settings_resolved OpenTelemetry 日誌事件中加入遮蔽後的受管設定,以及遮蔽前設定的 SHA-256 摘要。預設為停用。請在 shell、使用者設定或受管設定中設定此變數;專案或本機設定中的值不會將其開啟。需要 Claude Code v2.1.274 或更新版本。請參閱監控
OTEL_LOG_RAW_API_BODIES 將 Anthropic Messages API 請求與回應的 JSON 以 api_request_body / api_response_body 日誌事件發出。設為 1 可內嵌在內容上限處截斷的主體,或設為 file:<dir> 將未截斷的主體寫入磁碟,並改為發出 body_ref 路徑。CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH 用於設定內容上限,預設為 60 KB。預設為停用;主體包含完整的對話記錄。請在 shell、使用者設定或受管設定中設定此變數。在專案與本機設定中會被忽略。請參閱監控
OTEL_LOG_TOOL_CONTENT 設為 1 可在 tool.output OpenTelemetry span 事件中包含工具內容。Span 屬性會在其各自的閘門下攜帶工具內容。需要啟用追蹤。預設為停用以保護敏感資料。請在 shell、使用者設定或受管設定中設定此變數。在專案與本機設定中會被忽略,但該節所述的關閉值除外。請參閱監控
OTEL_LOG_TOOL_DETAILS 設為 1 可在 OpenTelemetry 指標、追蹤與日誌中包含工具輸入引數;MCP 伺服器名稱;使用者撰寫的工作流程名稱;工具失敗時的原始錯誤字串;api_refusal 事件中的拒絕 category;費用與 token 指標中真實的 agent、skill、外掛與 MCP 伺服器名稱;以及其他工具詳細資訊。預設為停用以保護 PII。請在 shell、使用者設定或受管設定中設定此變數。在專案與本機設定中會被忽略,但該節所述的關閉值除外。請參閱監控
OTEL_LOG_USER_PROMPTS 設為 1 可在 OpenTelemetry 追蹤與日誌中包含使用者提示詞文字。預設為停用(提示詞會被遮蔽)。請在 shell、使用者設定或受管設定中設定此變數。在專案與本機設定中會被忽略,但該節所述的關閉值除外。請參閱監控
OTEL_METRICS_INCLUDE_ACCOUNT_UUID 設為 false 可從指標屬性中排除帳戶 UUID(預設值:包含)。請參閱監控
OTEL_METRICS_INCLUDE_ENTRYPOINT 設為 true 可在指標屬性中包含工作階段進入點(預設值:排除)。於 v2.1.152 新增。請參閱監控
OTEL_METRICS_INCLUDE_REPOSITORY 設為 true 可為 OpenTelemetry 指標與事件加上識別工作階段儲存庫的 vcs.* 屬性(預設值:排除)。需要 Claude Code v2.1.269 或更新版本。請參閱儲存庫屬性
OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES 自 v2.1.161 起,Claude Code 會將 OTEL_RESOURCE_ATTRIBUTES 的鍵附加至指標資料點標籤。設為 false 可將其排除(預設值:包含)。請參閱監控
OTEL_METRICS_INCLUDE_SESSION_ID 設為 false 可從指標屬性中排除工作階段 ID(預設值:包含)。請參閱監控
OTEL_METRICS_INCLUDE_VERSION 設為 true 可在指標屬性中包含 Claude Code 版本(預設值:排除)。請參閱監控
SLASH_COMMAND_TOOL_CHAR_BUDGET 覆寫提供給 Skill 工具之 skill 中繼資料的字元預算。此預算會以上下文視窗的 1% 動態調整,備援值為 8,000 個字元。為了向後相容而保留舊名稱
TASK_MAX_OUTPUT_LENGTH 已於 v2.1.277 移除,現在不起任何作用,其所設定大小的 TaskOutput 工具也一併移除。先前用於設定 TaskOutput 工具保留的背景任務輸出最大字元數。Claude 現在改用 Read 讀取背景任務的輸出檔案
USE_BUILTIN_RIPGREP 設為 0 可使用系統安裝的 rg,而不是 Claude Code 內含的 rg
VERTEX_REGION_CLAUDE_3_5_HAIKU 使用 Google Cloud's Agent Platform 時覆寫 Claude 3.5 Haiku 的區域
VERTEX_REGION_CLAUDE_3_5_SONNET 使用 Google Cloud's Agent Platform 時覆寫 Claude 3.5 Sonnet 的區域
VERTEX_REGION_CLAUDE_3_7_SONNET 使用 Google Cloud's Agent Platform 時覆寫 Claude 3.7 Sonnet 的區域
VERTEX_REGION_CLAUDE_4_0_OPUS 使用 Google Cloud's Agent Platform 時覆寫 Claude 4.0 Opus 的區域
VERTEX_REGION_CLAUDE_4_0_SONNET 使用 Google Cloud's Agent Platform 時覆寫 Claude 4.0 Sonnet 的區域
VERTEX_REGION_CLAUDE_4_1_OPUS 使用 Google Cloud's Agent Platform 時覆寫 Claude 4.1 Opus 的區域
VERTEX_REGION_CLAUDE_4_5_OPUS 使用 Google Cloud's Agent Platform 時覆寫 Claude Opus 4.5 的區域
VERTEX_REGION_CLAUDE_4_5_SONNET 使用 Google Cloud's Agent Platform 時覆寫 Claude Sonnet 4.5 的區域
VERTEX_REGION_CLAUDE_4_6_OPUS 使用 Google Cloud's Agent Platform 時覆寫 Claude Opus 4.6 的區域
VERTEX_REGION_CLAUDE_4_6_SONNET 使用 Google Cloud's Agent Platform 時覆寫 Claude Sonnet 4.6 的區域
VERTEX_REGION_CLAUDE_4_7_OPUS 使用 Google Cloud's Agent Platform 時覆寫 Claude Opus 4.7 的區域
VERTEX_REGION_CLAUDE_4_8_OPUS 使用 Google Cloud's Agent Platform 時覆寫 Claude Opus 4.8 的區域
VERTEX_REGION_CLAUDE_5_5_OPUS 使用 Google Cloud's Agent Platform 時覆寫 Claude Opus 5.5 的區域。於 v2.1.280 新增
VERTEX_REGION_CLAUDE_5_5_SONNET 使用 Google Cloud's Agent Platform 時覆寫 Claude Sonnet 5.5 的區域。於 v2.1.284 新增
VERTEX_REGION_CLAUDE_5_OPUS 使用 Google Cloud's Agent Platform 時覆寫 Claude Opus 5 的區域。於 v2.1.219 新增
VERTEX_REGION_CLAUDE_5_SONNET 使用 Google Cloud's Agent Platform 時覆寫 Claude Sonnet 5 的區域。於 v2.1.197 新增
VERTEX_REGION_CLAUDE_FABLE_5 使用 Google Cloud's Agent Platform 時覆寫 Claude Fable 5 的區域。於 v2.1.170 新增
VERTEX_REGION_CLAUDE_FABLE_5_1 使用 Google Cloud's Agent Platform 時覆寫 Claude Fable 5.1 的區域。於 v2.1.257 新增
VERTEX_REGION_CLAUDE_HAIKU_4_5 使用 Google Cloud's Agent Platform 時覆寫 Claude Haiku 4.5 的區域
VERTEX_REGION_CLAUDE_HAIKU_5_5 使用 Google Cloud's Agent Platform 時覆寫 Claude Haiku 5.5 的區域。於 v2.1.293 新增

也支援標準 OpenTelemetry 匯出器變數(OTEL_METRICS_EXPORTER、OTEL_LOGS_EXPORTER、OTEL_EXPORTER_OTLP_ENDPOINT、OTEL_EXPORTER_OTLP_PROTOCOL、OTEL_EXPORTER_OTLP_HEADERS、OTEL_METRIC_EXPORT_INTERVAL、OTEL_RESOURCE_ATTRIBUTES 以及各訊號專屬的變體)。關於設定細節,請參閱監控。

請在 shell、使用者設定或受管設定中設定 CLAUDE_CODE_ENABLE_TELEMETRY,以及用於開啟匯出、選擇匯出目的地或擷取內容的 OpenTelemetry 變數。Claude Code 會在專案與本機設定中忽略這些變數,但該節所述的關閉值除外。OTEL_RESOURCE_ATTRIBUTES 以及匯出間隔、逾時與壓縮相關變數(例如 OTEL_METRIC_EXPORT_INTERVAL)在專案與本機設定中仍會套用。

子程序環境清除會移除哪些內容

當您將 CLAUDE_CODE_SUBPROCESS_ENV_SCRUB 設為 1 時,Claude Code 會從其啟動的子程序環境中移除憑證,例如 Bash 命令、hook 以及 stdio MCP 伺服器。這可減少提示詞注入攻擊所能讀取的內容。Claude Code 程序本身會保留這些憑證,以供其自身的 API 呼叫使用。

清除機制會依據變數名稱或其值的形式來辨識憑證,因此請將其作為一道防護層,搭配範圍狹窄的權限規則一起使用,而非當作唯一的控制手段。

下表說明清除機制對範例變數的處理方式:

範例變數 清除機制的處理方式
ANTHROPIC_API_KEY、AWS_SECRET_ACCESS_KEY 移除
NPM_TOKEN、DB_PASSWORD 移除,因為名稱看起來像憑證
包含密碼的 DATABASE_URL 移除,因為值看起來像憑證
包含密碼的 PIP_INDEX_URL 或 NPM_CONFIG_REGISTRY 保留 URL,但從中去除使用者名稱和密碼
CLAUDE_CONFIG_DIR 移除
GITHUB_TOKEN、GH_TOKEN、GH_ENTERPRISE_TOKEN、GITHUB_ENTERPRISE_TOKEN 保留原狀,讓 gh 以及呼叫 GitHub API 的指令碼能繼續運作
HTTP_PROXY、HTTPS_PROXY 保留原狀,包括 URL 中的使用者名稱和密碼。沙箱可自行為沙箱中的命令設定這些變數
GIT_CONFIG_COUNT、GIT_CONFIG_KEY_<n>、GIT_CONFIG_VALUE_<n> 無論其內容為何,皆保留原狀
變數名稱和值看起來都不像憑證的機密 保留原狀

由於清除機制會保留 GITHUB_TOKEN,請僅授予 GitHub Actions 工作所需的最小 permissions。若要從沙箱中的 Bash 命令移除 GitHub token,請在 sandbox.credentials 下新增一筆 deny 項目。

如果子程序需要其中某個會被移除的變數,請勿設定清除機制。

在 Linux 上,清除機制也會在隔離的 PID 命名空間中執行 Bash 子程序,使其無法透過 /proc 讀取主機程序的環境。其副作用是 ps、pgrep 和 kill 無法看到主機程序,也無法向其傳送訊號。

在 v2.1.251 之前,清除機制會移除 ANTHROPIC_API_KEY 和 AWS_SECRET_ACCESS_KEY,並保留表中其他範例變數不變。

需要擷取功能旗標的功能

Claude Code 會透過從 Anthropic 擷取的功能旗標來啟用部分功能。在下列工作階段中,Claude Code 會略過該擷取:

  • 設定了 DISABLE_GROWTHBOOK、DISABLE_TELEMETRY、DO_NOT_TRACK 或 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 的工作階段;變數表中每個變數的列會說明哪些值會關閉擷取
  • 使用第三方供應商(例如 Amazon Bedrock、Claude Platform on AWS、Google Cloud 的 Agent Platform 或 Microsoft Foundry)的工作階段,除非嵌入 Claude Code 的主機平台設定了 CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST
  • Claude apps 閘道工作階段

關閉擷取時,您無法:

安裝或升級後的第一個工作階段

在您安裝 Claude Code 後,或升級到新增某項功能的版本後的第一個工作階段中,受旗標控管的功能可能不存在。該工作階段的起始權限模式也可能與您之後的工作階段不同。當 Claude Code 在該工作階段中擷取旗標時,會將其儲存在機器上,因此您在該機器上的下一個工作階段就會具備該功能及一般的起始權限模式。

全新安裝後,在非互動式工作階段(例如 claude -p、Agent SDK 或 VS Code 擴充功能)中,Claude Code 可能會在選擇起始權限模式之前取得旗標,但不一定會等待旗標。

在如下的設定中,第一個之後的工作階段也會在沒有新擷取旗標的情況下啟動:

  • 每次執行都是乾淨的環境:如果每次執行都在 CI 容器中啟動,或在任何沒有先前工作階段所儲存旗標的環境中啟動,則每次執行都是第一個工作階段
  • 沒有 API 金鑰的閘道 token:如果您使用 ANTHROPIC_AUTH_TOKEN 進行身分驗證且沒有 API 金鑰,而 ANTHROPIC_BASE_URL 指向 Anthropic 以外的主機(例如 LLM 閘道),Claude Code 就沒有可用來擷取旗標的憑證

若要選擇這些設定中工作階段的起始權限模式,請參閱以不同的權限模式啟動。

另請參閱