/config コマンドを実行することで Claude Code を構成できます。これにより、ステータス情報を表示し、構成オプションを変更できるタブ付き設定インターフェースが開きます。
構成スコープ
Claude Code は、スコープシステムを使用して、構成がどこに適用され、誰と共有されるかを決定します。スコープを理解することで、個人使用、チーム協力、またはエンタープライズデプロイメント用に Claude Code を構成する方法を決定するのに役立ちます。利用可能なスコープ
| スコープ | 場所 | 影響を受けるユーザー | チームと共有? |
|---|---|---|---|
| Managed | サーバー管理設定、plist / レジストリ、またはシステムレベルの managed-settings.json | マシン上のすべてのユーザー | はい(IT により展開) |
| User | ~/.claude/ ディレクトリ | すべてのプロジェクト全体でのあなた | いいえ |
| Project | リポジトリ内の .claude/ | このリポジトリのすべてのコラボレーター | はい(git にコミット) |
| Local | .claude/settings.local.json | このリポジトリ内のあなたのみ | いいえ(gitignored) |
各スコープを使用する場合
Managed スコープは以下の用途です:- 組織全体で強制する必要があるセキュリティポリシー
- オーバーライドできないコンプライアンス要件
- IT/DevOps により展開される標準化された構成
- すべての場所で必要な個人設定(テーマ、エディター設定)
- すべてのプロジェクト全体で使用するツールとプラグイン
- API キーと認証(安全に保存)
- チーム共有設定(権限、hooks、MCP サーバー)
- チーム全体が持つべきプラグイン
- コラボレーター全体でのツール標準化
- 特定のプロジェクトの個人的なオーバーライド
- チームと共有する前に構成をテストする
- 他のユーザーには機能しないマシン固有の設定
スコープの相互作用
同じ設定が複数のスコープで構成されている場合、より具体的なスコープが優先されます:- Managed(最高) - 何によってもオーバーライドできない
- コマンドライン引数 - 一時的なセッションオーバーライド
- Local - プロジェクトとユーザー設定をオーバーライド
- Project - ユーザー設定をオーバーライド
- User(最低) - 他に何も設定を指定しない場合に適用
スコープを使用する機能
スコープは多くの 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 |
設定ファイル
settings.json ファイルは、階層的な設定を通じて Claude Code を構成するための公式メカニズムです:
-
ユーザー設定は
~/.claude/settings.jsonで定義され、すべてのプロジェクトに適用されます。 -
プロジェクト設定はプロジェクトディレクトリに保存されます:
.claude/settings.jsonソース管理にチェックインされ、チームと共有される設定用.claude/settings.local.jsonチェックインされない設定用。個人設定と実験に役立ちます。Claude Code は作成時に.claude/settings.local.jsonを無視するように git を構成します。
-
Managed 設定:集中管理が必要な組織向けに、Claude Code は managed 設定の複数の配信メカニズムをサポートしています。すべて同じ JSON 形式を使用し、ユーザー設定またはプロジェクト設定でオーバーライドできません:
- サーバー管理設定:Anthropic のサーバーから Claude.ai 管理コンソール経由で配信されます。サーバー管理設定を参照してください。
-
MDM/OS レベルのポリシー:macOS と Windows のネイティブデバイス管理を通じて配信されます:
- macOS:
com.anthropic.claudecodemanaged preferences ドメイン(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 リリースで追加された設定を含まない場合があるため、最近ドキュメント化されたフィールドの検証警告は、必ずしも構成が無効であることを意味しません。
利用可能な設定
settings.json は多くのオプションをサポートしています:
| キー | 説明 | 例 |
|---|---|---|
agent | メインスレッドを名前付き subagent として実行します。その subagent のシステムプロンプト、ツール制限、およびモデルを適用します。subagents を明示的に呼び出すを参照してください | "code-reviewer" |
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 コマンドを通じて構成されます | true |
apiKeyHelper | /bin/sh で実行される認証値を生成するカスタムスクリプト。この値は、モデルリクエストの X-Api-Key および Authorization: Bearer ヘッダーとして送信されます | /bin/generate_temp_api_key.sh |
attribution | git コミットとプルリクエストの属性をカスタマイズします。属性設定を参照してください | {"commit": "🤖 Generated with Claude Code", "pr": ""} |
autoMemoryDirectory | 自動メモリストレージ用のカスタムディレクトリ。~/ 展開パスを受け入れます。プロジェクト設定(.claude/settings.json)では受け入れられません。共有リポジトリがメモリ書き込みを機密の場所にリダイレクトするのを防ぐため。ポリシー、ローカル、およびユーザー設定から受け入れられます | "~/my-memory-dir" |
autoMode | 自動モード分類器がブロックおよび許可するものをカスタマイズします。environment、allow、および soft_deny 配列の散文ルールを含みます。自動モード分類器を構成を参照してください。共有プロジェクト設定から読み込まれません | {"environment": ["Trusted repo: github.example.com/acme"]} |
autoUpdatesChannel | 更新に従うリリースチャネル。約 1 週間古いバージョンで、大きな回帰のあるバージョンをスキップする "stable" を使用するか、最新リリースの "latest"(デフォルト)を使用します | "stable" |
availableModels | /model、--model、Config ツール、または ANTHROPIC_MODEL を通じてユーザーが選択できるモデルを制限します。デフォルトオプションには影響しません。モデル選択を制限を参照してください | ["sonnet", "haiku"] |
awsAuthRefresh | .aws ディレクトリを変更するカスタムスクリプト(高度な認証情報構成を参照) | aws sso login --profile myprofile |
awsCredentialExport | AWS 認証情報を含む JSON を出力するカスタムスクリプト(高度な認証情報構成を参照) | /bin/generate_aws_grant.sh |
blockedMarketplaces | (Managed 設定のみ)マーケットプレイスソースのブロックリスト。ブロックされたソースはダウンロード前にチェックされるため、ファイルシステムに触れることはありません。Managed マーケットプレイス制限を参照してください | [{ "source": "github", "repo": "untrusted/plugins" }] |
channelsEnabled | (Managed 設定のみ)Team および Enterprise ユーザーに対してチャネルを許可します。未設定または false は、ユーザーが --channels に渡すものに関係なく、チャネルメッセージ配信をブロックします | true |
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"(デフォルト)または "powershell" を受け入れます。"powershell" を設定すると、インタラクティブ ! コマンドが Windows 上の PowerShell を通じてルーティングされます。CLAUDE_CODE_USE_POWERSHELL_TOOL=1 が必要です。PowerShell ツールを参照してください | "powershell" |
deniedMcpServers | managed-settings.json で設定されている場合、明示的にブロックされた MCP サーバーの拒否リスト。managed サーバーを含むすべてのスコープに適用されます。拒否リストがホワイトリストよりも優先されます。Managed MCP 構成を参照してください | [{ "serverName": "filesystem" }] |
disableAllHooks | すべての hooks とカスタム ステータスラインを無効にします | true |
disableAutoMode | 自動モードの有効化を防ぐために "disable" に設定します。Shift+Tab サイクルから auto を削除し、起動時に --permission-mode auto を拒否します。managed 設定で最も役立ちます。ユーザーはこれをオーバーライドできません | "disable" |
disableDeepLinkRegistration | Claude Code が起動時にオペレーティングシステムで claude-cli:// プロトコルハンドラーを登録するのを防ぐために "disable" に設定します。ディープリンクを使用すると、外部ツールは claude-cli://open?q=... を通じて事前入力されたプロンプトで Claude Code セッションを開くことができます。q パラメータは URL エンコードされた改行(%0A)を使用した複数行プロンプトをサポートしています。プロトコルハンドラー登録が制限されているか、別途管理されている環境で役立ちます | "disable" |
disabledMcpjsonServers | .mcp.json ファイルから拒否する特定の MCP サーバーのリスト | ["filesystem"] |
disableSkillShellExecution | skills およびユーザー、プロジェクト、プラグイン、または追加ディレクトリソースからのカスタムコマンド内の !`...` および ```! ブロックのインラインシェル実行を無効にします。コマンドは実行される代わりに [shell command execution disabled by policy] に置き換えられます。バンドルされた skills および managed skills は影響を受けません。managed 設定で最も役立ちます。ユーザーはこれをオーバーライドできません | true |
effortLevel | 努力レベルをセッション全体で永続化します。"low"、"medium"、"high"、または "xhigh" を受け入れます。これらの値のいずれかで /effort を実行すると自動的に書き込まれます。努力レベルを調整でサポートされているモデルを参照してください | "xhigh" |
enableAllProjectMcpServers | プロジェクト .mcp.json ファイルで定義されたすべての MCP サーバーを自動的に承認します | true |
enabledMcpjsonServers | .mcp.json ファイルから承認する特定の MCP サーバーのリスト | ["memory", "github"] |
env | すべてのセッションに適用される環境変数 | {"FOO": "bar"} |
fastModePerSessionOptIn | true の場合、高速モードはセッション全体で永続化されません。各セッションは高速モードがオフで開始され、ユーザーが /fast で有効にする必要があります。ユーザーの高速モード設定は引き続き保存されます。セッションごとのオプトインを要求を参照してください | true |
feedbackSurveyRate | セッション品質調査が適格な場合に表示される確率(0~1)。完全に抑制するには 0 に設定します。Bedrock、Vertex、または Foundry を使用する場合に役立ちます。デフォルトのサンプルレートは適用されません | 0.05 |
fileSuggestion | @ ファイルオートコンプリート用のカスタムスクリプトを構成します。ファイル提案設定を参照してください | {"type": "command", "command": "~/.claude/file-suggestion.sh"} |
forceLoginMethod | claudeai を使用して Claude.ai アカウントへのログインを制限するか、console を使用して Claude Console(API 使用量請求)アカウントへのログインを制限します | claudeai |
forceLoginOrgUUID | ログインが特定の組織に属することを要求します。単一の UUID 文字列を受け入れます。これはログイン中に自動的にその組織を事前選択するか、リストされた組織のいずれかが受け入れられる UUID の配列を受け入れます。事前選択なし。managed 設定で設定されている場合、認証されたアカウントがリストされた組織に属していない場合、ログインは失敗します。空配列は失敗して閉じられ、ログインを設定ミスメッセージでブロックします | "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" または ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"] |
forceRemoteSettingsRefresh | (Managed 設定のみ)リモート managed 設定がサーバーから新しく取得されるまで CLI スタートアップをブロックします。フェッチが失敗した場合、キャッシュされた設定または設定なしで続行するのではなく、CLI は終了します。設定されていない場合、スタートアップはリモート設定を待たずに続行します。fail-closed 強制を参照してください | true |
hooks | ライフサイクルイベントで実行するカスタムコマンドを構成します。形式については hooks ドキュメントを参照してください | hooksを参照 |
httpHookAllowedEnvVars | HTTP hooks がヘッダーに補間できる環境変数名のホワイトリスト。設定されている場合、各 hook の有効な allowedEnvVars はこのリストとの交差です。未定義 = 制限なし。設定ソース全体で配列がマージされます。Hook 構成を参照してください | ["MY_TOKEN", "HOOK_SECRET"] |
includeCoAuthoredBy | 非推奨:代わりに attribution を使用してください。git コミットとプルリクエストに co-authored-by Claude バイラインを含めるかどうか(デフォルト:true) | false |
includeGitInstructions | Claude のシステムプロンプトに組み込みコミットおよび PR ワークフロー命令と git ステータススナップショットを含めます(デフォルト:true)。たとえば、独自の git ワークフロースキルを使用する場合は、これらの命令を削除するために false に設定します。CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS 環境変数が設定されている場合、この設定よりも優先されます | false |
language | Claude の優先応答言語を構成します(例:"japanese"、"spanish"、"french")。Claude はデフォルトでこの言語で応答します。また、音声ディクテーション言語も設定します | "japanese" |
minimumVersion | 自動アップデーターが特定のバージョン以下にダウングレードするのを防止します。安定チャネルに切り替えて、安定版が追いつくまで現在のバージョンに留まることを選択するときに自動的に設定されます。autoUpdatesChannel で使用されます | "2.1.85" |
model | Claude Code に使用するデフォルトモデルをオーバーライドします | "claude-sonnet-4-6" |
modelOverrides | Anthropic モデル ID を Bedrock 推論プロファイル ARN などのプロバイダー固有のモデル ID にマップします。各モデルピッカーエントリは、プロバイダー API を呼び出すときにマップされた値を使用します。バージョンごとにモデル ID をオーバーライドを参照してください | {"claude-opus-4-6": "arn:aws:bedrock:..."} |
otelHeadersHelper | 動的 OpenTelemetry ヘッダーを生成するスクリプト。起動時および定期的に実行されます(動的ヘッダーを参照) | /bin/generate_otel_headers.sh |
outputStyle | システムプロンプトを調整するための出力スタイルを構成します。出力スタイルドキュメントを参照してください | "Explanatory" |
permissions | 権限の構造については、以下の表を参照してください。 | |
plansDirectory | プランファイルが保存される場所をカスタマイズします。パスはプロジェクトルートに相対的です。デフォルト:~/.claude/plans | "./plans" |
pluginTrustMessage | (Managed 設定のみ)インストール前に表示されるプラグイン信頼警告に追加されるカスタムメッセージ。これを使用して、組織固有のコンテキストを追加します。たとえば、内部マーケットプレイスからのプラグインが検証されていることを確認します。 | "All plugins from our marketplace are approved by IT" |
prefersReducedMotion | アクセシビリティのために UI アニメーション(スピナー、シマー、フラッシュエフェクト)を削減または無効にします | true |
respectGitignore | @ ファイルピッカーが .gitignore パターンを尊重するかどうかを制御します。true(デフォルト)の場合、.gitignore パターンに一致するファイルは提案から除外されます | false |
showClearContextOnPlanAccept | プラン受け入れ画面に「コンテキストをクリア」オプションを表示します。デフォルトは false です。true に設定してオプションを復元します | true |
showThinkingSummaries | 拡張思考サマリーをインタラクティブセッションに表示します。未設定または false(インタラクティブモードのデフォルト)の場合、思考ブロックは API によって編集され、折りたたまれたスタブとして表示されます。編集は表示内容のみを変更し、モデルが生成するものは変更しません:思考支出を削減するには、予算を低下させるか思考を無効にする代わりに。非インタラクティブモード(-p)と SDK 呼び出し元は、この設定に関係なく常にサマリーを受け取ります | true |
spinnerTipsEnabled | Claude が作業中にスピナーにヒントを表示します。ヒントを無効にするには false に設定します(デフォルト:true) | false |
spinnerTipsOverride | スピナーヒントをカスタム文字列でオーバーライドします。tips:ヒント文字列の配列。excludeDefault:true の場合、カスタムヒントのみを表示します。false または不在の場合、カスタムヒントは組み込みヒントとマージされます | { "excludeDefault": true, "tips": ["Use our internal tool X"] } |
spinnerVerbs | スピナーとターン期間メッセージに表示されるアクション動詞をカスタマイズします。mode を "replace" に設定して動詞のみを使用するか、"append" に設定してデフォルトに追加します | {"mode": "append", "verbs": ["Pondering", "Crafting"]} |
statusLine | コンテキストを表示するカスタムステータスラインを構成します。statusLine ドキュメントを参照してください | {"type": "command", "command": "~/.claude/statusline.sh"} |
strictKnownMarketplaces | managed-settings.json で設定されている場合、ユーザーが追加できるプラグインマーケットプレイスのホワイトリスト。未定義 = 制限なし、空配列 = ロックダウン。マーケットプレイス追加のみに適用されます。Managed マーケットプレイス制限を参照してください | [{ "source": "github", "repo": "acme-corp/plugins" }] |
useAutoModeDuringPlan | プラン モードが自動モードが利用可能な場合に自動モードセマンティクスを使用するかどうか。デフォルト:true。共有プロジェクト設定から読み込まれません。/config に「プラン中に自動モードを使用」として表示されます | false |
viewMode | 起動時のデフォルトトランスクリプトビューモード:"default"、"verbose"、または "focus"。設定されている場合、スティッキー Ctrl+O 選択をオーバーライドします | "verbose" |
voiceEnabled | プッシュトゥトーク音声ディクテーションを有効にします。/voice を実行すると自動的に書き込まれます。Claude.ai アカウントが必要です | true |
グローバル構成設定
これらの設定はsettings.json ではなく ~/.claude.json に保存されます。これらを settings.json に追加すると、スキーマ検証エラーがトリガーされます。
| キー | 説明 | 例 |
|---|---|---|
autoConnectIde | Claude Code が外部ターミナルから起動するときに、実行中の IDE に自動的に接続します。デフォルト:false。VS Code または JetBrains ターミナルの外で実行する場合、/config に**IDE に自動接続(外部ターミナル)**として表示されます | true |
autoInstallIdeExtension | VS Code ターミナルから実行するときに Claude Code IDE 拡張機能を自動的にインストールします。デフォルト:true。VS Code または JetBrains ターミナル内で実行する場合、/config にIDE 拡張機能を自動インストールとして表示されます。CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL環境変数を設定することもできます | false |
editorMode | 入力プロンプトのキーバインディングモード:"normal" または "vim"。デフォルト:"normal"。/config にエディターモードとして表示されます | "vim" |
showTurnDuration | レスポンス後のターン期間メッセージを表示します(例:「Cooked for 1m 6s」)。デフォルト:true。/config にターン期間を表示として表示されます | false |
terminalProgressBarEnabled | サポートされているターミナルでターミナル進行状況バーを表示します:ConEmu、Ghostty 1.2.0 以降、および iTerm2 3.6.6 以降。デフォルト:true。/config にターミナル進行状況バーとして表示されます | false |
teammateMode | エージェントチームチームメイトの表示方法:auto(tmux または iTerm2 で分割ペインを選択、それ以外の場合はインプロセス)、in-process、または tmux。表示モードを選択を参照してください | "in-process" |
Worktree 設定
--worktree が git worktrees を作成および管理する方法を構成します。これらの設定を使用して、大規模なモノレポのディスク使用量とスタートアップ時間を削減します。
| キー | 説明 | 例 |
|---|---|---|
worktree.symlinkDirectories | メインリポジトリから各 worktree にシンボリックリンクするディレクトリ。ディスク上の大規模なディレクトリの重複を避けるため。デフォルトではディレクトリはシンボリックリンクされません | ["node_modules", ".cache"] |
worktree.sparsePaths | git sparse-checkout(cone モード)を通じて各 worktree でチェックアウトするディレクトリ。リストされたパスのみがディスクに書き込まれます。大規模なモノレポではより高速です | ["packages/my-app", "shared/utils"] |
.env など)を新しい worktrees にコピーするには、設定の代わりにプロジェクトルートの .worktreeinclude ファイルを使用します。
権限設定
| キー | 説明 | 例 |
|---|---|---|
allow | ツール使用を許可する権限ルールの配列。パターンマッチングの詳細については、以下の権限ルール構文を参照してください | [ "Bash(git diff *)" ] |
ask | ツール使用時に確認を求める権限ルールの配列。権限ルール構文を参照してください | [ "Bash(git push *)" ] |
deny | ツール使用を拒否する権限ルールの配列。これを使用して、機密ファイルを Claude Code アクセスから除外します。権限ルール構文と Bash 権限制限を参照してください | [ "WebFetch", "Bash(curl *)", "Read(./.env)", "Read(./secrets/**)" ] |
additionalDirectories | Claude がアクセスできる追加の作業ディレクトリ | [ "../docs/" ] |
defaultMode | Claude Code を開くときのデフォルト権限モード。有効な値:default、acceptEdits、plan、auto、dontAsk、bypassPermissions。--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 |
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.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 |
サンドボックスパスプレフィックス
filesystem.allowWrite、filesystem.denyWrite、filesystem.denyRead、および filesystem.allowRead のパスは、これらのプレフィックスをサポートしています:
| プレフィックス | 意味 | 例 |
|---|---|---|
/ | ファイルシステムルートからの絶対パス | /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 | プルリクエストの説明の属性。空の文字列はプルリクエスト属性を非表示にします |
attribution 設定は非推奨の includeCoAuthoredBy 設定よりも優先されます。すべての属性を非表示にするには、commit と pr を空の文字列に設定します。ファイル提案設定
@ ファイルパスオートコンプリート用のカスタムコマンドを構成します。組み込みファイル提案は高速ファイルシステムトラバーサルを使用しますが、大規模なモノレポは事前構築されたファイルインデックスやカスタムツールなどのプロジェクト固有のインデックスから利益を得る可能性があります。
CLAUDE_PROJECT_DIR を含む)で実行されます。query フィールドを含む JSON を stdin 経由で受け取ります:
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 はサイレントにブロックされます。
allowedEnvVars はこの設定との交差です。
設定の優先度
設定は優先度の順に適用されます。最高から最低:-
Managed 設定(サーバー管理、MDM/OS レベルのポリシー、または managed 設定)
- IT がサーバー配信、MDM 構成プロファイル、レジストリポリシー、または managed 設定ファイルを通じて展開するポリシー
- コマンドラインの引数を含む他のレベルでオーバーライドできません
- managed ティア内では、優先度は:サーバー管理 > MDM/OS レベルのポリシー > ファイルベース(
managed-settings.d/*.json+managed-settings.json)> HKCU レジストリ(Windows のみ)です。1 つの managed ソースのみが使用されます。ソースはマージされません。ファイルベースティア内では、ドロップインファイルとベースファイルがマージされます。
-
コマンドラインの引数
- 特定のセッションの一時的なオーバーライド
-
ローカルプロジェクト設定(
.claude/settings.local.json)- 個人的なプロジェクト固有の設定
-
共有プロジェクト設定(
.claude/settings.json)- ソース管理内のチーム共有プロジェクト設定
-
ユーザー設定(
~/.claude/settings.json)- 個人的なグローバル設定
Bash(npm run *) を許可しているが、プロジェクトの共有設定がそれを拒否している場合、プロジェクト設定が優先され、コマンドはブロックされます。
配列設定はスコープ全体でマージされます。 同じ配列値の設定(
sandbox.filesystem.allowWrite や permissions.allow など)が複数のスコープに表示される場合、配列は連結および重複排除され、置き換えられません。これは、低優先度のスコープが高優先度のスコープで設定されたエントリをオーバーライドすることなくエントリを追加でき、その逆も同様です。たとえば、managed 設定が allowWrite を ["/opt/company-tools"] に設定し、ユーザーが ["~/.kube"] を追加する場合、両方のパスが最終構成に含まれます。アクティブな設定を確認
Claude Code 内で/status を実行して、どの設定ソースがアクティブで、どこから来ているかを確認します。出力は、Enterprise managed settings (remote)、Enterprise managed settings (plist)、Enterprise managed settings (HKLM)、または Enterprise managed settings (file) などの出所を含む各構成レイヤー(managed、ユーザー、プロジェクト)を表示します。設定ファイルにエラーが含まれている場合、/status は問題を報告して修正できるようにします。
構成システムの重要なポイント
- メモリファイル(
CLAUDE.md):Claude が起動時に読み込む命令とコンテキストを含みます - 設定ファイル(JSON):権限、環境変数、およびツール動作を構成します
- Skills:
/skill-nameで呼び出すか、Claude によって自動的に読み込むことができるカスタムプロンプト - MCP サーバー:追加のツールと統合で Claude Code を拡張します
- 優先度:高レベルの構成(Managed)が低レベルの構成(User/Project)をオーバーライドします
- 継承:設定はマージされ、より具体的な設定がより広い設定に追加またはオーバーライドされます
システムプロンプト
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
スコープ:
- ユーザー設定(
~/.claude/settings.json):個人的なプラグイン設定 - プロジェクト設定(
.claude/settings.json):チームと共有されるプロジェクト固有のプラグイン - ローカル設定(
.claude/settings.local.json):マシンごとのオーバーライド(コミットされない) - Managed 設定(
managed-settings.json):すべてのスコープでのインストールをブロックし、マーケットプレイスからプラグインを非表示にする組織全体のポリシーオーバーライド
extraKnownMarketplaces
リポジトリで利用可能にする必要がある追加のマーケットプレイスを定義します。通常、リポジトリレベルの設定で使用され、チームメンバーが必要なプラグインソースにアクセスできることを確認します。
リポジトリが extraKnownMarketplaces を含む場合:
- チームメンバーはフォルダを信頼するときにマーケットプレイスをインストールするよう求められます
- チームメンバーはそのマーケットプレイスからプラグインをインストールするよう求められます
- ユーザーは不要なマーケットプレイスまたはプラグインをスキップできます(ユーザー設定に保存)
- インストールは信頼境界を尊重し、明示的な同意が必要です
github:GitHub リポジトリ(repoを使用)git:任意の git URL(urlを使用)directory:ローカルファイルシステムパス(開発のみ、pathを使用)hostPattern:マーケットプレイスホストに一致する正規表現パターン(hostPatternを使用)settings:ホストされたリポジトリなしで settings.json に直接宣言されたインラインマーケットプレイス(nameとpluginsを使用)
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を除き、ソース仕様に対して完全一致を使用します。hostPatternは正規表現マッチングを使用します
undefined(デフォルト):制限なし - ユーザーは任意のマーケットプレイスを追加できます- 空配列
[]:完全ロックダウン - ユーザーは新しいマーケットプレイスを追加できません - ソースのリスト:ユーザーは正確に一致するマーケットプレイスのみを追加できます
hostPattern はマーケットプレイスホストに対して正規表現マッチングを使用します。
- 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:ホストパターンマッチングではサポートされていません
github と git)の場合、これはすべてのオプションフィールドを含みます:
repoまたはurlは正確に一致する必要がありますrefフィールドは正確に一致する必要があります(または両方が未定義)pathフィールドは正確に一致する必要があります(または両方が未定義)
extraKnownMarketplaces との比較:
| 側面 | strictKnownMarketplaces | extraKnownMarketplaces |
|---|---|---|
| 目的 | 組織ポリシーの強制 | チームの利便性 |
| 設定ファイル | managed-settings.json のみ | 任意の設定ファイル |
| 動作 | 許可されていない追加をブロック | 不足しているマーケットプレイスを自動インストール |
| 強制時期 | ネットワーク/ファイルシステム操作の前 | ユーザー信頼プロンプト後 |
| オーバーライド可能 | いいえ(最高優先度) | はい(高優先度設定による) |
| ソース形式 | 直接ソースオブジェクト | ネストされたソースを持つ名前付きマーケットプレイス |
| ユースケース | コンプライアンス、セキュリティ制限 | オンボーディング、標準化 |
strictKnownMarketplaces は直接ソースオブジェクトを使用します:
extraKnownMarketplaces は名前付きマーケットプレイスが必要です:
strictKnownMarketplaces はポリシーゲートです:ユーザーが追加できるものを制御しますが、マーケットプレイスを登録しません。マーケットプレイスを制限して事前登録するには、managed-settings.json で両方を設定します:
strictKnownMarketplaces のみが設定されている場合、ユーザーは /plugin marketplace add を通じて許可されたマーケットプレイスを手動で追加できますが、自動的には利用できません。
重要な注意:
- 制限はネットワークリクエストまたはファイルシステム操作の前にチェックされます
- ブロックされた場合、ユーザーはソースが managed ポリシーでブロックされていることを示す明確なエラーメッセージを表示します
- 制限は新しいマーケットプレイスの追加にのみ適用されます。以前にインストールされたマーケットプレイスはアクセス可能なままです
- Managed 設定は最高優先度を持ち、オーバーライドできません
プラグインの管理
/plugin コマンドを使用してプラグインを対話的に管理します:
- マーケットプレイスから利用可能なプラグインを参照
- プラグインをインストール/アンインストール
- プラグインを有効/無効にする
- プラグインの詳細を表示(提供されるコマンド、エージェント、hooks)
- マーケットプレイスを追加/削除
環境変数
環境変数を使用すると、設定ファイルを編集することなく Claude Code の動作を制御できます。任意の変数は、すべてのセッションに適用するか、チームにロールアウトするためにsettings.json の env キーで構成することもできます。
完全なリストについては、環境変数リファレンスを参照してください。
Claude が利用できるツール
Claude Code は、ファイルの読み取り、編集、検索、コマンド実行、および subagents のオーケストレーション用のツールセットにアクセスできます。ツール名は、権限ルールと hook マッチャーで使用する正確な文字列です。 完全なリストと Bash ツール動作の詳細については、ツールリファレンスを参照してください。関連項目
- 権限:権限システム、ルール構文、ツール固有パターン、および managed ポリシー
- 認証:Claude Code へのユーザーアクセスをセットアップ
- トラブルシューティング:一般的な構成の問題の解決策