/config コマンドを実行することで Claude Code を構成できます。これにより、ステータス情報を表示し、構成オプションを変更できるタブ付き設定インターフェースが開きます。v2.1.181 以降では、/config に key=value を渡すことで、インターフェースを開かずに単一のオプションを変更できます。例えば /config verbose=true のようにします。
構成スコープ
Claude Code は、スコープシステムを使用して、構成がどこに適用され、誰と共有されるかを決定します。スコープを理解することで、個人使用、チーム協力、またはエンタープライズデプロイメント用に Claude Code を構成する方法を決定するのに役立ちます。利用可能なスコープ
| スコープ | 場所 | 影響を受けるユーザー | チームと共有? |
|---|---|---|---|
| Managed | サーバー管理設定、plist / レジストリ、またはシステムレベルの managed-settings.json | サーバー管理配信の場合はすべての組織メンバー、plist、HKLM レジストリ、ファイル配信の場合はマシン上のすべてのユーザー、HKCU レジストリ配信の場合は現在のユーザー | はい(IT により展開) |
| User | ~/.claude/ ディレクトリ | すべてのプロジェクト全体でのあなた | いいえ |
| Project | リポジトリ内の .claude/ | このリポジトリのすべてのコラボレーター | はい(git にコミット) |
| Local | .claude/settings.local.json | このリポジトリ内のあなたのみ | いいえ(Claude Code が作成する場合は gitignored) |
各スコープを使用する場合
Managed スコープは以下の用途です:- 組織全体で強制する必要があるセキュリティポリシー
- オーバーライドできないコンプライアンス要件
- IT/DevOps により展開される標準化された構成
- すべての場所で必要な個人設定(テーマ、エディター設定)
- すべてのプロジェクト全体で使用するツールとプラグイン
- API キーと認証(安全に保存)
- チーム共有設定(権限、hooks、MCP サーバー)
- チーム全体が持つべきプラグイン
- コラボレーター全体でのツール標準化
- 特定のプロジェクトの個人的なオーバーライド
- チームと共有する前に構成をテストする
- 他のユーザーには機能しないマシン固有の設定
スコープの相互作用
同じ設定が複数のスコープで構成されている場合、Claude Code は優先順位の順序でそれらを適用します:- Managed(最高) - 何によってもオーバーライドできない
- コマンドライン引数 - 一時的なセッションオーバーライド
- Local - プロジェクトとユーザー設定をオーバーライド
- Project - ユーザー設定をオーバーライド
- User(最低) - 他に何も設定を指定しない場合に適用
spinnerTipsEnabled が true に設定されており、プロジェクト設定で false に設定されている場合、プロジェクト値が適用されます。権限ルールはオーバーライドするのではなく、スコープ全体でマージされるため、異なる動作をします。設定の優先順位を参照してください。
スコープを使用する機能
スコープは多くの Claude Code 機能に適用されます:| 機能 | ユーザーの場所 | プロジェクトの場所 | ローカルの場所 |
|---|---|---|---|
| Settings | ~/.claude/settings.json | .claude/settings.json | .claude/settings.local.json |
| Subagents | ~/.claude/agents/ | .claude/agents/ | なし |
| MCP servers | ~/.claude.json | .mcp.json | ~/.claude.json(プロジェクトごと) |
| Plugins | ~/.claude/settings.json | .claude/settings.json | .claude/settings.local.json |
| CLAUDE.md | ~/.claude/CLAUDE.md | CLAUDE.md または .claude/CLAUDE.md | CLAUDE.local.md |
~/.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 に手動で追加してください。
-
Managed 設定:集中管理が必要な組織向けに、Claude Code は managed 設定の複数の配信メカニズムをサポートしています。すべて同じ JSON 形式を使用し、ユーザー設定またはプロジェクト設定でオーバーライドできません:
- サーバー管理設定:Anthropic のサーバーから Claude.ai 管理コンソール経由で配信されます。サーバー管理設定を参照してください。
-
MDM/OS レベルのポリシー:macOS と Windows のネイティブデバイス管理を通じて配信されます:
- macOS:
com.anthropic.claudecodemanaged preferences ドメイン。plist のトップレベルキーはmanaged-settings.jsonをミラーリングし、ネストされた設定は辞書として、配列は plist 配列として機能します。Jamf、Iru(Kandji)、または同様の MDM ツールの構成プロファイルを通じて展開します。 - Windows:
HKLM\SOFTWARE\Policies\ClaudeCodeレジストリキーと JSON を含むSettings値(REG_SZ または REG_EXPAND_SZ)。グループポリシーまたは 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を使用してプラグインマーケットプレイスの追加を制限することもできます。詳細については、Managed マーケットプレイス制限を参照してください。 -
その他の構成は
~/.claude.jsonに保存されます。このファイルには、OAuth セッション、MCP サーバーユーザーおよびローカルスコープの構成、プロジェクトごとの状態(許可されたツール、信頼設定)、およびさまざまなキャッシュが含まれます。プロジェクトスコープの MCP サーバーは.mcp.jsonに別途保存されます。
Claude Code は構成ファイルのタイムスタンプ付きバックアップを自動的に作成し、データ損失を防ぐために最新の 5 つのバックアップを保持します。
Example settings.json
$schema 行は、Claude Code 設定の公式 JSON スキーマを指しています。これを settings.json に追加すると、VS Code、Cursor、および JSON スキーマ検証をサポートする他のエディターでオートコンプリートとインライン検証が有効になります。
公開されたスキーマは定期的に更新され、最新の CLI リリースで追加された設定を含まない場合があるため、最近ドキュメント化されたフィールドの検証警告は、必ずしも構成が無効であることを意味しません。
編集がいつ有効になるか
Claude Code は設定ファイルを監視し、変更時に再読み込みするため、ほとんどのキーへの編集は再起動なしで実行中のセッションに適用されます。これにはpermissions、hooks、および apiKeyHelper などの認証情報ヘルパーが含まれます。再読み込みはユーザー、プロジェクト、ローカル、および managed 設定をカバーし、ConfigChange hookが検出された各変更に対して発火します。
いくつかのキーはセッション開始時に 1 回読み込まれ、次の再起動時に適用されます:
model:セッション中に切り替えるには/modelを使用しますoutputStyle:システムプロンプトの一部。/clearまたは再起動時に再構築されます
Managed 設定の無効なエントリ
Managed 設定は寛容に解析されます。managed 構成にスキーマ検証に失敗するエントリが含まれている場合、Claude Code はそのエントリを削除し、警告を記録し、残りのすべての有効なポリシーを強制します。単一のタイプミスが組織のポリシーの残りを無効にすることはできません。この動作は、3 つすべての配信メカニズム全体で一貫しています:サーバー管理設定、MDM を通じてデプロイされた plist およびレジストリポリシー、およびmanaged-settings.json ファイル。Claude Code v2.1.169 以降が必要です。
セキュリティ強制フィールドは、存在するが無効な場合、全体的に削除されるのではなく、フィールドごとに処理されます:
| フィールド | 存在するが無効な場合の動作 |
|---|---|
allowedMcpServers | 空のホワイトリストとして強制されるため、値が修正されるまで MCP サーバーは許可されません。個別の無効なエントリは削除され、有効なサブセットが強制されます。 |
allowManagedMcpServersOnly | true として扱われます。 |
availableModels | 空のホワイトリストとして強制されるため、値が修正されるまでデフォルトモデルのみが利用可能です。文字列以外の個別エントリは削除され、有効なサブセットが強制されます。v2.1.175 以降に適用されます。 |
enforceAvailableModels | true として扱われます。v2.1.175 以降に適用されます。 |
forceLoginOrgUUID | 値が修正されるまで、どの組織もログインを許可されません。 |
deniedMcpServers | 個別の無効なエントリは削除され、有効なサブセットが強制されます。完全に無効な値は警告とともに削除されます。すべてのサーバーを拒否するとポリシーが名前を付けなかったサーバーをブロックするため。 |
sandbox.credentials | 個別の無効なエントリが files または envVars に含まれている場合は、警告とともに削除され、有効なサブセットが強制されます。完全に無効な credentials 値は警告とともに削除されますが、sandbox の残りは引き続き適用されます。v2.1.191 以降に適用されます。 |
requiredMinimumVersion と requiredMaximumVersion は設計上失敗して開きます:無効な値は強制されるのではなく削除されるため、不正なポリシープッシュが Claude Code の起動を防ぐことはできません。
検証エラーは 3 つの場所に表示されます:
- インタラクティブセッションは起動時に無効なエントリをリストするダイアログを表示します。
-pを使用したヘッドレス実行は stderr にサマリーを出力します。claude doctorは各無効なエントリをそのソースとフィールドとともにリストします。
claude doctor を実行して検証してから、フロート全体に展開します。
この寛容さは managed 設定にのみ適用されます。ユーザー、プロジェクト、およびローカル設定ファイルは厳密なままです:検証に失敗するファイルは全体として拒否され、報告されます。
利用可能な設定
settings.json は多くのオプションをサポートしています:
| キー | 説明 | 例 |
|---|---|---|
advisorModel | サーバー側advisor ツール用のモデル。"opus"、"sonnet"、または "fable"(v2.1.170 以降)などのモデルエイリアス、または完全なモデル ID を受け入れます。/advisor を実行すると自動的に書き込まれます。advisor を無効にするには未設定のままにします。Claude Code v2.1.98 以降が必要です | "opus" |
agent | メインスレッドを名前付き subagent として実行し、claude agents から派遣されたセッションのデフォルト agent を設定します。その subagent のシステムプロンプト、ツール制限、およびモデルを適用します。subagents を明示的に呼び出すを参照してください | "code-reviewer" |
agentPushNotifEnabled | デフォルト:false。リモートコントロールが接続されている場合、Claude がプロアクティブなプッシュ通知をスマートフォンに送信することを許可します。たとえば、長いタスクが完了したときなど。/config にClaude が決定したときにプッシュとして表示されます。モバイルプッシュ通知を参照してください。Claude Code v2.1.119 以降が必要です | true |
allowAllClaudeAiMcps | (Managed 設定のみ)デプロイされた managed-mcp.json と共に claude.ai コネクタを読み込みます。これ以外の場合は排他的な制御を取得し、それらを抑制します。Managed MCP 構成を参照してください | true |
allowedChannelPlugins | (Managed 設定のみ)メッセージをプッシュできるチャネルプラグインのホワイトリスト。設定されている場合、デフォルトの Anthropic ホワイトリストを置き換えます。未定義 = デフォルトにフォールバック、空配列 = すべてのチャネルプラグインをブロック。channelsEnabled: true が必要です。チャネルプラグインが実行できるものを制限を参照してください | [{ "marketplace": "claude-plugins-official", "plugin": "telegram" }] |
allowedHttpHookUrls | HTTP hooks がターゲットにできる URL パターンのホワイトリスト。* をワイルドカードとしてサポートします。設定されている場合、一致しない URL を持つ hooks はブロックされます。未定義 = 制限なし、空配列 = すべての HTTP hooks をブロック。配列はすべての設定ソース全体でマージされます。Hook 構成を参照してください | ["https://hooks.example.com/*"] |
allowedMcpServers | managed-settings.json で設定されている場合、ユーザーが構成できる MCP サーバーのホワイトリスト。未定義 = 制限なし、空配列 = ロックダウン。すべてのスコープに適用されます。拒否リストが優先されます。Managed MCP 構成を参照してください | [{ "serverName": "github" }] |
allowManagedHooksOnly | (Managed 設定のみ)managed hooks、SDK hooks、および managed 設定 enabledPlugins で強制的に有効にされたプラグインからの hooks のみが読み込まれます。ユーザー、プロジェクト、およびその他すべてのプラグイン hooks はブロックされます。Hook 構成を参照してください | true |
allowManagedMcpServersOnly | (Managed 設定のみ)managed 設定からの allowedMcpServers のみが尊重されます。deniedMcpServers はすべてのソースからマージされます。ユーザーは引き続き MCP サーバーを追加できますが、管理者定義のホワイトリストのみが適用されます。Managed MCP 構成を参照してください | true |
allowManagedPermissionRulesOnly | (Managed 設定のみ)ユーザーおよびプロジェクト設定が allow、ask、または deny 権限ルールを定義するのを防止します。managed 設定のルールのみが適用されます。Managed のみの設定を参照してください | true |
alwaysThinkingEnabled | すべてのセッションに対してデフォルトで拡張思考を有効にします。通常は直接編集するのではなく /config コマンドを通じて構成されます。思考をオフにするには、env で MAX_THINKING_TOKENS=0を設定します。これにより Anthropic API での思考が無効になります。ただし Fable 5 では思考をオフにすることはできません。サードパーティプロバイダーでは、代わりに thinking パラメータを省略し、適応推論モデルは引き続き思考する可能性があります | true |
apiKeyHelper | システムシェル(macOS と Linux では /bin/sh、Windows では cmd)を通じて実行される認証値を生成するカスタムコマンド。この値は、モデルリクエストの X-Api-Key および Authorization: Bearer ヘッダーとして送信されます。CLAUDE_CODE_API_KEY_HELPER_TTL_MSでリフレッシュ間隔を設定します | /bin/generate_temp_api_key.sh |
attribution | git コミットとプルリクエストの属性をカスタマイズします。属性設定を参照してください | {"commit": "🤖 Generated with Claude Code", "pr": ""} |
autoCompactEnabled | デフォルト:true。コンテキストが制限に近づくと、会話を自動的にコンパクトにします。/config に自動コンパクトとして表示されます。環境変数で無効にするには、env で DISABLE_AUTO_COMPACTを設定します | false |
autoMemoryDirectory | 自動メモリストレージ用のカスタムディレクトリ。絶対パスまたは ~/ プレフィックス付きパスを受け入れます。プロジェクトまたはローカル設定からは、ワークスペース信頼ダイアログを受け入れた後にのみ尊重されます。クローンされたリポジトリがこのファイルを提供できるため | "~/my-memory-dir" |
autoMemoryEnabled | デフォルト:true。自動メモリを有効にします。false の場合、Claude は自動メモリディレクトリから読み込んだり、書き込んだりしません。セッション中に /memory でこれを切り替えることもできます。環境変数で無効にするには、env で CLAUDE_CODE_DISABLE_AUTO_MEMORYを設定します | false |
autoMode | 自動モード分類器がブロックおよび許可するものをカスタマイズします。environment、allow、soft_deny、および hard_deny 配列の散文ルールを含みます。リテラル文字列 "$defaults" を配列に含めて、その位置で組み込みルールを継承します。自動モードを構成を参照してください。共有プロジェクト設定から読み込まれません | {"soft_deny": ["$defaults", "Never run terraform apply"]} |
autoScrollEnabled | デフォルト:true。フルスクリーンレンダリングで、新しい出力を会話の下部に追従します。/config に自動スクロールとして表示されます。権限プロンプトはこれがオフの場合でもビューにスクロールします | false |
autoUpdatesChannel | デフォルト:"latest"。更新に従うリリースチャネル。約 1 週間古いバージョンで、大きな回帰のあるバージョンをスキップする "stable" を使用するか、最新リリースの "latest" を使用します。自動更新を完全に無効にするには、env で DISABLE_AUTOUPDATERを設定します | "stable" |
availableModels | ユーザーがメインセッション、subagents、skills、および advisor用に選択できるモデルを制限します。enforceAvailableModels も設定されている場合を除き、デフォルトオプションには影響しません。モデル選択を制限を参照してください | ["sonnet", "haiku"] |
awaySummaryEnabled | 数分間ターミナルから離れた後に戻ったときに、1 行のセッション要約を表示します。false に設定するか、/config でセッション要約をオフにして無効にします。CLAUDE_CODE_ENABLE_AWAY_SUMMARYと同じです | true |
awsAuthRefresh | .aws ディレクトリを変更するカスタムスクリプト(高度な認証情報構成を参照) | aws sso login --profile myprofile |
awsCredentialExport | AWS 認証情報を含む JSON を出力するカスタムスクリプト(高度な認証情報構成を参照) | /bin/generate_aws_grant.sh |
axScreenReader | スクリーンリーダーフレンドリーな出力をレンダリングします:装飾的なボーダーやアニメーションのないフラットテキスト。スクリーンリーダーモードは常にクラシックレンダラーを使用するため、tui 設定はアクティブな間は効果がありません。CLAUDE_AX_SCREEN_READER環境変数と --ax-screen-readerフラグが優先されます。Claude Code v2.1.181 以降が必要です | true |
blockedMarketplaces | (Managed 設定のみ)マーケットプレイスソースのブロックリスト。マーケットプレイス追加時およびプラグインのインストール、更新、リフレッシュ、自動更新時に適用されるため、ポリシーが設定される前に追加されたマーケットプレイスは使用できません。ブロックされたソースはダウンロード前にチェックされるため、ファイルシステムに触れることはありません。Managed マーケットプレイス制限を参照してください | [{ "source": "github", "repo": "untrusted/plugins" }] |
channelsEnabled | (Managed 設定のみ)組織に対してチャネルを許可します。Claude.ai Team および Enterprise プランでは、これが未設定または false の場合、チャネルはブロックされます。Anthropic Consoleアカウントで API キー認証を使用している場合、チャネルはデフォルトで許可されます。ただし、組織が managed 設定をデプロイしている場合は、このキーを true に設定する必要があります | true |
claudeMd | (Managed 設定のみ)CLAUDE.md スタイルの命令が組織管理メモリとして注入されます。managed またはポリシー設定で設定されている場合のみ尊重され、ユーザー、プロジェクト、およびローカル設定では無視されます。組織全体の CLAUDE.mdを参照してください | "Always run make lint before committing." |
claudeMdExcludes | メモリを読み込むときにスキップする CLAUDE.md ファイルの Glob パターンまたは絶対パス。パターンは絶対ファイルパスに対してマッチします。ユーザー、プロジェクト、およびローカルメモリのみに適用されます。managed ポリシーファイルは除外できません | ["**/vendor/**/CLAUDE.md"] |
cleanupPeriodDays | デフォルト:30 日、最小 1。この期間より長く非アクティブなセッションは起動時に削除されます。0 に設定するとバリデーションエラーで拒否されます。また、起動時に孤立した subagent worktreesの自動削除の年齢カットオフも制御します。トランスクリプト書き込みを完全に無効にするには、CLAUDE_CODE_SKIP_PROMPT_HISTORY環境変数を設定するか、非インタラクティブモード(-p)で --no-session-persistence フラグまたは persistSession: false SDK オプションを使用します。 | 20 |
companyAnnouncements | 起動時にユーザーに表示するアナウンス。複数のアナウンスが提供される場合、ランダムにサイクルされます。 | ["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"] |
defaultShell | デフォルト:"bash"、または Bash が利用できない場合は Windows で "powershell"。入力ボックス ! コマンドのデフォルトシェル。"bash" または "powershell" を受け入れます。"powershell" を設定すると、インタラクティブ ! コマンドが Windows 上の PowerShell を通じてルーティングされます。CLAUDE_CODE_USE_POWERSHELL_TOOL=1 が必要です。PowerShell ツールを参照してください | "powershell" |
deniedMcpServers | managed-settings.json で設定されている場合、明示的にブロックされた MCP サーバーの拒否リスト。managed サーバーを含むすべてのスコープに適用されます。拒否リストがホワイトリストよりも優先されます。Managed MCP 構成を参照してください | [{ "serverName": "filesystem" }] |
disableAgentView | バックグラウンドエージェントとエージェントビューをオフにするために true に設定します:claude agents、--bg、/background、およびオンデマンドスーパーバイザー。通常は managed 設定で設定されます。CLAUDE_CODE_DISABLE_AGENT_VIEW を 1 に設定するのと同等です | true |
disableAllHooks | すべての hooks とカスタム ステータスラインを無効にします | true |
disableArtifact | Artifactツールを無効にするために true に設定します。このツールはセッション出力を claude.ai 上のプライベート Web ページとして公開します。CLAUDE_CODE_DISABLE_ARTIFACT を 1 に設定するのと同等です | true |
disableAutoMode | 自動モードの有効化を防ぐために "disable" に設定します。Shift+Tab サイクルから auto を削除し、起動時に --permission-mode auto を拒否します。managed 設定で最も役立ちます。ユーザーはこれをオーバーライドできません | "disable" |
disableBundledSkills | skillsとワークフローをオフにするために true に設定します。Claude Code に付属しています:バンドルされた skills とワークフローは完全に削除されますが、/init などの組み込みスラッシュコマンドは入力可能なままですが、モデルから非表示になります。プラグイン、.claude/skills/、および .claude/commands/ からの Skills は影響を受けません。CLAUDE_CODE_DISABLE_BUNDLED_SKILLS を 1 に設定するのと同等です | true |
disableClaudeAiConnectors | claude.ai MCP コネクタを無効にして、自動フェッチまたは接続されないようにします。任意の設定スコープで設定します。任意のソースの true が優先されるため、チェックインされたプロジェクト .claude/settings.json はリポジトリをクラウドコネクタから除外できますが、プロジェクトレベルの false はユーザーまたはポリシーレベルの true をオーバーライドできません。--mcp-config を通じて明示的に渡されたサーバーは影響を受けません。個別のコネクタを拒否するには、代わりに deniedMcpServersを使用します。Claude Code v2.1.182 以降が必要です | true |
disableDeepLinkRegistration | Claude Code が起動時にオペレーティングシステムで claude-cli:// プロトコルハンドラーを登録するのを防ぐために "disable" に設定します。ディープリンクを使用すると、外部ツールは事前入力されたプロンプトで Claude Code セッションを開くことができます。プロトコルハンドラー登録が制限されているか、別途管理されている環境で役立ちます | "disable" |
disabledMcpjsonServers | .mcp.json ファイルから拒否する特定の MCP サーバーのリスト | ["filesystem"] |
disableRemoteControl | リモートコントロールを無効にします:claude remote-control、--remote-control フラグ、自動開始、およびセッション内トグルをブロックします。通常は managed 設定に配置されます。デバイスごとの MDM 強制用ですが、任意のスコープから機能します。Claude Code v2.1.128 以降が必要です | true |
disableSkillShellExecution | skills およびユーザー、プロジェクト、プラグイン、または追加ディレクトリソースからのカスタムコマンド内の !`...` および ```! ブロックのインラインシェル実行を無効にします。コマンドは実行される代わりに [shell command execution disabled by policy] に置き換えられます。バンドルされた skills および managed skills は影響を受けません。managed 設定で最も役立ちます。ユーザーはこれをオーバーライドできません | true |
disableWorkflows | デフォルト:false。動的ワークフローとバンドルされたワークフローコマンドを無効にします。CLAUDE_CODE_DISABLE_WORKFLOWS を 1 に設定するのと同等です | true |
editorMode | デフォルト:"normal"。入力プロンプトのキーバインディングモード:"normal" または "vim"。/config にエディターモードとして表示されます | "vim" |
effortLevel | 努力レベルをセッション全体で永続化します。"low"、"medium"、"high"、または "xhigh" を受け入れます。これらの値のいずれかで /effort を実行すると自動的に書き込まれます。--effort と CLAUDE_CODE_EFFORT_LEVELはこれを 1 セッション間オーバーライドします。努力レベルを調整でサポートされているモデルを参照してください | "xhigh" |
enableAllProjectMcpServers | プロジェクト .mcp.json ファイルで定義されたすべての MCP サーバーを自動的に承認します | true |
enabledMcpjsonServers | .mcp.json ファイルから承認する特定の MCP サーバーのリスト | ["memory", "github"] |
enforceAvailableModels | managed 設定で true で availableModels が空でないリストの場合、デフォルトモデルもホワイトリストに制限されます。利用可能なモデルが最初のホワイトリストエントリにフォールバックします。availableModels が未設定または空の場合は効果がありません。モデル選択を制限を参照してください。Claude Code v2.1.175 以降が必要です | true |
env | すべてのセッションに適用される環境変数。v2.1.143 以降、NO_COLOR と FORCE_COLOR がここで設定されている場合、サブプロセスに渡されますが、Claude Code 自体のインターフェイスの色は変更されません。インターフェイスの色を変更するには、claude を起動する前にシェルでこれらを設定します | {"FOO": "bar"} |
fallbackModel | プライマリモデルがオーバーロードされているか利用できない場合に順番に試すフォールバックモデル。Claude Code はチェーン内の次の利用可能なモデルに切り替え、ターンの残りを表示し、通知を表示します。"default" はデフォルトモデルに展開されます。チェーンは 3 つのモデルに制限されます。余分なエントリは無視されます。ほとんどの配列設定とは異なり、このキーはスコープ全体でマージされません:これを定義する最高優先度ファイルが全体の値を提供します。--fallback-modelフラグはこれを 1 セッション間オーバーライドします。フォールバックモデルチェーンを参照してください | ["claude-sonnet-4-6", "claude-haiku-4-5"] |
fastModePerSessionOptIn | true の場合、高速モードはセッション全体で永続化されません。各セッションは高速モードがオフで開始され、ユーザーが /fast で有効にする必要があります。ユーザーの高速モード設定は引き続き保存されます。セッションごとのオプトインを要求を参照してください | true |
feedbackSurveyRate | セッション品質調査が適格な場合に表示される確率(0~1)。完全に抑制するには 0 に設定するか、env で CLAUDE_CODE_DISABLE_FEEDBACK_SURVEYを設定します。Bedrock、Vertex、または Foundry を使用する場合に役立ちます。デフォルトのサンプルレートは適用されません | 0.05 |
fileCheckpointingEnabled | デフォルト:true。各編集の前にファイルをスナップショットして、/rewindでそれらを復元できるようにします。/config に**コードを巻き戻す(チェックポイント)**として表示されます。環境変数で無効にするには、env で CLAUDE_CODE_DISABLE_FILE_CHECKPOINTINGを設定します | false |
fileSuggestion | @ ファイルオートコンプリート用のカスタムスクリプトを構成します。ファイル提案設定を参照してください | {"type": "command", "command": "~/.claude/file-suggestion.sh"} |
footerLinksRegexes | ターン出力に正規表現がマッチするときにフッターにクリック可能なバッジをレンダリングします。各エントリには pattern、名前付きキャプチャグループから {name} プレースホルダーが入力される URL テンプレート、およびオプションの label があります。ユーザー、--settings フラグ、および managed 設定からのみ読み込まれます。フッターリンクバッジを参照してください。URL 制約、スキームホワイトリスト、および制限。Claude Code v2.1.176 以降が必要です | [{"type": "regex", "pattern": "\\b(?<key>PROJ-\\d+)\\b", "url": "https://issues.example.com/browse/{key}", "label": "{key}"}] |
forceLoginMethod | claudeai を使用して Claude.ai アカウントへのログインを制限するか、console を使用して Claude Console アカウントへのログインを制限します。managed 設定で設定されている場合、ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN、または apiKeyHelper で認証されたセッションは起動時にブロックされます。どちらの値も最初のパーティ OAuth なしでは満たされないため。Bedrock、Vertex、Foundry などのサードパーティプロバイダーセッションはブロックされません:これらはクラウドプロバイダーではなく Anthropic に対して認証されます | claudeai |
forceLoginOrgUUID | ログインが特定の Anthropic 組織に属することを要求します。単一の UUID 文字列を受け入れます。これはログイン中にその組織を自動的に事前選択するか、リストされた組織のいずれかが受け入れられる UUID の配列を受け入れます。事前選択なし。managed 設定で設定されている場合、認証されたアカウントがリストされた組織に属していない場合、ログインは失敗します。ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN、または apiKeyHelper で認証されたセッションは起動時にブロックされます。これらのセッションでは組織メンバーシップを検証できないため。Bedrock、Vertex、Foundry などのサードパーティプロバイダーセッションはブロックされません:クラウド IAM を使用して、どのクラウドアカウントを使用できるかを制限します。空配列は失敗して閉じられ、ログインを設定ミスメッセージでブロックします | "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" または ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"] |
forceRemoteSettingsRefresh | (Managed 設定のみ)リモート managed 設定がサーバーから新しく取得されるまで CLI スタートアップをブロックします。フェッチが失敗した場合、キャッシュされた設定または設定なしで続行するのではなく、CLI は終了します。設定されていない場合、スタートアップはリモート設定を待たずに続行します。fail-closed 強制を参照してください | true |
gcpAuthRefresh | GCP Application Default Credentials が期限切れになったか読み込めない場合にリフレッシュするカスタムスクリプト。高度な認証情報構成を参照してください | gcloud auth application-default login |
hooks | ライフサイクルイベントで実行するカスタムコマンドを構成します。形式については hooks ドキュメントを参照してください | hooksを参照 |
httpHookAllowedEnvVars | HTTP hooks がヘッダーに補間できる環境変数名のホワイトリスト。設定されている場合、各 hook の有効な allowedEnvVars はこのリストとの交差です。未定義 = 制限なし。配列はすべての設定ソース全体でマージされます。Hook 構成を参照してください | ["MY_TOKEN", "HOOK_SECRET"] |
includeGitInstructions | デフォルト:true。Claude のシステムプロンプトに組み込みコミットおよび PR ワークフロー命令と git ステータススナップショットを含めます。たとえば、独自の git ワークフロースキルを使用する場合は、これらの命令を削除するために false に設定します。CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS 環境変数が設定されている場合、この設定よりも優先されます | false |
inputNeededNotifEnabled | デフォルト:false。リモートコントロールが接続されている場合、権限プロンプトまたは質問があなたの入力を待っているときにスマートフォンにプッシュ通知を送信します。/config にアクションが必要なときにプッシュとして表示されます。モバイルプッシュ通知を参照してください。Claude Code v2.1.119 以降が必要です | true |
language | Claude の優先応答言語を構成します(例:"japanese"、"spanish"、"french")。Claude はデフォルトでこの言語で応答します。また、音声ディクテーション言語も設定します。v2.1.176 以降、設定されていない場合、セッションタイトルは会話の言語と一致します | "japanese" |
maxSkillDescriptionChars | デフォルト:1536。スキルリスティングClaude が各ターンで見る description と when_to_use テキストの結合されたスキルごとの文字上限。この長さより長いテキストは切り詰められます。長い説明を保持するために上げるか、より多くのスキルを skillListingBudgetFractionの下に収めるために下げます。Claude Code v2.1.105 以降が必要です | 2048 |
minimumVersion | バックグラウンド自動更新と claude update が特定のバージョン以下にインストールするのを防止するフロア。"latest" チャネルから "stable" に /config を通じて切り替えると、現在のバージョンに留まるか、ダウングレードを許可するかを求めるプロンプトが表示されます。留まることを選択すると、この値が設定されます。また、managed 設定で組織全体の最小値をピンするのに役立ちます。ハードフロアについては、requiredMinimumVersion を参照してください | "2.1.100" |
model | Claude Code に使用するデフォルトモデルをオーバーライドします。--model と ANTHROPIC_MODELはこれを 1 セッション間オーバーライドします | "claude-sonnet-4-6" |
modelOverrides | Anthropic モデル ID を Bedrock 推論プロファイル ARN などのプロバイダー固有のモデル ID にマップします。各モデルピッカーエントリは、プロバイダー API を呼び出すときにマップされた値を使用します。バージョンごとにモデル ID をオーバーライドを参照してください | {"claude-opus-4-6": "arn:aws:bedrock:..."} |
otelHeadersHelper | 動的 OpenTelemetry ヘッダーを生成するスクリプト。起動時および定期的に実行されます。CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MSでリフレッシュ間隔を設定します。動的ヘッダーを参照してください | /bin/generate_otel_headers.sh |
outputStyle | システムプロンプトを調整するための出力スタイルを構成します。出力スタイルドキュメントを参照してください | "Explanatory" |
parentSettingsBehavior | (Managed 設定のみ)デフォルト:"first-wins"。Agent SDK または IDE 拡張機能などの埋め込みホストプロセスによってプログラム的に提供される managed 設定が、管理者デプロイ済みの managed ティアも存在する場合に適用されるかどうかを制御します。"first-wins":親提供の設定は削除され、管理者ティアのみが適用されます。"merge":親提供の設定は管理者ティアの下で適用され、ポリシーを厳しくできるが緩くすることはできないようにフィルタリングされます。管理者ティアがデプロイされていない場合は効果がありません。Claude Code v2.1.133 以降が必要です | "merge" |
permissions | 権限の構造については、以下の表を参照してください。 | |
plansDirectory | デフォルト:~/.claude/plans。プランファイルが保存される場所をカスタマイズします。パスはプロジェクトルートに相対的です。 | "./plans" |
pluginSuggestionMarketplaces | (Managed 設定のみ)プラグインが文脈的なインストール提案として表示される可能性があるマーケットプレイス名。提案は各プラグインのマーケットプレイスエントリの relevance 宣言から来ます。名前は、マーケットプレイスがマシンに登録されており、その登録されたソースが managed 設定でも宣言されている場合にのみ有効になります。その名前の extraKnownMarketplaces エントリとして、または strictKnownMarketplaces のエントリとして。異なるソースから登録されたマーケットプレイスはホワイトリストされた名前の下で無視されます。公式マーケットプレイスはソース要件から除外されます:その名前をホワイトリストするだけで十分です。その名前は公式 Anthropic ソースからのみ登録できるため。 | ["acme-corp-plugins"] |
pluginTrustMessage | (Managed 設定のみ)インストール前に表示されるプラグイン信頼警告に追加されるカスタムメッセージ。これを使用して、組織固有のコンテキストを追加します。たとえば、内部マーケットプレイスからのプラグインが検証されていることを確認します。 | "All plugins from our marketplace are approved by IT" |
policyHelper | 起動時に managed 設定を動的に計算する管理者デプロイ済みの実行可能ファイル。MDM またはシステム managed-settings.json ファイルからのみ尊重されます。ポリシーヘルパーで managed 設定を計算を参照してください。Claude Code v2.1.136 以降が必要です | {"path": "/usr/local/bin/claude-policy"} |
preferredNotifChannel | デフォルト:"auto"。タスク完了および権限プロンプト通知の方法:"auto"、"terminal_bell"、"iterm2"、"iterm2_with_bell"、"kitty"、"ghostty"、または "notifications_disabled"。"auto" は iTerm2、Ghostty、Kitty ではデスクトップ通知を送信し、他のターミナルでは何もしません。任意のターミナルでベル文字を鳴らすには "terminal_bell" を設定します。/config に通知として表示されます。ターミナルベルまたは通知を取得を参照してください | "terminal_bell" |
prefersReducedMotion | アクセシビリティのために UI アニメーション(スピナー、シマー、フラッシュエフェクト)を削減または無効にします | true |
prUrlTemplate | フッターおよびツール結果サマリーに表示される PR バッジの URL テンプレート。gh レポートされた PR URL から {host}、{owner}、{repo}、{number}、および {url} を置き換えます。PR リンクを github.com の代わりに内部コードレビューツールにポイントするために使用します。Claude の散文の #123 オートリンクには影響しません | "https://reviews.example.com/{owner}/{repo}/pull/{number}" |
remoteControlAtStartup | 各インタラクティブセッションの開始時に リモートコントロールを自動的に接続します。/remote-control を待つ代わりに。true に設定して常に自動接続するか、false に設定して自動接続しないか、組織のデフォルトに従うために未設定のままにします。/config にすべてのセッションでリモートコントロールを有効にするとして表示されます。すべてのセッションでリモートコントロールを有効にするを参照してください | false |
requiredMaximumVersion | Managed 設定のみ。起動を許可される最大 Claude Code バージョン。実行中のバージョンがより新しい場合、Claude Code は起動時に終了し、ユーザーに組織の承認された方法を通じて承認されたバージョンをインストールするよう指示します。claude install <version> も機能する可能性があります。バックグラウンド自動更新と claude update は上限を超えるバージョンをスキップするため、範囲内のインストールは範囲内のままです。claude update、claude install、および claude doctor は上限を超えて機能し続けるため、ユーザーは回復できます。この設定より前のバージョンはそれを無視します | "2.1.150" |
requiredMinimumVersion | Managed 設定のみ。起動に必要な最小 Claude Code バージョン。実行中のバージョンがより古い場合、Claude Code は起動時に終了し、ユーザーに組織の承認された方法を通じて更新するよう指示します。claude update、claude install、および claude doctor は下限を超えて機能し続けるため、ユーザーは回復できます。ダウングレードを防止するが起動をブロックしない minimumVersion とは異なります。この設定より前のバージョンはそれを無視します | "2.1.150" |
respondToBashCommands | デフォルト:true。入力ボックス ! シェルコマンドが実行された後に Claude が応答するかどうか。コマンド出力をコンテキストに追加するが応答なしで false に設定します。! プレフィックス付きシェルモードを参照してください。Claude Code v2.1.186 以降が必要です | false |
respectGitignore | デフォルト:true。@ ファイルピッカーが .gitignore パターンを尊重するかどうかを制御します。true の場合、.gitignore パターンに一致するファイルは提案から除外されます | false |
showClearContextOnPlanAccept | デフォルト:false。プラン受け入れ画面に「コンテキストをクリア」オプションを表示します。true に設定してオプションを復元します | true |
showThinkingSummaries | デフォルト:false。拡張思考サマリーをインタラクティブセッションに表示します。未設定または false の場合、思考ブロックは API によって編集され、折りたたまれたスタブとして表示されます。編集は表示内容のみを変更し、モデルが生成するものは変更しません:思考支出を削減するには、予算を低下させるか思考を無効にする代わりに。この設定は非インタラクティブモード(-p)、Agent SDK、または VS Code などの IDE 拡張機能には影響しません | true |
showTurnDuration | デフォルト:true。レスポンス後のターン期間メッセージを表示します(例:「Cooked for 1m 6s」)。/config にターン期間を表示として表示されます | false |
skillListingBudgetFraction | デフォルト:0.01(1%)。スキルリスティングClaude が各ターンで見るモデルのコンテキストウィンドウ用に予約されたフラクション。リスティングが予算を超える場合、最も使用頻度の低いスキルの説明は、Claude が引き続き呼び出すことができるが理由を見ることができないように、ベアネームに折りたたまれます。より多くの説明を表示するために上げるか、より多くのスキルを収めるために下げます。/doctor は現在の切り詰めカウントと影響を受けるスキルを表示します。Claude Code v2.1.105 以降が必要です | 0.02 |
skillOverrides | スキル名でキー付けされたスキルごとの可視性オーバーライド。値は "on"、"name-only"、"user-invocable-only"、または "off" です。スキルの SKILL.md を編集することなく、スキルを非表示または折りたたむことができます。プラグインスキルには適用されません。これらは /plugin を通じて管理されます。/skills メニューはこれらを .claude/settings.local.json に書き込みます。設定からスキルの可視性をオーバーライドを参照してください。Claude Code v2.1.129 以降が必要です | {"legacy-context": "name-only", "deploy": "off"} |
skipWebFetchPreflight | WebFetch ドメイン安全チェックをスキップします。このチェックは、フェッチ前に各リクエストされたホスト名を api.anthropic.com に送信します。Bedrock、Vertex AI、または制限的な出力を持つ Foundry デプロイメントなど、Anthropic へのトラフィックをブロックする環境で true に設定します。スキップされた場合、WebFetch はブロックリストを参照せずに任意の URL を試みます | true |
spinnerTipsEnabled | デフォルト:true。Claude が作業中にスピナーにヒントを表示します。ヒントを無効にするには false に設定します | false |
spinnerTipsOverride | スピナーヒントをカスタム文字列でオーバーライドします。tips:ヒント文字列の配列。excludeDefault:true の場合、カスタムヒントのみを表示します。false または不在の場合、カスタムヒントは組み込みヒントとマージされます | { "excludeDefault": true, "tips": ["Use our internal tool X"] } |
spinnerVerbs | スピナーに表示されるアクション動詞をカスタマイズします。mode を "replace" に設定して動詞のみを使用するか、"append" に設定してデフォルトに追加します | {"mode": "append", "verbs": ["Pondering", "Crafting"]} |
sshConfigs | Desktop環境ドロップダウンに表示する SSH 接続。各エントリには id、name、および sshHost が必要です。sshPort、sshIdentityFile、および startDirectory はオプションです。managed 設定で設定されている場合、接続はユーザーに対して読み取り専用です。managed およびユーザー設定からのみ読み込まれます | [{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}] |
statusLine | コンテキストを表示するカスタムステータスラインを構成します。statusLine ドキュメントを参照してください | {"type": "command", "command": "~/.claude/statusline.sh"} |
strictKnownMarketplaces | (Managed 設定のみ)プラグインマーケットプレイスソースのホワイトリスト。未定義 = 制限なし、空配列 = ロックダウン。マーケットプレイス追加時およびプラグインのインストール、更新、リフレッシュ、自動更新時に適用されるため、ポリシーが設定される前に追加されたマーケットプレイスは使用できません。Managed マーケットプレイス制限を参照してください | [{ "source": "github", "repo": "acme-corp/plugins" }] |
strictPluginOnlyCustomization | (Managed 設定のみ)ユーザーおよびプロジェクトソースからの skills、agents、hooks、および MCP サーバーをブロックして、プラグインまたは managed 設定からのみ取得できるようにします。true は 4 つすべてをロックします。配列は名前付きのものだけをロックします。strictPluginOnlyCustomizationを参照してください | ["skills", "hooks"] |
syntaxHighlightingDisabled | diff、コードブロック、ファイルプレビューの構文強調表示を無効にします | true |
teammateMode | デフォルト:in-process。エージェントチームチームメイトの表示方法:in-process、auto(tmux または iTerm2 で分割ペインを選択、それ以外の場合はインプロセス)、tmux(tmux または iTerm2 を使用して分割ペインを選択、ターミナルから検出)、または iterm2(iTerm2 ネイティブ分割ペイン。v2.1.186 で追加された it2 CLI 経由)。デフォルトは v2.1.179 で auto から変更されました。--teammate-mode はこれを 1 セッション間オーバーライドします。表示モードを選択を参照してください | "auto" |
terminalProgressBarEnabled | デフォルト:true。サポートされているターミナルでターミナル進行状況バーを表示します:ConEmu、Ghostty 1.2.0 以降、および iTerm2 3.6.6 以降。/config にターミナル進行状況バーとして表示されます | false |
theme | デフォルト:"dark"。インターフェイスのカラーテーマ:"auto"、"dark"、"light"、"dark-daltonized"、"light-daltonized"、"dark-ansi"、"light-ansi"、または "custom:<slug>" または "custom:<plugin-name>:<slug>" などのカスタムテーマリファレンス。カスタムテーマを作成を参照してください。/config にテーマとして表示されます | "dark" |
tui | ターミナル UI レンダラー。フリッカーのないalt-screen レンダラーを備えた仮想スクロールバック用に "fullscreen" を使用します。クラシックメインスクリーンレンダラー用に "default" を使用します。/tui で設定します。CLAUDE_CODE_NO_FLICKER環境変数を設定することもできます。エージェントビューから開かれたバックグラウンドセッションは、この設定に関係なく常にフルスクリーンレンダラーを使用します | "fullscreen" |
ultracode | セッションの ultracodeをオンにします。セッションのみで settings.json から読み込まれません。/effort ultracode、--settings、または Agent SDK 制御リクエストを通じて設定します | true |
useAutoModeDuringPlan | デフォルト:true。プラン モードが自動モードが利用可能な場合に自動モードセマンティクスを使用するかどうか。共有プロジェクト設定から読み込まれません。/config に「プラン中に自動モードを使用」として表示されます | false |
verbose | デフォルト:false。切り詰められたサマリーの代わりに完全なツール出力を表示します。/config に詳細出力として表示されます。--verbose フラグはこれを 1 セッション間オーバーライドします | true |
viewMode | 起動時のデフォルトトランスクリプトビューモード:"default"、"verbose"、または "focus"。設定されている場合、スティッキー /focus 選択をオーバーライドします。--verbose フラグはこれを 1 セッション間オーバーライドします | "verbose" |
voice | 音声ディクテーション設定:enabled はディクテーションをオンにし、mode は "hold" または "tap" を選択し、autoSubmit はホールドモードでキーリリース時にプロンプトを送信します。/voice を実行すると自動的に書き込まれます。Claude.ai アカウントが必要です | { "enabled": true, "mode": "tap" } |
voiceEnabled | voice.enabled のレガシーエイリアス。voice オブジェクトを優先します | true |
wheelScrollAccelerationEnabled | デフォルト:true。フルスクリーンレンダリングで、高速スクロール中にマウスホイールスクロール速度を加速します。ホイールノッチごとに一定のスクロール速度を使用するには false に設定します。Claude Code v2.1.174 以降が必要です | false |
workflowKeywordTriggerEnabled | デフォルト:true。プロンプト内の単語 ultracode が動的ワークフローをトリガーするかどうか。単語を入力してトリガーしないようにするには false に設定します。ultracode 努力設定、/workflows、および保存されたワークフローコマンドは影響を受けません。/config にワークフローキーワードトリガーとして表示されます。v2.1.157 で追加されました。v2.1.160 より前は、トリガーキーワードは workflow でした | false |
wslInheritsWindowsSettings | (Windows managed 設定のみ)true の場合、WSL 上の Claude Code は /etc/claude-code に加えて Windows ポリシーチェーンから managed 設定を読み込み、Windows ソースが優先されます。HKLM レジストリキーまたは C:\Program Files\ClaudeCode\managed-settings.json で設定されている場合のみ尊重されます。どちらも Windows 管理者が書き込む必要があります。HKCU ポリシーが WSL でも適用されるようにするには、フラグを HKCU 自体にも設定する必要があります。ネイティブ Windows には影響しません | true |
グローバル構成設定
これらの設定はsettings.json ではなく ~/.claude.json に保存されます。これらを settings.json に追加すると、スキーマ検証エラーがトリガーされます。
v2.1.119 より前のバージョンでは、
theme、verbose、editorMode、autoCompactEnabled、および preferredNotifChannel も settings.json ではなくここに保存されます。| キー | 説明 | 例 |
|---|---|---|
autoConnectIde | デフォルト:false。Claude Code が外部ターミナルから起動するときに、実行中の IDE に自動的に接続します。VS Code または JetBrains ターミナルの外で実行する場合、/config に**IDE に自動接続(外部ターミナル)**として表示されます。CLAUDE_CODE_AUTO_CONNECT_IDE環境変数が設定されている場合、これをオーバーライドします | true |
autoInstallIdeExtension | デフォルト:true。VS Code ターミナルから実行するときに Claude Code IDE 拡張機能を自動的にインストールします。VS Code または JetBrains ターミナル内で実行する場合、/config にIDE 拡張機能を自動インストールとして表示されます。CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL環境変数を設定することもできます | false |
externalEditorContext | デフォルト:false。Ctrl+G で外部エディターを開くときに Claude の前の応答を # コメント付きコンテキストとして先頭に追加します。/config に外部エディターに最後の応答を表示として表示されます | true |
teammateDefaultModel | エージェントチームチームメイトのデフォルトモデル。spawn プロンプトが指定しない場合。"sonnet" などのモデルエイリアスに設定するか、リーダーの現在の /model 選択を継承するために null に設定します。/config にデフォルトチームメイトモデルとして表示されます | "sonnet" |
Worktree 設定
--worktree が git worktrees を作成および管理する方法を構成します。
| キー | 説明 | 例 |
|---|---|---|
worktree.baseRef | 新しい worktrees がブランチする ref。"fresh"(デフォルト)は origin/<default-branch> からブランチして、リモートと一致するクリーンツリーを取得します。"head" は現在のローカル HEAD からブランチするため、プッシュされていないコミットとフィーチャーブランチの状態が worktree に存在します。--worktree、EnterWorktree ツール、および subagent 分離に適用されます | "head" |
worktree.symlinkDirectories | メインリポジトリから各 worktree にシンボリックリンクするディレクトリ。ディスク上の大規模なディレクトリの重複を避けるため。デフォルトではディレクトリはシンボリックリンクされません | ["node_modules", ".cache"] |
worktree.sparsePaths | git sparse-checkout を通じて各 worktree でチェックアウトするディレクトリ。リストされたパスのみがディスク上に書き込まれます。大規模なモノレポではより高速です | ["packages/my-app", "shared/utils"] |
worktree.bgIsolation | バックグラウンドセッションの分離モード。"worktree"(デフォルト)は EnterWorktree が呼び出されるまでメインチェックアウトで Edit/Write をブロックします。"none" はバックグラウンドジョブがワーキングコピーを直接編集できるようにします。Claude Code v2.1.143 以降が必要です | "none" |
.env など)を新しい worktrees にコピーするには、設定の代わりにプロジェクトルートの .worktreeinclude ファイルを使用します。
権限設定
| キー | 説明 | 例 |
|---|---|---|
allow | ツール使用を許可する権限ルールの配列。ツール名 glob はリテラル mcp__<server>__ プレフィックスの後のツール位置でのみサポートされます。たとえば mcp__github__get_*。サーバーセグメントは glob フリーである必要があります。パターンマッチングの詳細については、以下の権限ルール構文を参照してください | [ "Bash(git diff *)" ] |
ask | ツール使用時に確認を求める権限ルールの配列。権限ルール構文を参照してください | [ "Bash(git push *)" ] |
deny | ツール使用を拒否する権限ルールの配列。これを使用して、機密ファイルを Claude Code アクセスから除外します。ツール名は glob パターンを受け入れます:"*" はすべてのツールを拒否し、"mcp__*" はすべての MCP ツールを拒否します。権限ルール構文と Bash 権限制限を参照してください | [ "WebFetch", "Bash(curl *)", "Read(./.env)", "Read(./secrets/**)" ] |
additionalDirectories | Claude がアクセスできる追加の作業ディレクトリ。ほとんどの .claude/ 構成はこれらのディレクトリから検出されません | [ "../docs/" ] |
defaultMode | Claude Code を開くときのデフォルト権限モード。有効な値:default、acceptEdits、plan、auto、dontAsk、bypassPermissions。Claude Code v2.1.142 以降、auto はプロジェクトまたはローカル設定(.claude/settings.json、.claude/settings.local.json)で設定されている場合は無視されるため、リポジトリはそれ自体に自動モードを付与できません。代わりに ~/.claude/settings.json で設定します。--permission-mode CLI フラグは単一セッションのこの設定をオーバーライドします | "acceptEdits" |
disableBypassPermissionsMode | "disable" に設定して bypassPermissions モードの有効化を防止します。これにより --dangerously-skip-permissions フラグが無効になります。通常は managed 設定に配置されます。ユーザーはこれをオーバーライドできません | "disable" |
skipDangerousModePermissionPrompt | --dangerously-skip-permissions または defaultMode: "bypassPermissions" を通じてバイパス権限モードに入る前に表示される確認プロンプトをスキップします。信頼されていないリポジトリがプロンプトを自動バイパスするのを防ぐため、プロジェクト設定(.claude/settings.json)で設定されている場合は無視されます | true |
権限ルール構文
権限ルールはTool または Tool(specifier) の形式に従います。ルールは順序で評価されます:最初に拒否ルール、次に ask、次に allow。最初に一致するルールが優先されます。権限ルール評価順序を参照してください。
クイック例:
| ルール | 効果 |
|---|---|
Bash | すべての Bash コマンドに一致 |
Bash(npm run *) | npm run で始まるコマンドに一致 |
Read(./.env) | .env ファイルの読み取りに一致 |
WebFetch(domain:example.com) | example.com へのフェッチリクエストに一致 |
サンドボックス設定
高度なサンドボックス動作を構成します。サンドボックスは bash コマンドをファイルシステムとネットワークから分離します。詳細については サンドボックスを参照してください。| キー | 説明 | 例 |
|---|---|---|
enabled | bash サンドボックスを有効にします(macOS、Linux、WSL2)。デフォルト:false | true |
failIfUnavailable | sandbox.enabled が true だがサンドボックスが起動できない場合(依存関係の欠落、サポートされていないプラットフォーム)、起動時にエラーで終了します。false(デフォルト)の場合、警告が表示され、コマンドはサンドボックス化されずに実行されます。managed 設定デプロイメント用で、サンドボックスをハードゲートとして必要とします | true |
autoAllowBashIfSandboxed | サンドボックス化されている場合、bash コマンドを自動承認します。デフォルト:true | true |
excludedCommands | サンドボックスの外で実行する必要があるコマンド | ["docker *"] |
allowUnsandboxedCommands | dangerouslyDisableSandbox パラメータを通じてコマンドをサンドボックスの外で実行することを許可します。false に設定すると、dangerouslyDisableSandbox エスケープハッチが完全に無効になり、すべてのコマンドはサンドボックス化されるか excludedCommands に含まれる必要があります。厳密なサンドボックスを必要とするエンタープライズポリシーに役立ちます。デフォルト:true | false |
filesystem.allowWrite | サンドボックス化されたコマンドが書き込みできる追加パス。配列はすべての設定スコープ全体でマージされます:ユーザー、プロジェクト、および managed パスが結合され、置き換えられません。Edit(...) allow 権限ルールからのパスともマージされます。以下のパスプレフィックスを参照してください。 | ["/tmp/build", "~/.kube"] |
filesystem.denyWrite | サンドボックス化されたコマンドが書き込みできないパス。配列はすべての設定スコープ全体でマージされます。Edit(...) deny 権限ルールからのパスともマージされます。 | ["/etc", "/usr/local/bin"] |
filesystem.denyRead | サンドボックス化されたコマンドが読み取りできないパス。配列はすべての設定スコープ全体でマージされます。Read(...) deny 権限ルールからのパスともマージされます。 | ["~/.aws/credentials"] |
filesystem.allowRead | denyRead 領域内での読み取りを再度許可するパス。denyRead よりも優先されます。配列はすべての設定スコープ全体でマージされます。これを使用してワークスペースのみの読み取りアクセスパターンを作成します。 | ["."] |
filesystem.allowManagedReadPathsOnly | (Managed 設定のみ)managed 設定からの filesystem.allowRead パスのみが尊重されます。denyRead はすべてのソースからマージされます。デフォルト:false | true |
credentials.files | サンドボックス化されたコマンドが読み取りできない認証情報ファイルまたはディレクトリ。filesystem.denyRead と同じ読み取りブロックを適用します。個別のキーは認証情報パスを credentials.envVars と一緒にグループ化し、一般的なファイルシステムルールから離します。各エントリは { "path": "...", "mode": "deny" } です。パス は filesystem.* 設定と同じプレフィックスを使用します。配列はすべての設定スコープ全体でマージされます。deny のみがサポートされています。Claude Code v2.1.187 以降が必要です。 | [{ "path": "~/.aws/credentials", "mode": "deny" }] |
credentials.envVars | サンドボックス化されたコマンドを実行する前に設定解除する環境変数。各エントリは { "name": "...", "mode": "deny" } です。配列はすべての設定スコープ全体でマージされます。deny のみがサポートされています。Claude Code v2.1.187 以降が必要です。 | [{ "name": "GITHUB_TOKEN", "mode": "deny" }] |
network.allowUnixSockets | (macOS のみ)サンドボックスでアクセス可能な Unix ソケットパス。Linux と WSL2 では無視されます。seccomp フィルターは socket(AF_UNIX, ...) 呼び出しをブロックできないため、代わりに allowAllUnixSockets を使用します。 | ["~/.ssh/agent-socket"] |
network.allowAllUnixSockets | サンドボックス内のすべての Unix ソケット接続を許可します。Linux と WSL2 ではこれが Unix ソケットを許可する唯一の方法です。seccomp フィルターをスキップするため、socket(AF_UNIX, ...) 呼び出しをブロックします。デフォルト:false | true |
network.allowLocalBinding | localhost ポートへのバインドを許可します(macOS のみ)。デフォルト:false | true |
network.allowMachLookup | サンドボックスが検索できる追加の XPC/Mach サービス名(macOS のみ)。プレフィックスマッチング用に単一の末尾 * をサポートします。iOS Simulator または Playwright などの XPC を通じて通信するツールに必要です。 | ["com.apple.coresimulator.*"] |
network.allowedDomains | アウトバウンドネットワークトラフィックを許可するドメインの配列。ワイルドカード(例:*.example.com)をサポートします。 | ["github.com", "*.npmjs.org"] |
network.deniedDomains | アウトバウンドネットワークトラフィックをブロックするドメインの配列。allowedDomains と同じワイルドカード構文をサポートします。両方が一致する場合、拒否リストが優先されます。すべての設定ソースからマージされます。allowManagedDomainsOnly に関係なく | ["sensitive.cloud.example.com"] |
network.allowManagedDomainsOnly | (Managed 設定のみ)managed 設定からの allowedDomains および WebFetch(domain:...) allow ルールのみが尊重されます。ユーザー、プロジェクト、およびローカル設定からのドメインは無視されます。許可されていないドメインはユーザーにプロンプトを表示せずに自動的にブロックされます。拒否されたドメインはすべてのソースから引き続き尊重されます。デフォルト:false | true |
network.httpProxyPort | 独自のプロキシを使用する場合に使用される HTTP プロキシポート。指定されていない場合、Claude は独自のプロキシを実行します。 | 8080 |
network.socksProxyPort | 独自のプロキシを使用する場合に使用される SOCKS5 プロキシポート。指定されていない場合、Claude は独自のプロキシを実行します。 | 8081 |
enableWeakerNestedSandbox | 非特権 Docker 環境用の弱いサンドボックスを有効にします(Linux と WSL2 のみ)。セキュリティを低下させます。 デフォルト:false | true |
enableWeakerNetworkIsolation | (macOS のみ)サンドボックス内のシステム TLS 信頼サービス(com.apple.trustd.agent)へのアクセスを許可します。httpProxyPort を MITM プロキシおよびカスタム CA と共に使用する場合、gh、gcloud、terraform などの Go ベースのツールが TLS 証明書を検証するために必要です。セキュリティを低下させます。データ流出の可能性のあるパスを開きます。デフォルト:false | true |
allowAppleEvents | (macOS のみ)サンドボックス化されたコマンドが Apple Events を送信することを許可します。open、osascript、および URL をブラウザで開くツールに必要です。これ以外の場合は error -600 で失敗します。コード実行分離を削除します。 サンドボックス化されたコマンドは、ユーザープロンプトなしで他のアプリケーションをサンドボックス化されていない状態で起動できます。また、Terminal などの実行中のアプリケーションに AppleScript コマンドを送信することもできます。macOS 自動化同意プロンプト(TCC)の対象となります。ユーザー、managed、または CLI 設定からのみ尊重され、プロジェクト設定からは尊重されません。デフォルト:false | true |
bwrapPath | (Managed 設定のみ、Linux/WSL2)bubblewrap(bwrap)バイナリへの絶対パス。PATH を通じた自動検出をオーバーライドします。managed 設定からのみ尊重され、ユーザーまたはプロジェクト設定からは尊重されません。managed 環境で bwrap が非標準の場所にインストールされている場合に役立ちます。 | /opt/admin/bwrap |
socatPath | (Managed 設定のみ、Linux/WSL2)サンドボックスネットワークプロキシに使用される socat バイナリへの絶対パス。PATH を通じた自動検出をオーバーライドします。managed 設定からのみ尊重されます。 | /opt/admin/socat |
サンドボックスパスプレフィックス
filesystem.allowWrite、filesystem.denyWrite、filesystem.denyRead、filesystem.allowRead、および credentials.files のパスは、これらのプレフィックスをサポートしています:
| プレフィックス | 意味 | 例 |
|---|---|---|
/ | ファイルシステムルートからの絶対パス | /tmp/build は /tmp/build のままです |
~/ | ホームディレクトリに相対的 | ~/.kube は $HOME/.kube になります |
./ またはプレフィックスなし | プロジェクト設定ではプロジェクトルートに相対的、またはユーザー設定では ~/.claude に相対的 | ./output は .claude/settings.json では <project-root>/output に解決されます |
//path プレフィックスは絶対パスに対して引き続き機能します。以前に単一スラッシュ /path を使用してプロジェクト相対解決を期待していた場合は、./path に切り替えてください。この構文は Read および Edit 権限ルールと異なります。これは //path を絶対パスに、/path をプロジェクト相対に使用します。サンドボックスファイルシステムパスは標準的な規則を使用します:/tmp/build は絶対パスです。
構成例:
sandbox.filesystem設定(上記):OS レベルのサンドボックス境界でパスを制御します。これらの制限は、Claude のファイルツールだけでなく、すべてのサブプロセスコマンド(例:kubectl、terraform、npm)に適用されます。- 権限ルール:
Editallow/deny ルールを使用して Claude のファイルツールアクセスを制御し、Readdeny ルールを使用して読み取りをブロックし、WebFetchallow/deny ルールを使用してネットワークドメインを制御します。これらのルールからのパスもサンドボックス構成にマージされます。
属性設定
Claude Code は git コミットとプルリクエストに属性を追加します。これらは個別に構成されます:- コミットはデフォルトでgit トレーラー(
Co-Authored-Byなど)を使用し、カスタマイズまたは無効にできます - プルリクエストの説明はプレーンテキストです
| キー | 説明 |
|---|---|
commit | git コミットの属性(トレーラーを含む)。空の文字列はコミット属性を非表示にします |
pr | プルリクエストの説明の属性。空の文字列はプルリクエスト属性を非表示にします |
sessionUrl | web またはリモートコントロールセッションから実行する場合、claude.ai セッションリンクを Claude-Session トレーラーとしてコミットに追加し、プルリクエストの説明にリンクとして追加するかどうか。デフォルト:true。false に設定してリンクを省略します |
attribution 設定は非推奨の includeCoAuthoredBy 設定よりも優先されます。すべての属性を非表示にするには、commit と pr を空の文字列に設定し、sessionUrl を false に設定します。ファイル提案設定
@ ファイルパスオートコンプリート用のカスタムコマンドを構成します。組み込みファイル提案は高速ファイルシステムトラバーサルを使用しますが、大規模なモノレポは事前構築されたファイルインデックスやカスタムツールなどのプロジェクト固有のインデックスから利益を得る可能性があります。
CLAUDE_PROJECT_DIR を含む)で実行されます。query フィールドを含む JSON を stdin 経由で受け取ります:
フッターリンクバッジ
footerLinksRegexes 設定は、入力ボックスの下のフッターに追加のクリック可能なバッジをレンダリングします。プロジェクト CLI によって出力される ID(レビューツールと問題トラッカーなど)をセッションリンクに変換するために使用します。
各エントリの pattern 正規表現はターン出力に対してマッチされます:ツール結果(ファイルコンテンツとフェッチされたページを含む)および Claude 自身の応答。url と label の {name} プレースホルダーはパターンの名前付きキャプチャグループから入力されます。
次の例は、PROJ-1234 のような問題キーがターン出力に表示されるたびにバッジをレンダリングします。(?<key>...) 名前付きグループはキーをキャプチャし、{key} は URL とラベルに置き換えられます:
~/.claude/settings.json
PROJ-1234 がツール結果または Claude の返信に表示されると、PROJ-1234 チップがフッターに表示され、https://issues.example.com/browse/PROJ-1234 にリンクされます。
各エントリに以下の制約が適用されます:
| 制約 | 動作 |
|---|---|
| URL オリジン | キャプチャされた値は URL エンコードされ、構築された URL はテンプレートのリテラルオリジンを共有する必要があります。キャプチャはパスセグメントまたはクエリ値を入力できますが、リンクがポイントする場所を変更することはできません |
| URL 長 | 2048 文字より長い構築された URL は削除されます |
| URL スキーム | https、http、または認識されたエディターまたはワークスペースディープリンクスキーム:vscode、vscode-insiders、cursor、windsurf、zed、jetbrains、idea、slack、linear、notion、figma である必要があります |
| ラベル | デフォルトはマッチされたテキストで、28 表示列に切り詰められます |
| バッジ数 | 最大 5 つのバッジがレンダリングされます。最も古いものは新しいマッチによって置き換えられ、/clear はそれらを削除します |
| 設定スコープ | ユーザー設定、--settings フラグ、および managed 設定からのみ読み込まれます。プロジェクト .claude/settings.json およびローカル .claude/settings.local.json では無視されます |
pattern 正規表現をマッチします。そのため、遅い正規表現は UI をブロックしてセッションを凍結するまでブロックします。(a+)+$ などのネストされた量指定子は、特定の入力に対して指数関数的に長くかかる可能性があるため、各 pattern を線形に保ち、+ または * のネストを避けます。
フッターバッジは、構成されている場合、カスタムステータスラインと並んでレンダリングされます。どちらも他方を置き換えません。セッションデータから独自のコンテンツを計算するスクリプト駆動行にはステータスラインを使用し、スクリプトなしで会話から ID をリンクに変換するにはフッターバッジを使用します。
Hook 構成
これらの設定は、どの hooks が実行を許可されるか、および HTTP hooks がアクセスできるものを制御します。allowManagedHooksOnly 設定は managed 設定でのみ構成できます。URL と環境変数ホワイトリストは任意の設定レベルで設定でき、ソース全体でマージされます。
allowManagedHooksOnly が true の場合の動作:
- Managed hooks と SDK hooks が読み込まれます
- managed 設定
enabledPluginsで強制的に有効にされたプラグインからの Hooks が読み込まれます。これにより、管理者は組織マーケットプレイスを通じて検証済みの hooks を配布しながら、他のすべてをブロックできます。信頼は完全なplugin@marketplaceID によって付与されるため、別のマーケットプレイスからの同じ名前のプラグインはブロックされたままです - ユーザー hooks、プロジェクト hooks、およびその他すべてのプラグイン hooks はブロックされます
* をサポートします。配列が定義されている場合、一致しない URL をターゲットにする HTTP hooks はサイレントにブロックされます。ホスト名マッチングは大文字と小文字を区別せず、末尾の FQDN ドットを無視し、DNS セマンティクスに一致します。
allowedEnvVars はこの設定との交差です。
ポリシーヘルパーで managed 設定を計算
policyHelper 設定は、起動時に managed 設定を動的に計算する実行可能ファイルを指しています。管理者は、静的ファイルの代わりに、デバイスの状態、ID、またはリモートサービスからポリシーを導出できます。MDM またはシステム managed-settings.json ファイルから構成します。Claude Code は、ユーザー設定、プロジェクト設定、HKCU レジストリハイブ、および サーバー管理設定を含む他のスコープに表示される policyHelper を無視します。
設定は以下のキーを受け入れます:
| キー | タイプ | 説明 |
|---|---|---|
path | string | ヘルパー実行可能ファイルへの絶対パス |
timeoutMs | number | ヘルパーが失敗として扱われるまでの待機時間 |
refreshIntervalMs | number | バックグラウンドでヘルパーを再実行する頻度。0 に設定して更新を無効にするか、少なくとも 60000 に設定します |
managedSettings キーの下に配置します。ベアの設定オブジェクトは managedSettings が未定義で解析され、何も適用されないためです:
managedSettings を出力すると、そのオブジェクトは実行のためにファイルベースの managed 設定を置き換えます。ヘルパーが起動時にゼロ以外で終了すると、Claude Code はエラーを出力し、起動を拒否します。そのため、停止復旧が必要なヘルパーは独自のキャッシュから提供し、0 で終了する必要があります。
設定の優先度
設定は優先度の順に適用されます。最高から最低:-
Managed 設定(サーバー管理、MDM/OS レベルのポリシー、または managed 設定)
- IT がサーバー配信、MDM 構成プロファイル、レジストリポリシー、または managed 設定ファイルを通じて展開するポリシー
- コマンドラインの引数を含む他のレベルでオーバーライドできません
- managed ティア内では、優先度は:サーバー管理 > MDM/OS レベルのポリシー > ファイルベース(
managed-settings.d/*.json+managed-settings.json)> HKCU レジストリ(Windows のみ)です。1 つの managed ソースのみが使用されます。ソースはマージされません。ファイルベースティア内では、ドロップインファイルとベースファイルがマージされます。 - Agent SDK または IDE 拡張機能などの埋め込みホストプロセスによってプログラム的に提供される managed 設定。デフォルトではこれは管理者デプロイ済みの managed ティアが存在する場合は無視されます。管理者は
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"] を追加する場合、両方のパスが最終構成に含まれます。2 つの配列設定はこのようにマージされません: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) などです。レイヤーは、そのソースが少なくとも 1 つのキーで読み込まれた場合にのみリストに表示されるため、空のリストは設定ソースが見つからなかったことを意味します。
Setting sources 行は、どのソースが読み込まれているかを確認します。各個別キーがどのレイヤーから供給されたかは表示されません。同じダイアログの Config タブは、テーマや詳細出力などの固定されたトグルセットのエディターであり、settings.json コンテンツのビューではありません。
設定ファイルに無効な JSON やバリデーションに失敗する値などのエラーが含まれている場合、Claude Code は起動時にセットアップの問題通知を表示し、/status は影響を受けたファイルをリストします。各エラーの詳細については /doctor を実行してください。
構成システムの重要なポイント
- メモリファイル(
CLAUDE.md):Claude が起動時に読み込む命令とコンテキストを含みます - 設定ファイル(JSON):権限、環境変数、およびツール動作を構成します
- Skills:
/skill-nameで呼び出すか、Claude によって自動的に読み込むことができるカスタムプロンプト - MCP サーバー:追加のツールと統合で Claude Code を拡張します
- 優先度:高レベルの構成(Managed)が低レベルの構成(User/Project)をオーバーライドします
- 継承:設定はマージされ、スカラー値はより高い優先度のスコープからオーバーライドされ、配列は連結されます。例外:
fallbackModelは位置が意味を持つ順序付きチェーン:これを定義する最高優先度ファイルが全体の値を提供します。v2.1.175 以降、availableModelsは managed またはポリシー値が低優先度エントリを完全に置き換えます
システムプロンプト
Claude Code の内部システムプロンプトは公開されていません。カスタム命令を追加するには、CLAUDE.md ファイルまたは --append-system-prompt フラグを使用します。
機密ファイルを除外
API キー、シークレット、環境ファイルなどの機密情報を含むファイルへの Claude Code アクセスを防ぐには、.claude/settings.json ファイルの permissions.deny 設定を使用します:
ignorePatterns 構成に置き換わります。これらのパターンに一致するファイルはファイル検出と検索結果から除外され、これらのファ イルの読み取り操作は拒否されます。
Subagent 構成
Claude Code は、ユーザーレベルとプロジェクトレベルの両方で構成できるカスタム AI subagents をサポートしています。これらの subagents は YAML frontmatter を含む Markdown ファイルとして保存されます:- ユーザー subagents:
~/.claude/agents/- すべてのプロジェクト全体で利用可能 - プロジェクト subagents:
.claude/agents/- プロジェクト固有で、チームと共有できます
プラグイン構成
Claude Code は、skills、agents、hooks、および MCP サーバーで機能を拡張できるプラグインシステムをサポートしています。プラグインはマーケットプレイスを通じて配布され、ユーザーレベルとリポジトリレベルの両方で構成できます。プラグイン設定
settings.json のプラグイン関連設定:
enabledPlugins
どのプラグインが有効かを制御します。形式:"plugin-name@marketplace-name": true/false。任意のスコープにエントリがないプラグインは、その defaultEnabled 値にフォールバックします。
スコープ:
- ユーザー設定(
~/.claude/settings.json):個人的なプラグイン設定 - プロジェクト設定(
.claude/settings.json):チームと共有されるプロジェクト固有のプラグイン - ローカル設定(
.claude/settings.local.json):マシンごとのオーバーライド(Claude Code が作成する場合は gitignored) - Managed 設定(
managed-settings.json):すべてのスコープでのインストールをブロックし、マーケットプレイスからプラグインを非表示にする組織全体のポリシーオーバーライド
プロジェクト設定はユーザー設定よりも優先されるため、
~/.claude/settings.json でプラグインを false に設定しても、プロジェクトの .claude/settings.json が有効にするプラグインは無効になりません。プロジェクトで有効になっているプラグインをマシンでオプトアウトするには、代わりに .claude/settings.local.json で false に設定してください。Managed 設定で強制的に有効にされたプラグインは、Managed 設定がローカル設定をオーバーライドするため、この方法では無効にできません。extraKnownMarketplaces
リポジトリで利用可能にする必要がある追加のマーケットプレイスを定義します。通常、リポジトリレベルの設定で使用され、チームメンバーが必要なプラグインソースにアクセスできることを確認します。
リポジトリが extraKnownMarketplaces を含む場合:
- チームメンバーはフォルダを信頼するときにマーケットプレイスをインストールするよう求められます
- チームメンバーはそのマーケットプレイスからプラグインをインストールするよう求められます
- ユーザーは不要なマーケットプレイスまたはプラグインをスキップできます(ユーザー設定に保存)
- インストールは信頼境界を尊重し、明示的な同意が必要です
github:GitHub リポジトリ(repoを使用)git:任意の git URL(urlを使用)directory:ローカルファイルシステムパス(開発のみ、pathを使用)hostPattern:マーケットプレイスホストに一致する正規表現パターン(hostPatternを使用)settings:ホストされたリポジトリなしで settings.json に直接宣言されたインラインマーケットプレイス(nameとpluginsを使用)
github および git ソースの場合、source オブジェクト内(repo または url と並行して)に "skipLfs": true を設定して、Claude Code がマーケットプレイスリポジトリをクローンまたは更新するときに Git LFS ダウンロードをスキップします。LFS ポインターファイルはポインターのままで、コンテンツをダウンロードしません。リポジトリにプラグインコンテンツに関連しない大規模な LFS オブジェクトが含まれている場合に使用します。Claude Code v2.1.153 以降が必要です。
各マーケットプレイスエントリは、オプションの autoUpdate ブール値も受け入れます。source と並行して "autoUpdate": true を設定して、Claude Code がそのマーケットプレイスをリフレッシュし、起動時にインストール済みプラグインを更新するようにします。省略した場合、公式 Anthropic マーケットプレイスはデフォルトで true に設定され、その他すべてのマーケットプレイスはデフォルトで false に設定されます。自動更新の構成を参照してください。
source: 'settings' を使用して、ホストされたマーケットプレイスリポジトリをセットアップせずに、小規模なプラグインセットをインラインで宣言します。ここにリストされているプラグインは、GitHub または npm などの外部ソースを参照する必要があります。各プラグインを enabledPlugins で個別に有効にする必要があります。
strictKnownMarketplaces
Managed 設定のみ:ユーザーが追加できるプラグインマーケットプレイスを制御します。この設定は managed 設定でのみ構成でき、管理者にマーケットプレイスソースに対する厳密な制御を提供します。
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)でのみ利用可能 - ユーザーまたはプロジェクト設定でオーバーライドできません(最高優先度)
- ネットワーク/ファイルシステム操作の前に強制されます(ブロックされたソースは実行されません)
hostPatternとpathPatternを除き、ソース仕様に対して完全一致を使用します。hostPatternとpathPatternは正規表現マッチングを使用します
undefined(デフォルト):制限なし - ユーザーは任意のマーケットプレイスを追加できます- 空配列
[]:完全ロックダウン - ユーザーは新しいマーケットプレイスを追加できません - ソースのリスト:ユーザーは正確に一致するマーケットプレイスのみを追加できます
hostPattern と pathPattern はそれぞれマーケットプレイスホストとファイルシステムパスに対して正規表現マッチングを使用します。
- GitHub リポジトリ:
repo(必須)、ref(オプション:ブランチ/タグ/SHA)、path(オプション:サブディレクトリ)
- Git リポジトリ:
url(必須)、ref(オプション:ブランチ/タグ/SHA)、path(オプション:サブディレクトリ)
- URL ベースのマーケットプレイス:
url(必須)、headers(オプション:認証アクセス用の HTTP ヘッダー)
URL ベースのマーケットプレイスは
marketplace.json ファイルのみをダウンロードします。サーバーからプラグインファイルをダウンロードしません。URL ベースのマーケットプレイス内のプラグインは、相対パスではなく外部ソース(GitHub、npm、または git URL)を使用する必要があります。相対パスを持つプラグインの場合は、代わりに Git ベースのマーケットプレイスを使用します。詳細については トラブルシューティングを参照してください。- NPM パッケージ:
package(必須、スコープ付きパッケージをサポート)
- ファイルパス:
path(必須:marketplace.json ファイルへの絶対パス)
- ディレクトリパス:
path(必須:.claude-plugin/marketplace.json を含むディレクトリへの絶対パス)
- ホストパターンマッチング:
hostPattern(必須:マーケットプレイスホストに対してマッチする正規表現パターン)
各リポジトリを列挙することなく、特定のホストからすべてのマーケットプレイスを許可する場合は、ホストパターンマッチングを使用します。これは、開発者が独自のマーケットプレイスを作成する内部 GitHub Enterprise または GitLab サーバーを持つ組織に役立ちます。
ソースタイプ別のホスト抽出:
github:常にgithub.comに対してマッチgit:URL からホスト名を抽出(HTTPS と SSH 形式の両方をサポート)url:URL からホスト名を抽出npm、file、directory:ホストパターンマッチングではサポートされていません
- パスパターンマッチング:
pathPattern(必須:file および directory ソースの path フィールドに対してマッチする正規表現パターン)
ネットワークソースの hostPattern 制限と並行して、ファイルシステムベースのマーケットプレイスを許可するには、パスパターンマッチングを使用します。すべてのローカルパスを許可するには ".*" を設定するか、特定のディレクトリに制限するにはより狭いパターンを設定します。
構成例:
例:特定のマーケットプレイスのみを許可:
github と git)の場合、これはすべてのオプションフィールドを含みます:
repoまたはurlは正確に一致する必要がありますrefフィールドは正確に一致する必要があります(または両方が未定義)pathフィールドは正確に一致する必要があります(または両方が未定義)
extraKnownMarketplaces との比較:
| 側面 | strictKnownMarketplaces | extraKnownMarketplaces |
|---|---|---|
| 目的 | 組織ポリシーの強制 | チームの利便性 |
| 設定ファイル | managed-settings.json のみ | 任意の設定ファイル |
| 動作 | 許可されていない追加をブロック | 不足しているマーケットプレイスを自動インストール |
| 強制時期 | ネットワーク/ファイルシステム操作の前 | ユーザー信頼プロンプト後 |
| オーバーライド可能 | いいえ(最高優先度) | はい(高優先度設定による) |
| ソース形式 | 直接ソースオブジェクト | ネストされたソースを持つ名前付きマーケットプレイス |
| ユースケース | コンプライアンス、セキュリティ制限 | オンボーディング、標準化 |
strictKnownMarketplaces は直接ソースオブジェクトを使用します:
extraKnownMarketplaces は名前付きマーケットプレイスが必要です:
strictKnownMarketplaces はポリシーゲートです:ユーザーが追加できるものを制御しますが、マーケットプレイスを登録しません。マーケットプレイスを制限して事前登録するには、managed-settings.json で両方を設定します:
strictKnownMarketplaces のみが設定されている場合、ユーザーは /plugin marketplace add を通じて許可されたマーケットプレイスを手動で追加できますが、自動的には利用できません。
重要な注意:
- 制限はネットワークリクエストまたはファイルシステム操作の前にチェックされます
- ブロックされた場合、ユーザーはソースが managed ポリシーでブロックされていることを示す明確なエラーメッセージを表示します
- 制限はマーケットプレイスの追加およびプラグインのインストール、更新、リフレッシュ、および自動更新に対して強制されます。ポリシーが設定される前に追加されたマーケットプレイスは、そのソースがホワイトリストと一致しなくなると、プラグインのインストールまたは更新に使用できません
- Managed 設定は最高優先度を持ち、オーバーライドできません
strictPluginOnlyCustomization
Managed 設定のみ:skills、agents、hooks、および MCP サーバーをユーザーおよびプロジェクトソースからブロックするため、プラグインまたは managed 設定からのみ取得できます。strictKnownMarketplaces と組み合わせて、カスタマイズサプライチェーン全体を制御します:マーケットプレイスホワイトリストはユーザーがインストールできるプラグインを制御し、この設定はプラグインまたは managed 設定から来ていないすべてをブロックします。
strictPluginOnlyCustomization には Claude Code v2.1.82 以降が必要です。以前のバージョンはキーを無視し、ユーザーおよびプロジェクトのカスタマイズを読み込み続けるため、クライアントが更新されるまでロックダウンは強制されません。true、またはロックするサーフェスを名前付けする配列です:
| サーフェス | ロック時にブロック | 引き続き読み込み |
|---|---|---|
skills | ~/.claude/skills/、.claude/skills/ | プラグイン skills、バンドルされた skills、managed ポリシーディレクトリ内の skills |
agents | ~/.claude/agents/、.claude/agents/ | プラグイン agents、組み込み agents、managed ポリシーディレクトリ内の agents |
hooks | ユーザー、プロジェクト、およびローカル settings.json 内の Hooks | プラグイン hooks、managed 設定内の hooks |
mcp | ~/.claude.json および .mcp.json 内のサーバー | プラグイン MCP サーバー、managed-mcp.json サーバー |
プラグインの管理
/plugin コマンドを使用してプラグインを対話的に管理します:
- マーケットプレイスから利用可能なプラグインを参照
- プラグインをインストール/アンインストール
- プラグインを有効/無効にする
- プラグインの詳細を表示(提供される skills、agents、hooks)
- マーケットプレイスを追加/削除
環境変数
環境変数を使用すると、設定ファイルを編集することなく Claude Code の動作を制御できます。任意の変数は、すべてのセッションに適用するか、チームにロールアウトするためにsettings.json の env キーで構成することもできます。
完全なリストについては、環境変数リファレンスを参照してください。
Claude が利用できるツール
Claude Code は、ファイルの読み取り、編集、検索、コマンド実行、および subagents のオーケストレーション用のツールセットにアクセスできます。ツール名は、権限ルールと hook マッチャーで使用する正確な文字列です。 完全なリストと Bash ツール動作の詳細については、ツールリファレンスを参照してください。関連項目
- 権限:権限システム、ルール構文、ツール固有パターン、および managed ポリシー
- 認証:Claude Code へのユーザーアクセスをセットアップ
- 設定をデバッグする:設定、hook、または MCP サーバーが有効にならない理由を診断
- インストールとログインのトラブルシューティング:インストール、認証、およびプラットフォームの問題