Claude Code 提供多種設定選項來配置其行為以滿足您的需求。您可以在使用互動式 REPL 時執行 /config 命令來配置 Claude Code。

設定檔案

settings.json 檔案是我們透過階層式設定來配置 Claude Code 的官方機制:

  • 使用者設定 定義在 ~/.claude/settings.json 中,適用於所有專案。
  • 專案設定 儲存在您的專案目錄中:
    • .claude/settings.json 用於檢入原始碼控制並與您的團隊共享的設定
    • .claude/settings.local.json 用於不檢入的設定,適用於個人偏好和實驗。Claude Code 會在建立時配置 git 忽略 .claude/settings.local.json
  • 對於 Claude Code 的企業部署,我們也支援企業管理政策設定。這些設定優先於使用者和專案設定。系統管理員可以在 macOS 上部署政策到 /Library/Application Support/ClaudeCode/managed-settings.json,在 Linux 和透過 WSL 的 Windows 上部署到 /etc/claude-code/managed-settings.json
Example settings.json
{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test:*)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl:*)"
    ]
  },
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp"
  }
}

可用設定

settings.json 支援多個選項:

描述範例
apiKeyHelper自訂腳本,在 /bin/sh 中執行,用於產生驗證值。此值通常會作為 X-Api-KeyAuthorization: BearerProxy-Authorization: Bearer 標頭發送給模型請求/bin/generate_temp_api_key.sh
cleanupPeriodDays本地保留聊天記錄的時間長度(預設:30 天)20
env將套用到每個會話的環境變數{"FOO": "bar"}
includeCoAuthoredBy是否在 git 提交和拉取請求中包含 co-authored-by Claude 署名(預設:truefalse
permissions權限結構請參見下表。

權限設定

描述範例
allow允許工具使用的權限規則陣列[ "Bash(git diff:*)" ]
deny拒絕工具使用的權限規則陣列[ "WebFetch", "Bash(curl:*)" ]
additionalDirectoriesClaude 可存取的額外工作目錄[ "../docs/" ]
defaultMode開啟 Claude Code 時的預設權限模式"allowEdits"
disableBypassPermissionsMode設為 "disable" 以防止啟用 bypassPermissions 模式。請參見管理政策設定"disable"

設定優先順序

設定按優先順序套用:

  1. 企業政策(請參見 IAM 文件
  2. 命令列參數
  3. 本地專案設定
  4. 共享專案設定
  5. 使用者設定

環境變數

Claude Code 支援以下環境變數來控制其行為:

所有環境變數也可以在 settings.json 中配置。這是為每個會話自動設定環境變數,或為整個團隊或組織推出一組環境變數的有用方法。

變數目的
ANTHROPIC_API_KEY作為 X-Api-Key 標頭發送的 API 金鑰,通常用於 Claude SDK(對於互動式使用,執行 /login
ANTHROPIC_AUTH_TOKENAuthorizationProxy-Authorization 標頭的自訂值(您在此設定的值將以 Bearer 為前綴)
ANTHROPIC_CUSTOM_HEADERS您想要新增到請求的自訂標頭(以 Name: Value 格式)
ANTHROPIC_MODEL要使用的自訂模型名稱(請參見模型配置
ANTHROPIC_SMALL_FAST_MODEL用於背景任務的 Haiku 級模型名稱
BASH_DEFAULT_TIMEOUT_MS長時間執行的 bash 命令的預設逾時
BASH_MAX_TIMEOUT_MS模型可為長時間執行的 bash 命令設定的最大逾時
BASH_MAX_OUTPUT_LENGTHbash 輸出在中間截斷前的最大字元數
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR在每個 Bash 命令後返回原始工作目錄
CLAUDE_CODE_API_KEY_HELPER_TTL_MS憑證應重新整理的間隔(毫秒)(使用 apiKeyHelper 時)
CLAUDE_CODE_MAX_OUTPUT_TOKENS設定大多數請求的最大輸出權杖數
CLAUDE_CODE_USE_BEDROCK使用 Bedrock(請參見 Bedrock & Vertex
CLAUDE_CODE_USE_VERTEX使用 Vertex(請參見 Bedrock & Vertex
CLAUDE_CODE_SKIP_BEDROCK_AUTH跳過 Bedrock 的 AWS 驗證(例如使用 LLM 閘道時)
CLAUDE_CODE_SKIP_VERTEX_AUTH跳過 Vertex 的 Google 驗證(例如使用 LLM 閘道時)
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC等同於設定 DISABLE_AUTOUPDATERDISABLE_BUG_COMMANDDISABLE_ERROR_REPORTINGDISABLE_TELEMETRY
DISABLE_AUTOUPDATER設為 1 以停用自動更新程式
DISABLE_BUG_COMMAND設為 1 以停用 /bug 命令
DISABLE_COST_WARNINGS設為 1 以停用成本警告訊息
DISABLE_ERROR_REPORTING設為 1 以選擇退出 Sentry 錯誤報告
DISABLE_NON_ESSENTIAL_MODEL_CALLS設為 1 以停用非關鍵路徑(如風味文字)的模型呼叫
DISABLE_TELEMETRY設為 1 以選擇退出 Statsig 遙測(請注意 Statsig 事件不包含使用者資料,如程式碼、檔案路徑或 bash 命令)
HTTP_PROXY指定網路連線的 HTTP 代理伺服器
HTTPS_PROXY指定網路連線的 HTTPS 代理伺服器
MAX_THINKING_TOKENS強制模型預算的思考
MCP_TIMEOUTMCP 伺服器啟動的逾時(毫秒)
MCP_TOOL_TIMEOUTMCP 工具執行的逾時(毫秒)
MAX_MCP_OUTPUT_TOKENSMCP 工具回應中允許的最大權杖數(預設:25000)

配置選項

我們正在將全域配置遷移到 settings.json

claude config 將被棄用,改為使用 settings.json

要管理您的配置,請使用以下命令:

  • 列出設定:claude config list
  • 查看設定:claude config get <key>
  • 變更設定:claude config set <key> <value>
  • 推送到設定(用於清單):claude config add <key> <value>
  • 從設定中移除(用於清單):claude config remove <key> <value>

預設情況下,config 會變更您的專案配置。要管理您的全域配置,請使用 --global(或 -g)旗標。

全域配置

要設定全域配置,請使用 claude config set -g <key> <value>

描述範例
autoUpdates是否啟用自動更新(預設:truefalse
preferredNotifChannel您想要接收通知的位置(預設:iterm2iterm2iterm2_with_bellterminal_bellnotifications_disabled
theme色彩主題darklightlight-daltonizeddark-daltonized
verbose是否顯示完整的 bash 和命令輸出(預設:falsetrue

Claude 可用的工具

Claude Code 可存取一組強大的工具,幫助它理解和修改您的程式碼庫:

工具描述需要權限
Agent執行子代理來處理複雜的多步驟任務
Bash在您的環境中執行 shell 命令
Edit對特定檔案進行目標編輯
Glob基於模式匹配尋找檔案
Grep在檔案內容中搜尋模式
LS列出檔案和目錄
MultiEdit在單一檔案上原子性地執行多個編輯
NotebookEdit修改 Jupyter 筆記本儲存格
NotebookRead讀取並顯示 Jupyter 筆記本內容
Read讀取檔案內容
TodoRead讀取目前會話的任務清單
TodoWrite建立和管理結構化任務清單
WebFetch從指定 URL 擷取內容
WebSearch執行具有網域篩選的網路搜尋
Write建立或覆寫檔案

權限規則可以使用 /allowed-tools 或在權限設定中配置。

使用鉤子擴展工具

您可以使用 Claude Code 鉤子在任何工具執行前後執行自訂命令。

例如,您可以在 Claude 修改 Python 檔案後自動執行 Python 格式化程式,或透過阻止對某些路徑的 Write 操作來防止修改生產配置檔案。

另請參見