使用全域和專案層級設定以及環境變數來配置 Claude Code。
/config
命令來配置 Claude Code。
settings.json
檔案是我們透過階層式設定來配置 Claude Code 的官方機制:
~/.claude/settings.json
中,適用於所有專案。.claude/settings.json
用於檢入原始碼控制並與團隊共享的設定.claude/settings.local.json
用於不檢入的設定,適用於個人偏好和實驗。Claude Code 會在建立時配置 git 忽略 .claude/settings.local.json
。/Library/Application Support/ClaudeCode/managed-settings.json
/etc/claude-code/managed-settings.json
C:\ProgramData\ClaudeCode\managed-settings.json
settings.json
支援多個選項:
鍵值 | 描述 | 範例 |
---|---|---|
apiKeyHelper | 自訂腳本,在 /bin/sh 中執行,用於產生驗證值。此值將作為 X-Api-Key 和 Authorization: Bearer 標頭發送給模型請求 | /bin/generate_temp_api_key.sh |
cleanupPeriodDays | 根據最後活動日期在本地保留聊天記錄的時間長度(預設:30 天) | 20 |
env | 將應用於每個會話的環境變數 | {"FOO": "bar"} |
includeCoAuthoredBy | 是否在 git 提交和拉取請求中包含 co-authored-by Claude 署名(預設:true ) | false |
permissions | 權限結構請參見下表。 | |
hooks | 配置在工具執行前後運行的自訂命令。請參見hooks 文件 | {"PreToolUse": {"Bash": "echo 'Running command...'"}} |
disableAllHooks | 停用所有 hooks | true |
model | 覆蓋 Claude Code 使用的預設模型 | "claude-3-5-sonnet-20241022" |
statusLine | 配置自訂狀態列以顯示上下文。請參見 statusLine 文件 | {"type": "command", "command": "~/.claude/statusline.sh"} |
outputStyle | 配置輸出樣式以調整系統提示。請參見輸出樣式文件 | "Explanatory" |
forceLoginMethod | 使用 claudeai 限制登入到 Claude.ai 帳戶,console 限制登入到 Anthropic Console(API 使用計費)帳戶 | claudeai |
forceLoginOrgUUID | 指定組織的 UUID 以在登入期間自動選擇它,跳過組織選擇步驟。需要設定 forceLoginMethod | "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" |
enableAllProjectMcpServers | 自動批准專案 .mcp.json 檔案中定義的所有 MCP 伺服器 | true |
enabledMcpjsonServers | 從 .mcp.json 檔案中批准的特定 MCP 伺服器清單 | ["memory", "github"] |
disabledMcpjsonServers | 從 .mcp.json 檔案中拒絕的特定 MCP 伺服器清單 | ["filesystem"] |
awsAuthRefresh | 修改 .aws 目錄的自訂腳本(請參見進階憑證配置) | aws sso login --profile myprofile |
awsCredentialExport | 輸出包含 AWS 憑證的 JSON 的自訂腳本(請參見進階憑證配置) | /bin/generate_aws_grant.sh |
鍵值 | 描述 | 範例 |
---|---|---|
allow | 允許工具使用的權限規則陣列。注意: Bash 規則使用前綴匹配,不是正規表達式 | [ "Bash(git diff:*)" ] |
ask | 在工具使用時要求確認的權限規則陣列。 | [ "Bash(git push:*)" ] |
deny | 拒絕工具使用的權限規則陣列。使用此選項也可以排除敏感檔案不被 Claude Code 存取。注意: Bash 模式是前綴匹配,可能被繞過(請參見 Bash 權限限制) | [ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ] |
additionalDirectories | Claude 可以存取的額外工作目錄 | [ "../docs/" ] |
defaultMode | 開啟 Claude Code 時的預設權限模式 | "acceptEdits" |
disableBypassPermissionsMode | 設定為 "disable" 以防止啟用 bypassPermissions 模式。請參見管理政策設定 | "disable" |
managed-settings.json
)
.claude/settings.local.json
)
.claude/settings.json
)
~/.claude/settings.json
)
/command-name
調用的自訂命令--append-system-prompt
來為 Claude Code 的行為添加自訂指令。.claude/settings.json
檔案中使用 permissions.deny
設定:
ignorePatterns
配置。符合這些模式的檔案對 Claude Code 完全不可見,防止任何意外暴露敏感資料。
~/.claude/agents/
- 在您的所有專案中可用.claude/agents/
- 專案特定,可與您的團隊共享settings.json
中配置。這是為每個會話自動設定環境變數,或為整個團隊或組織推出一組環境變數的有用方法。變數 | 目的 |
---|---|
ANTHROPIC_API_KEY | 作為 X-Api-Key 標頭發送的 API 金鑰,通常用於 Claude SDK(對於互動使用,執行 /login ) |
ANTHROPIC_AUTH_TOKEN | Authorization 標頭的自訂值(您在此設定的值將以 Bearer 為前綴) |
ANTHROPIC_CUSTOM_HEADERS | 您想要添加到請求的自訂標頭(以 Name: Value 格式) |
ANTHROPIC_DEFAULT_HAIKU_MODEL | 請參見模型配置 |
ANTHROPIC_DEFAULT_OPUS_MODEL | 請參見模型配置 |
ANTHROPIC_DEFAULT_SONNET_MODEL | 請參見模型配置 |
ANTHROPIC_MODEL | 要使用的模型設定名稱(請參見模型配置) |
ANTHROPIC_SMALL_FAST_MODEL | [已棄用] 背景任務的 Haiku 級模型名稱 |
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION | 使用 Bedrock 時覆蓋 Haiku 級模型的 AWS 區域 |
AWS_BEARER_TOKEN_BEDROCK | 用於驗證的 Bedrock API 金鑰(請參見 Bedrock API 金鑰) |
BASH_DEFAULT_TIMEOUT_MS | 長時間運行的 bash 命令的預設超時時間 |
BASH_MAX_OUTPUT_LENGTH | bash 輸出在中間截斷之前的最大字元數 |
BASH_MAX_TIMEOUT_MS | 模型可以為長時間運行的 bash 命令設定的最大超時時間 |
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR | 在每個 Bash 命令後返回原始工作目錄 |
CLAUDE_CODE_API_KEY_HELPER_TTL_MS | 憑證應該刷新的間隔時間(毫秒)(使用 apiKeyHelper 時) |
CLAUDE_CODE_CLIENT_CERT | mTLS 驗證的用戶端憑證檔案路徑 |
CLAUDE_CODE_CLIENT_KEY_PASSPHRASE | 加密的 CLAUDE_CODE_CLIENT_KEY 的密碼短語(可選) |
CLAUDE_CODE_CLIENT_KEY | mTLS 驗證的用戶端私鑰檔案路徑 |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC | 等同於設定 DISABLE_AUTOUPDATER 、DISABLE_BUG_COMMAND 、DISABLE_ERROR_REPORTING 和 DISABLE_TELEMETRY |
CLAUDE_CODE_DISABLE_TERMINAL_TITLE | 設定為 1 以停用基於對話上下文的自動終端標題更新 |
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL | 跳過 IDE 擴充功能的自動安裝 |
CLAUDE_CODE_MAX_OUTPUT_TOKENS | 設定大多數請求的最大輸出標記數 |
CLAUDE_CODE_SKIP_BEDROCK_AUTH | 跳過 Bedrock 的 AWS 驗證(例如使用 LLM 閘道時) |
CLAUDE_CODE_SKIP_VERTEX_AUTH | 跳過 Vertex 的 Google 驗證(例如使用 LLM 閘道時) |
CLAUDE_CODE_SUBAGENT_MODEL | 請參見模型配置 |
CLAUDE_CODE_USE_BEDROCK | 使用 Bedrock |
CLAUDE_CODE_USE_VERTEX | 使用 Vertex |
DISABLE_AUTOUPDATER | 設定為 1 以停用自動更新。這優先於 autoUpdates 配置設定。 |
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_MCP_OUTPUT_TOKENS | MCP 工具回應中允許的最大標記數。當輸出超過 10,000 個標記時,Claude Code 會顯示警告(預設:25000) |
MAX_THINKING_TOKENS | 強制模型預算的思考 |
MCP_TIMEOUT | MCP 伺服器啟動的超時時間(毫秒) |
MCP_TOOL_TIMEOUT | MCP 工具執行的超時時間(毫秒) |
NO_PROXY | 將直接發出請求的域名和 IP 清單,繞過代理 |
USE_BUILTIN_RIPGREP | 設定為 0 以使用系統安裝的 rg 而不是 Claude Code 包含的 rg |
VERTEX_REGION_CLAUDE_3_5_HAIKU | 使用 Vertex AI 時覆蓋 Claude 3.5 Haiku 的區域 |
VERTEX_REGION_CLAUDE_3_5_SONNET | 使用 Vertex AI 時覆蓋 Claude Sonnet 3.5 的區域 |
VERTEX_REGION_CLAUDE_3_7_SONNET | 使用 Vertex AI 時覆蓋 Claude 3.7 Sonnet 的區域 |
VERTEX_REGION_CLAUDE_4_0_OPUS | 使用 Vertex AI 時覆蓋 Claude 4.0 Opus 的區域 |
VERTEX_REGION_CLAUDE_4_0_SONNET | 使用 Vertex AI 時覆蓋 Claude 4.0 Sonnet 的區域 |
VERTEX_REGION_CLAUDE_4_1_OPUS | 使用 Vertex AI 時覆蓋 Claude 4.1 Opus 的區域 |
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 | 已棄用。 請改用 DISABLE_AUTOUPDATER 環境變數。 | false |
preferredNotifChannel | 您希望接收通知的位置(預設:iterm2 ) | iterm2 、iterm2_with_bell 、terminal_bell 或 notifications_disabled |
theme | 色彩主題 | dark 、light 、light-daltonized 或 dark-daltonized |
verbose | 是否顯示完整的 bash 和命令輸出(預設:false ) | true |
工具 | 描述 | 需要權限 |
---|---|---|
Bash | 在您的環境中執行 shell 命令 | 是 |
Edit | 對特定檔案進行有針對性的編輯 | 是 |
Glob | 基於模式匹配尋找檔案 | 否 |
Grep | 在檔案內容中搜尋模式 | 否 |
MultiEdit | 在單一檔案上原子性地執行多個編輯 | 是 |
NotebookEdit | 修改 Jupyter notebook 儲存格 | 是 |
NotebookRead | 讀取並顯示 Jupyter notebook 內容 | 否 |
Read | 讀取檔案內容 | 否 |
Task | 執行子代理來處理複雜的多步驟任務 | 否 |
TodoWrite | 建立和管理結構化任務清單 | 否 |
WebFetch | 從指定 URL 獲取內容 | 是 |
WebSearch | 執行帶有域名過濾的網路搜尋 | 是 |
Write | 建立或覆寫檔案 | 是 |
/allowed-tools
或在權限設定中配置。另請參見工具特定權限規則。