/config 命令來設定 Claude Code,這會開啟一個標籤式設定介面,您可以在其中查看狀態資訊並修改設定選項。從 v2.1.181 版本開始,您可以透過將 key=value 傳遞給 /config 來變更單一選項,而無需開啟介面,例如 /config verbose=true。
設定範圍
Claude Code 使用範圍系統來決定設定的適用位置和共享對象。了解範圍可幫助您決定如何為個人使用、團隊協作或企業部署設定 Claude Code。可用的範圍
何時使用各個範圍
Managed 範圍用於:- 必須在整個組織範圍內強制執行的安全政策
- 無法覆蓋的合規要求
- 由 IT/DevOps 部署的標準化設定
- 您想在任何地方使用的個人偏好設定(主題、編輯器設定)
- 您在所有專案中使用的工具和 plugins
- API 金鑰和身份驗證(安全儲存)
- 團隊共享的設定(權限、hooks、MCP servers)
- 整個團隊應該擁有的 plugins
- 跨協作者標準化工具
- 特定專案的個人覆蓋
- 在與團隊共享之前測試設定
- 對其他人不適用的機器特定設定
範圍如何互動
當相同的設定在多個範圍中出現時,Claude Code 會按優先順序應用它們:- Managed(最高)- 無法被任何東西覆蓋
- 命令列引數 - 臨時工作階段覆蓋
- Local - 覆蓋專案和使用者設定
- Project - 覆蓋使用者設定
- User(最低)- 當沒有其他東西指定設定時適用
spinnerTipsEnabled 設定為 true,而專案設定將其設定為 false,則專案值適用。權限規則的行為不同,因為它們跨範圍合併而不是覆蓋。請參閱設定優先順序。
哪些功能使用範圍
範圍適用於許多 Claude Code 功能:
在 Windows 上,顯示為
~/.claude 的路徑會解析為 %USERPROFILE%\.claude。
設定檔案
settings.json 檔案是透過分層設定來設定 Claude Code 的官方機制:
-
使用者設定在
~/.claude/settings.json中定義,適用於所有專案。 -
專案設定儲存在您的專案目錄中:
-
.claude/settings.json用於簽入原始碼控制並與您的團隊共享的設定 -
.claude/settings.local.json用於未簽入的設定,適用於個人偏好和實驗。Claude Code 建立.claude/settings.local.json時,會設定 git 以忽略該檔案。如果您自己建立該檔案,請手動將其新增到 gitignore。 因為此檔案是您的而不是儲存庫的,其權限allow規則會生效,無需.claude/settings.jsonallow 規則所需的工作區信任步驟。如果儲存庫提供該檔案,例如透過提交它,工作區信任仍然適用。
-
-
Managed 設定:對於需要集中控制的組織,Claude Code 支援多種 managed 設定的傳遞機制。所有機制都使用相同的 JSON 格式,無法被使用者或專案設定覆蓋:
- 伺服器管理的設定:透過 Anthropic 的伺服器或自託管的 Claude apps gateway 在登入時遠端傳遞,可從 claude.ai 管理員主控台或自託管 Claude apps gateway 傳遞。請參閱伺服器管理的設定。
-
MDM/OS 層級政策:透過 macOS 和 Windows 上的原生裝置管理傳遞:
- macOS:
com.anthropic.claudecodemanaged preferences 網域。plist 的頂層金鑰鏡像managed-settings.json,巢狀設定為字典,陣列為 plist 陣列。透過 Jamf、Iru (Kandji) 或類似 MDM 工具中的設定檔案部署。 - Windows:
HKLM\SOFTWARE\Policies\ClaudeCode登錄機碼,其中包含Settings值(REG_SZ 或 REG_EXPAND_SZ)包含 JSON(透過群組原則或 Intune 部署) - Windows(使用者層級):
HKCU\SOFTWARE\Policies\ClaudeCode(最低政策優先順序,僅在沒有管理員層級來源時使用)
- macOS:
-
檔案型:
managed-settings.json和managed-mcp.json部署到系統目錄:- macOS:
/Library/Application Support/ClaudeCode/ - Linux 和 WSL:
/etc/claude-code/ - Windows:
C:\Program Files\ClaudeCode\
managed-settings.json相同的系統目錄中的managed-settings.d/放入目錄。這讓不同的團隊可以部署獨立的政策片段,而無需協調對單一檔案的編輯。 遵循 systemd 慣例,managed-settings.json首先作為基礎合併,然後放入目錄中的所有*.json檔案按字母順序排序並合併在頂部。對於純量值,後面的檔案會覆蓋前面的檔案;陣列會連接並去重;物件會深度合併。以.開頭的隱藏檔案會被忽略。 使用數字前綴來控制合併順序,例如10-telemetry.json和20-security.json。 - macOS:
Managed 部署也可以使用strictKnownMarketplaces限制 plugin marketplace 新增。如需詳細資訊,請參閱 Managed marketplace 限制。 -
其他設定儲存在
~/.claude.json中。此檔案包含您的 OAuth 工作階段、MCP server 設定(用於使用者和本機範圍)、每個專案的狀態(允許的工具、信任設定)和各種快取。專案範圍的 MCP servers 分別儲存在.mcp.json中。
Claude Code 會自動建立設定檔案的時間戳記備份,並保留最近五個備份以防止資料遺失。
設定檔案範例
$schema 行指向 Claude Code 設定的官方 JSON 架構。將其新增到您的 settings.json 可在 VS Code、Cursor 和任何其他支援 JSON 架構驗證的編輯器中啟用自動完成和內嵌驗證。
已發佈的架構會定期更新,可能不包含最新 CLI 版本中新增的設定,因此最近記錄的欄位上的驗證警告不一定表示您的設定無效。
編輯何時生效
Claude Code 會監視您的設定檔案,並在它們變更時重新載入它們,因此對大多數金鑰的編輯會在執行中的工作階段中應用,無需重新啟動。這包括permissions、hooks 和認證協助程式(如 apiKeyHelper)。重新載入涵蓋使用者、專案、本機和 managed 設定,並且 ConfigChange hook 會針對每個偵測到的變更觸發。
少數金鑰在工作階段啟動時讀取一次,並在下次重新啟動時應用:
model:使用/model在工作階段中切換outputStyle:系統提示的一部分,在/clear或重新啟動時重建
Managed 設定中的無效項目
Managed 設定會寬容地解析。當 managed 設定包含驗證架構失敗的項目時,Claude Code 會移除該項目、記錄警告,並強制執行每個剩餘的有效政策。單一拼寫錯誤無法停用組織政策的其餘部分。執行/doctor 以列出被移除的項目及其來源檔案和欄位。
此行為在所有三種傳遞機制中一致:伺服器管理的設定、透過 MDM 部署的 plist 和登錄政策,以及 managed-settings.json 檔案。需要 Claude Code v2.1.169 或更新版本。
安全強制欄位按欄位處理,而不是在存在但無效時被整體移除:
requiredMinimumVersion 和 requiredMaximumVersion 設計上會失敗開放:無效的值會被移除而不是強制執行,因此不良的政策推送無法防止 Claude Code 啟動。
驗證錯誤會在三個地方出現:
- 互動式工作階段在啟動時顯示列出無效項目的對話框。
- 使用
-p的無頭執行會將摘要列印到 stderr。 claude doctor列出每個無效項目及其來源和欄位。
claude doctor 以驗證政策變更。
此寬容性僅適用於 managed 設定。使用者、專案和本機設定檔案保持嚴格:驗證失敗的檔案會被整體拒絕並報告。
可用的設定
settings.json 支援多個選項:
全域設定設定
這些設定儲存在~/.claude.json 中,而不是 settings.json。將它們新增到 settings.json 將觸發架構驗證錯誤。
v2.1.119 之前的版本也會在此處儲存許多
/config 偏好金鑰,而不是在 settings.json 中,包括 theme、verbose、editorMode、autoCompactEnabled 和 preferredNotifChannel。Worktree 設定
設定--worktree 如何建立和管理 git worktrees。
若要將 gitignored 檔案(如
.env)複製到新的 worktrees,請改用專案根目錄中的 .worktreeinclude 檔案,而不是設定。
權限設定
權限規則語法
權限規則遵循Tool 或 Tool(specifier) 的格式。規則按順序評估:首先是拒絕規則,然後是詢問,最後是允許。第一個匹配的規則決定結果,無論規則特異性如何。請參閱權限規則評估順序以了解詳細資訊。
快速範例:
如需完整的規則語法參考,包括萬用字元行為、Read、Edit、WebFetch、MCP 和 Agent 規則的工具特定模式,以及 Bash 模式的安全限制,請參閱權限規則語法。
Sandbox 設定
設定進階 sandboxing 行為。Sandboxing 將 bash 命令與您的檔案系統和網路隔離。請參閱 Sandboxing 以了解詳細資訊。Sandbox 路徑前綴
filesystem.allowWrite、filesystem.denyWrite、filesystem.denyRead、filesystem.allowRead 和 credentials.files 中的路徑支援這些前綴:
較舊的
//path 前綴用於絕對路徑仍然有效。如果您之前使用單斜線 /path 期望專案相對解析,請切換到 ./path。此語法與讀取和編輯權限規則不同,後者使用 //path 用於絕對和 /path 用於專案相對。Sandbox 檔案系統路徑使用標準慣例:/tmp/build 是絕對路徑。
設定範例:
sandbox.filesystem設定(如上所示):在 OS 層級 sandbox 邊界控制路徑。這些限制適用於所有子流程命令(例如kubectl、terraform、npm),而不僅僅是 Claude 的檔案工具。- 權限規則:使用
Edit允許/拒絕規則控制 Claude 的檔案工具存取,Read拒絕規則阻止讀取,WebFetch允許/拒絕規則控制網路網域。這些規則中的路徑也會合併到 sandbox 設定中。
歸屬設定
Claude Code 將歸屬新增到 git 提交和拉取請求。這些分別設定:- 提交預設使用 git trailers(如
Co-Authored-By),可以自訂或停用 - 拉取請求說明是純文字
預設提交歸屬:
attribution 設定優先於已棄用的 includeCoAuthoredBy 設定。若要隱藏所有歸屬,請將 commit 和 pr 設定為空字串,並將 sessionUrl 設定為 false。檔案建議設定
為@ 檔案路徑自動完成設定自訂命令。內建檔案建議使用快速檔案系統遍歷,但大型 monorepos 可能受益於專案特定的索引,例如預先建立的檔案索引或自訂工具。
CLAUDE_PROJECT_DIR。它透過 stdin 接收包含 query 欄位的 JSON:
頁尾連結徽章
footerLinksRegexes 設定在輸入框下方的頁尾中渲染額外的可點擊徽章。使用它將專案 CLI 列印的 ID(例如審查工具和問題追蹤器)轉換為工作階段連結。
每個項目的 pattern regex 與輪次輸出相符:工具結果,包括檔案內容和擷取的頁面,以及 Claude 自己的回應。url 和 label 中的 {name} 佔位符從模式中的命名擷取群組填入。
以下範例在問題金鑰(如 PROJ-1234)出現在輪次輸出中時渲染徽章。(?<key>...) 命名群組擷取金鑰,{key} 將其替換到 URL 和標籤中:
~/.claude/settings.json
PROJ-1234 出現在工具結果或 Claude 的回覆中時,PROJ-1234 晶片會出現在頁尾中,連結到 https://issues.example.com/browse/PROJ-1234。
以下限制適用於每個項目:
輪次完成時,Claude Code 在主執行緒上將每個項目的
pattern regex 與輪次輸出相符,因此緩慢的 regex 會阻止 UI,直到完成。嵌套量詞(例如 (a+)+$)可能針對某些輸入花費指數級長時間並凍結工作階段,因此保持每個 pattern 線性並避免嵌套 + 或 *。
頁尾徽章與自訂狀態行並排渲染(當設定一個時);兩者都不替換另一個。使用狀態行用於從工作階段資料計算自己內容的指令碼驅動列,使用頁尾徽章將對話中的 ID 轉換為連結,而無需指令碼。
Hook 設定
這些設定控制允許執行哪些 hooks 以及 HTTP hooks 可以存取的內容。allowManagedHooksOnly 設定只能在 managed 設定中設定。URL 和環境變數白名單可以在任何設定層級設定,並跨來源合併。
當 allowManagedHooksOnly 為 true 時的行為:
- 載入 Managed hooks 和 SDK hooks
- 從在 managed 設定
enabledPlugins中強制啟用的 plugins 載入 Hooks。這讓管理員透過組織 marketplace 分發經過審查的 hooks,同時阻止其他所有內容。信任由完整plugin@marketplaceID 授予,因此來自不同 marketplace 的同名 plugin 保持被阻止 - 使用者 hooks、專案 hooks 和所有其他 plugin hooks 被阻止
* 作為匹配的萬用字元。定義陣列時,針對不匹配 URL 的 HTTP hooks 會被無聲地阻止。主機名稱匹配不區分大小寫,並忽略尾部 FQDN 點,符合 DNS 語義。
allowedEnvVars 是其自己清單與此設定的交集。
使用政策協助程式計算 managed 設定
policyHelper 設定指向在啟動時計算 managed 設定的可執行檔,因此管理員可以從裝置狀態、身份或遠端服務衍生政策,而不是靜態檔案。從 MDM 或系統 managed-settings.json 檔案設定它。Claude Code 在任何其他範圍中出現 policyHelper 時會忽略它,包括使用者設定、專案設定、HKCU 登錄 hive 和伺服器管理的設定。
該設定接受這些金鑰:
協助程式將 JSON 信封寫入 stdout。將設定放在
managedSettings 金鑰下,而不是在頂層,因為裸設定物件會以 managedSettings 未定義的方式解析並應用任何內容:
managedSettings 時,該物件會替換該執行的檔案型 managed 設定。當協助程式在啟動時以非零狀態結束時,Claude Code 會列印錯誤並拒絕啟動,因此需要中斷恢復能力的協助程式應從自己的快取提供並以 0 結束。
設定優先順序
設定按優先順序順序應用。從最高到最低:-
Managed 設定(伺服器管理、MDM/OS 層級政策或 managed 設定)
- 由 IT 透過伺服器傳遞、MDM 設定檔案、登錄政策或 managed 設定檔案部署的政策
- 無法被任何其他層級覆蓋,包括命令列引數
- 在 managed 層級內,僅使用一個 managed 來源,其他來源被忽略而不是合併。優先順序,最高優先:
policyHelper輸出:當設定時,這是唯一使用的 managed 來源- 遠端(claude.ai 伺服器管理或 Claude apps gateway傳遞)
- MDM/OS 層級政策
- 檔案型(
managed-settings.d/*.json和managed-settings.json,合併在一起) - HKCU 登錄(僅限 Windows)
- 少數金鑰是例外,在任何管理員控制的 managed 來源設定它們時受尊重,而不是僅由獲勝的來源。使用者可寫的 HKCU 登錄來源被排除。例外金鑰為:
- sandbox 鎖定金鑰
sandbox.network.allowManagedDomainsOnly和sandbox.filesystem.allowManagedReadPathsOnly,以及其相關聯的白名單 allowAllClaudeAiMcps- sandbox 二進位路徑
sandbox.bwrapPath和sandbox.socatPath forceRemoteSettingsRefresh
- sandbox 鎖定金鑰
- 嵌入主機(例如 Claude Desktop)可以透過 SDK
managedSettings選項提供政策。預設情況下,當任何 admin 部署的 managed 來源存在時,此會被忽略:伺服器管理的設定、MDM 或 OS 層級政策,或 managed 設定檔案。使用者可寫的 HKCU 登錄回退不計為 admin 部署的來源。管理員可以透過設定parentSettingsBehavior為"merge"來選擇加入。嵌入器的值會被篩選,以便它們可以收緊 managed 政策但不能放鬆政策。
-
命令列引數
- 特定工作階段的臨時覆蓋。JSON 透過
--settings <file-or-json>傳遞會與檔案型設定合併,使用與其他層級相同的規則:此處設定的金鑰會覆蓋本機、專案或使用者設定中的相同金鑰,省略金鑰會保留較低層級的值
- 特定工作階段的臨時覆蓋。JSON 透過
-
本機專案設定(
.claude/settings.local.json)- 個人專案特定設定
-
共享專案設定(
.claude/settings.json)- 原始碼控制中的團隊共享專案設定
-
使用者設定(
~/.claude/settings.json)- 個人全域設定
permissions.defaultMode 設定為 acceptEdits,而專案的共享設定將其設定為 default,則專案值適用。下面的範例涵蓋陣列值設定(如權限規則)如何組合的方式。
陣列設定跨範圍合併。 當相同的陣列值設定(例如
sandbox.filesystem.allowWrite 或 permissions.allow)出現在多個範圍中時,陣列會連接和去重,而不是替換。這意味著較低優先順序的範圍可以新增項目而不覆蓋由較高優先順序範圍設定的項目,反之亦然。例如,如果 managed 設定將 allowWrite 設定為 ["/opt/company-tools"],使用者新增 ["~/.kube"],則最終設定中包含兩個路徑。兩個陣列設定不以此方式合併:fallbackModel是一個有序鏈,其中位置具有意義:定義它的最高優先順序檔案提供整個值。availableModels:當最高優先順序 managed 來源定義它時,該清單按原樣應用,使用者、專案和本機項目無法擴展它。跨非 managed 範圍,陣列會照常合併。請參閱合併行為。
驗證使用中的設定
在 Claude Code 內執行/status 以查看哪些設定來源是使用中的。在功能表內,Status 標籤包含 Setting sources 行,列出 Claude Code 為目前工作階段載入的每一層,例如 User settings 或 Project local settings。當managed 設定生效時,項目會在括號中顯示傳遞頻道,例如 Enterprise managed settings (remote)、(plist)、(HKLM)、(HKCU) 或 (file)。remote 頻道涵蓋 claude.ai 伺服器管理的設定和 Claude apps gateway傳遞的政策。層級僅在該來源以至少一個金鑰載入時才出現在清單中,因此空清單表示未找到任何設定來源。
Setting sources 行確認正在讀取哪些來源。它不顯示哪一層提供了每個個別金鑰。同一對話框中的 Config 標籤是固定切換集(例如主題和詳細輸出)的編輯器,而不是您 settings.json 內容的檢視。
如果設定檔案包含錯誤(例如無效的 JSON 或驗證失敗的值),/status 會列出受影響的檔案。執行 /doctor 以查看每個錯誤的詳細資訊。
設定系統的關鍵要點
- 記憶檔案(
CLAUDE.md):包含 Claude 在啟動時載入的指示和內容 - 設定檔案(JSON):設定權限、環境變數和工具行為
- Skills:可以使用
/skill-name叫用或由 Claude 自動載入的自訂提示 - MCP servers:使用其他工具和整合擴展 Claude Code
- 優先順序:較高層級的設定(Managed)覆蓋較低層級的設定(User/Project)
- 繼承:設定會合併跨範圍;較高優先順序範圍中的純量值覆蓋,陣列連接,有兩個例外如陣列合併注意中所述
系統提示
Claude Code 的內部系統提示未發佈。若要新增自訂指示,請使用CLAUDE.md 檔案或 --append-system-prompt 旗標。
排除敏感檔案
若要防止 Claude Code 存取包含敏感資訊(如 API 金鑰、機密和環境檔案)的檔案,請在您的.claude/settings.json 檔案中使用 permissions.deny 設定:
ignorePatterns 設定。符合這些模式的檔案會從檔案發現和搜尋結果中排除,並拒絕對這些檔案的讀取操作。
Subagent 設定
Claude Code 支援可在使用者和專案層級設定的自訂 AI subagents。這些 subagents 儲存為具有 YAML frontmatter 的 Markdown 檔案:- 使用者 subagents:
~/.claude/agents/,在所有專案中可用 - 專案 subagents:
.claude/agents/,特定於您的專案,可與您的團隊共享
Plugin 配置
Claude Code 支援 plugin 系統,可讓您使用 skills、agents、hooks 和 MCP servers 擴展功能。Plugins 透過 marketplaces 分發,可以在使用者和儲存庫層級設定。Plugin 設定
settings.json 中的 plugin 相關設定:
enabledPlugins
控制啟用哪些 plugins。格式:"plugin-name@marketplace-name": true/false。沒有在任何範圍中有項目的 plugin 會回退到其 defaultEnabled 值。
範圍:
- 使用者設定(
~/.claude/settings.json):個人 plugin 偏好設定 - 專案設定(
.claude/settings.json):與團隊共享的專案特定 plugins - 本機設定(
.claude/settings.local.json):每台機器的覆蓋,Claude Code 建立時會被 gitignored - Managed 設定(
managed-settings.json):組織範圍的政策覆蓋,在所有範圍阻止安裝並從 marketplace 隱藏 plugin
專案設定優先於使用者設定,因此在
~/.claude/settings.json 中將 plugin 設定為 false 不會停用專案的 .claude/settings.json 啟用的 plugin。若要在您的機器上選擇退出專案啟用的 plugin,請改在 .claude/settings.local.json 中將其設定為 false。由 managed 設定強制啟用的 plugins 無法以此方式停用,因為 managed 設定會覆蓋本機設定。自 Claude Code v2.1.195 起,在專案的 .claude/settings.json 中啟用來自外部來源(例如 GitHub 儲存庫或 npm 套件)的 plugin 不會為其他人安裝它。每個載入 plugins 的路徑都會要求每個使用者在執行前安裝並信任 plugin。pluginConfigs
儲存 plugin 的 userConfig 提示收集的非敏感選項值,按 plugin ID 鍵入。Claude Code 在您填入 plugin 的設定對話框時會將此鍵寫入使用者設定,因此您無需手動編輯它。敏感選項改為儲存在 macOS Keychain 中,或在沒有支援 keychain 的平台上儲存在 ~/.claude/.credentials.json 中。
此範例儲存從 acme-tools marketplace 安裝的 plugin 的一個選項:
pluginConfigs 僅從使用者設定、--settings 旗標和 managed 設定讀取。專案的 .claude/settings.json 或 .claude/settings.local.json 中的項目會被忽略,因為這些值會被替換到 plugin hook、MCP 和 LSP 配置中,而複製的儲存庫不得能夠提供它們。在 v2.1.207 之前,專案和本機設定也會被讀取。
extraKnownMarketplaces
定義應為儲存庫提供的其他 marketplaces。通常在儲存庫層級設定中使用,以確保團隊成員有權存取所需的 plugin 來源。
當儲存庫包含 extraKnownMarketplaces 時:
- 當團隊成員信任資料夾時,系統會提示他們安裝 marketplace
- 然後提示團隊成員從該 marketplace 安裝 plugins
- 使用者可以跳過不需要的 marketplaces 或 plugins(儲存在使用者設定中)
- 安裝尊重信任邊界並需要明確同意
github:GitHub 儲存庫(使用repo)git:任何 git URL(使用url)directory:本機檔案系統路徑(使用path,僅用於開發)hostPattern:正規表達式模式以符合 marketplace 主機(使用hostPattern)settings:直接在 settings.json 中宣告的內嵌 marketplace,無需單獨的託管儲存庫(使用name和plugins)
git 來源類型適用於任何 git 託管服務,包括自託管 GitLab 和 Bitbucket。Claude Code 使用與該機器上 git clone 相同的驗證來複製儲存庫:已設定的認證助手或 SSH 金鑰。提供者 token(例如 GITHUB_TOKEN)只有透過讀取它的認證助手才會生效。請參閱私有儲存庫以了解設定詳細資訊。
對於 github 和 git 來源,在 source 物件內設定 "skipLfs": true(與 repo 或 url 並列)以在 Claude Code 複製或更新 marketplace 儲存庫時跳過 Git LFS 下載。LFS 指標檔案保持為指標而不是下載其內容。當儲存庫包含與 plugin 內容無關的大型 LFS 物件時,請使用此選項。需要 Claude Code v2.1.153 或更新版本。
每個 marketplace 項目也接受選用的 autoUpdate 布林值。在 source 旁邊設定 "autoUpdate": true,使 Claude Code 在啟動時重新整理該 marketplace 並更新其已安裝的 plugins。省略時,官方 Anthropic marketplaces 預設為 true,所有其他 marketplaces 預設為 false。請參閱設定自動更新。
使用 source: 'settings' 宣告一小組 plugins,無需設定託管 marketplace 儲存庫。此處列出的 Plugins 必須參考外部來源,例如 GitHub 或 npm。您仍需要在 enabledPlugins 中分別啟用每個 plugin。
strictKnownMarketplaces
Managed 設定僅限:控制使用者可以新增和安裝 plugins 的 plugin marketplaces。此設定只能在 managed 設定中設定,並為管理員提供對 marketplace 來源的嚴格控制。
Managed 設定檔案位置:
- macOS:
/Library/Application Support/ClaudeCode/managed-settings.json - Linux 和 WSL:
/etc/claude-code/managed-settings.json - Windows:
C:\Program Files\ClaudeCode\managed-settings.json
- 僅在 managed 設定(
managed-settings.json)中可用 - 無法被使用者或專案設定覆蓋(最高優先順序)
- 在網路/檔案系統操作之前強制執行(被阻止的來源永遠不會執行)
- 對來源規格使用精確匹配(包括 git 來源的
ref、path),除了hostPattern和pathPattern,它們使用正規表達式匹配
undefined(預設):無限制 - 使用者可以新增任何 marketplace- 空陣列
[]:完全鎖定 - 使用者無法新增任何新 marketplaces - 來源清單:使用者只能新增完全符合的 marketplaces
hostPattern 和 pathPattern 分別使用正規表達式匹配 marketplace 主機和檔案系統路徑。
- GitHub 儲存庫:
repo(必需)、ref(選用:分支或標籤)、path(選用:子目錄)
- Git 儲存庫:
url(必需)、ref(選用:分支或標籤)、path(選用:子目錄)
- 基於 URL 的 marketplaces:
url(必需)、headers(選用:用於驗證存取的 HTTP 標頭)
基於 URL 的 marketplaces 僅下載
marketplace.json 檔案。它們不從伺服器下載 plugin 檔案。基於 URL 的 marketplaces 中的 Plugins 必須使用外部來源(GitHub、npm 或 git URL),而不是相對路徑。對於具有相對路徑的 plugins,請改用基於 Git 的 marketplace。請參閱疑難排解以了解詳細資訊。- NPM 套件:
package(必需,支援範圍套件)
- 檔案路徑:
path(必需:marketplace.json 檔案的絕對路徑)
- 目錄路徑:
path(必需:包含 .claude-plugin/marketplace.json 的目錄的絕對路徑)
- 主機模式匹配:
hostPattern(必需:用於符合 marketplace 主機的正規表達式模式)
當您想允許來自特定主機的所有 marketplaces 而不列舉每個儲存庫時,請使用主機模式匹配。這對於具有內部 GitHub Enterprise 或 GitLab 伺服器的組織很有用,開發人員可以在其中建立自己的 marketplaces。
按來源類型的主機提取:
github:始終符合github.comgit:從 URL 提取主機名稱(支援 HTTPS 和 SSH 格式)url:從 URL 提取主機名稱npm、file、directory:不支援主機模式匹配
- 路徑模式匹配:
pathPattern(必需:與 file 和 directory 來源的 path 欄位相符的正規表達式模式)
使用路徑模式匹配來允許檔案系統型 marketplaces 與網路來源的 hostPattern 限制並行。設定 ".*" 以允許所有本機路徑,或設定更窄的模式以限制到特定目錄。
設定範例:
範例:僅允許特定 marketplaces:
github 和 git),這包括所有選用欄位:
repo或url必須完全符合ref欄位必須完全符合(或兩者都未定義)path欄位必須完全符合(或兩者都未定義)
extraKnownMarketplaces 的比較:
格式差異:
strictKnownMarketplaces 使用直接來源物件:
extraKnownMarketplaces 需要命名 marketplaces:
strictKnownMarketplaces 是政策閘門:它控制使用者可能新增的內容,但不註冊任何 marketplaces。若要同時限制和為所有使用者預先註冊 marketplace,請在 managed-settings.json 中設定兩者:
strictKnownMarketplaces 時,使用者仍可透過 /plugin marketplace add 手動新增允許的 marketplace,但它不會自動提供。
重要注意事項:
- 限制在任何網路請求或檔案系統操作之前檢查
- 被阻止時,使用者會看到清晰的錯誤訊息,指示來源被 managed 政策阻止
- 限制在 marketplace 新增和 plugin 安裝、更新、重新整理和自動更新時強制執行。在設定政策之前新增的 marketplace 一旦其來源不再符合白名單,就無法用於安裝或更新 plugins
- Managed 設定具有最高優先順序,無法被覆蓋
strictPluginOnlyCustomization
Managed 設定僅限:阻止 skills、agents、hooks 和 MCP servers 來自使用者和專案來源,因此它們只能來自 plugins 或 managed 設定。將其與 strictKnownMarketplaces 結合以控制完整的自訂供應鏈:marketplace 白名單控制使用者可以安裝哪些 plugins,此設定阻止所有不來自 plugin 或 managed 設定的內容。
該值要麼是 true 以鎖定所有四個表面,要麼是命名要鎖定的表面的陣列:
Claude Code 版本不識別的表面名稱會被忽略而不是導致設定檔案失敗,因此您可以在所有用戶端更新之前新增新的表面名稱。
管理 plugins
使用/plugin 命令以互動方式管理 plugins:
- 瀏覽 marketplaces 中的可用 plugins
- 安裝/解除安裝 plugins
- 啟用/停用 plugins
- 檢視 plugin 詳細資訊(提供的 skills、agents、hooks)
- 新增/移除 marketplaces
環境變數
環境變數可讓您控制 Claude Code 行為,而無需編輯設定檔案。任何變數也可以在settings.json 中的 env 金鑰下設定,以將其應用於每個工作階段或推出到您的團隊。
請參閱環境變數參考以了解完整清單。
Claude 可用的工具
Claude Code 可以存取一組工具,用於讀取、編輯、搜尋、執行命令和協調 subagents。工具名稱是您在權限規則和 hook 匹配器中使用的確切字串。 請參閱工具參考以了解完整清單和 Bash 工具行為詳細資訊。另請參閱
- Permissions:權限系統、規則語法、工具特定模式和 managed 政策
- Authentication:設定使用者對 Claude Code 的存取
- Debug your configuration:診斷為什麼設定、hook 或 MCP server 未生效
- Troubleshoot installation and login:安裝、authentication 和平台問題