マネージド設定をデプロイする
すべての開発者のマシンにマネージド設定をデプロイします。OS ごとの配信メカニズム、Claude Code がマネージドソースを組み合わせる方法、および強制の検証方法について説明します。
マネージド設定は、組織がすべての開発者のマシンにデプロイする設定です。Claude Code はこれらを他のすべてのレベルの上に適用するため、ユーザー、プロジェクト、ローカル、または --settings の値は、いくつかの セキュリティに関連する例外 を除いて、これらをオーバーライドできません。これらの例外では、下位レベルからのより厳密な値がカウントされます。
このページは、マネージド設定をデプロイするか、設定が適用されない理由をデバッグする管理者向けです。強制する内容を決定するには、強制する内容を決定する テーブルから始めてください。claude.ai コンソールパスについては、サーバーマネージド設定 を参照してください。開発者自身の値がどのファイルに入るかについては、設定 を参照してください。
マネージド設定ファイルをデプロイする
これは各マシンにポリシーを配置する最速の方法です。managed-settings.json ファイルです。マネージド設定の配信方法をまだ選択していない場合、またはデバイスが MDM 下にあるか開発者がクラウドセッションを実行している場合は、最初に 配信メカニズムを選択する を読んでください。
managed-settings.json を作成する
強制することを決定したキーを保持する managed-settings.json を作成します。これは settings.json と同じ JSON 形式です。強制する内容を決定する テーブルは各コントロールの背後にあるキーをリストしており、設定リファレンス の各エントリは、マネージドソースがそれを設定できるかどうかを示しています。このファイルは 2 つのファイル読み取りをブロックし、バイパスモードをオフにし、Claude Code がユーザー、プロジェクト、ローカルファイルおよび --allowedTools からの権限ルールを無視するようにします。
{
"permissions": {
"deny": [
"Read(./.env)",
"Read(./secrets/**)"
],
"disableBypassPermissionsMode": "disable"
},
"allowManagedPermissionRulesOnly": true
}
ログイン方法、モデル、MCP サーバー、マーケットプレイスを含むより多くのマネージドキーの形状を示すより完全な例については、組織のマネージド設定 を参照してください。
ファイルを各マシンに配置する
ファイルを managed-settings.json として、オペレーティングシステムのシステムディレクトリに保存します。フリート上のファイルを配置するために既に使用しているツールを使用します。
- macOS:
/Library/Application Support/ClaudeCode/managed-settings.json - Linux と WSL:
/etc/claude-code/managed-settings.json - Windows:
C:\Program Files\ClaudeCode\managed-settings.json
ポリシーが適用されたことを確認する
1 つのマシンで、Claude Code 内で /status を実行します。Setting sources 行は Enterprise managed settings (file) を表示します。その後、フリートの残りにロールアウトします。ポリシーが有効であることを確認する は、行が見つからない場合に何を確認するかについて説明しています。
配信メカニズムを選択する
上記のステップのファイルは、マネージド設定をマシンに取得する 4 つの方法の 1 つです。すべてのメカニズムは settings.json ファイルと同じポリシーキーを持つため、設定リファレンス はすべてに適用されます。いくつかのキーは特定のソースに関連付けられており、各エントリの Scope 行はどれかを示しています。
- 配信コントロール:
policyHelper、wslInheritsWindowsSettings、およびmanagedSourcesBehavior - ゲートウェイログインキー:
forceLoginGatewayUrlおよびforceLoginMethodの"gateway"値
マネージド設定ファイル、MDM プロファイル、または claude.ai コンソールは、それが到達するすべてのユーザーに 1 つのポリシーを適用します。開発者の 1 つのグループに異なるポリシーを提供するには、異なるファイルまたはプロファイルをそのグループにデプロイします。claude.ai コンソール はまだグループをターゲットにできません。一方、自己ホスト型の Claude apps gateway は IdP グループごとにマネージド設定を配信します。
複数のメカニズムが同じマシンにポリシーを配信する場合、Claude Code はデフォルトで 1 つを使用し、他を無視します。Claude Code がマネージドソースを組み合わせる方法 は順序と適用される opt-in を示しています。
MDM とファイル行は一緒に endpoint-managed settings と呼ばれます。ポリシーが開発者のデバイスに保存されているためです。これは server-managed 行とは対照的です。Claude Code はそれをフェッチします。
下記のテーブルを使用して、デバイスを既に管理している方法に基づいてメカニズムを選択してください。
| メカニズム | 配信方法 | Claude Code がそれを読む時期 | 使用する場合 |
|---|---|---|---|
| サーバーマネージド設定 | claude.ai 管理コンソール内、または自己ホスト型 Claude apps gateway 上 | スタートアップ時にフェッチされ、1 時間ごとにポーリングされます。ポリシーが適用される場所と時期 を参照してください | 各マシンに触れずに claude.ai 組織のポリシーを変更する 1 つの場所が必要な場合 |
| MDM または OS レベルのポリシー | macOS 構成プロファイルまたは Windows HKLM レジストリ値として、Jamf、Intune、グループポリシー、または同様のツール経由。各メカニズムがポリシーを保存する場所 を参照してください |
スタートアップ時に読み取られ、30 分ごとに変更がチェックされます | MDM またはグループポリシーでデバイスを既に管理している場合 |
| ファイルベース | 各マシンのシステムディレクトリ内の managed-settings.json として。各メカニズムがポリシーを保存する場所 を参照してください |
スタートアップ時に読み取られ、ファイルが変更されるとリロードされます | MDM なしのマシン、Linux ホスト、または自分で構築するイメージ |
| HKCU レジストリ、Windows と WSL | Windows HKCU レジストリ値として。各メカニズムがポリシーを保存する場所 を参照してください |
スタートアップ時に読み取られ、30 分ごとに変更がチェックされます。Claude Code はそれを使用するのは、他のマネージドソースがポリシーキーを配信せず、ホスト提供の親設定 が制限的なキーを提供しない場合のみです | マシンレベルの HKLM キーを書き込むことができない場合 |
Jamf、Iru、Intune、グループポリシーのスターターテンプレートは、MDM 例リポジトリ にあります。
managed-mcp.json を通じてデプロイするか、managedMcpServers キーを通じて提供するマネージド MCP サーバーについては、マネージド MCP 構成 を参照してください。
ポリシーが適用される場所と時期
デプロイされたポリシーは、開発者のセッションに次のように到達します。
-
サーフェス: 開発者のマシン上で、ターミナル、VS Code および JetBrains 拡張機能、デスクトップアプリの Code タブ、および Agent SDK セッションはこれらのソースをすべて読み取ります。Agent SDK セッションは、
settingSourcesがユーザー、プロジェクト、ローカルファイルを除外する場合でも、マネージド設定をロードします。 -
クラウドセッション: Anthropic ホスト環境のセッションはデバイスの MDM プロファイルまたはファイルを読み取らないため、ポリシーはサーバーマネージド設定から来る必要があります。自己ホスト環境 のセッションは、デフォルトではサーバーマネージド設定がポリシーキーを配信しない場合のみ、ランナーイメージ内のマネージド設定ファイルを読み取ります。ただし、すべての管理ソースから Claude Code が読み取るキー は除きます。Claude Code がマネージドソースを組み合わせる方法 は両方を適用する opt-in について説明しています。
-
Cowork セッション: Claude Desktop アプリの Cowork は Claude Code 上でセッションを実行します。Cowork セッションでは、Claude Code は Team または Enterprise アカウントでユーザーがサインインしている場合でも、claude.ai 管理コンソールからサーバーマネージド設定をフェッチしません。したがって、どのポリシーが適用されるかはセッションが実行される場所によって異なります。
- ユーザーのマシン上: デフォルトでは、Cowork セッションの Claude Code はそのデバイス上の MDM または OS レベルのポリシーおよびマネージド設定ファイルを読み取るため、ポリシーをそこにデプロイします。
- 完全な VM サンドボックス内: Claude Desktop マネージド構成が
requireCoworkFullVmSandboxを設定する場合、Claude Code は仮想マシン内で実行され、デバイスの MDM ポリシーおよびマネージド設定ファイルは存在しません。 - リモート Cowork セッション: これらは Anthropic 管理 VM 上で実行され、Claude Code はデバイスポリシーを読み取ることができません。
サーフェスカバレッジ テーブルは Cowork と他のサーフェスを比較しています。
-
実行中のセッション: ほとんどの変更は、配信メカニズムテーブル のスケジュールに従って、再起動なしで実行中のセッションに到達します。
forceRemoteSettingsRefresh、requiredMinimumVersion、および いくつかのユーザー編集可能キー への変更は、次のセッション開始時に有効になります。- 新規または変更された
policyHelperエントリは次の起動時に有効になります。ただし、起動時にサーバーマネージド設定によってシャドウされたヘルパーは、フェッチがそれらの設定が削除されたことを報告するとすぐに実行されます。
-
承認が必要な変更: 次の起動を待つ更新 とは別に、承認が必要な 設定(フックまたは
env変数など)へのサーバーマネージド変更は、開発者がインタラクティブセッションでダイアログを受け入れるのを待ち、IDE 拡張機能または Agent SDK がホストするセッションの現在の実行に適用されます。その他のサーバーマネージド変更は次のポーリングで適用されます。 -
長時間実行セッション: 数週間開いたままのセッションはロールアウトに遅れることができます。
requiredMinimumVersionは古いバイナリが開始されるのをブロックし、既に実行中のセッションを終了しません。
各メカニズムがポリシーを保存する場所
キーはどこでも同じですが、各メカニズムはそれらを異なる場所と形状に保存します。
- サーバーマネージド: Anthropic のサーバーまたはゲートウェイがポリシーを保持します。Claude Code はローカルキャッシュを保持し、スタートアップ時に適用し、各成功したフェッチで置き換えます。
- macOS 構成プロファイル:
com.anthropic.claudecodeマネージド設定ドメイン。managed-settings.jsonと同じトップレベルキーを使用し、ネストされた設定は辞書として、リストは plist 配列として使用します。 - Windows HKLM レジストリ:
HKLM\SOFTWARE\Policies\ClaudeCodeの下のSettingsという名前のREG_SZまたはREG_EXPAND_SZ値として JSON。 - ファイルベース:
managed-settings.json、オプションのmanaged-settings.d/ディレクトリ、およびmanaged-mcp.jsonをシステムディレクトリに配置します。macOS では/Library/Application Support/ClaudeCode/、Linux と WSL では/etc/claude-code/、Windows ではC:\Program Files\ClaudeCode\。Claude Code はレガシー Windows パスC:\ProgramData\ClaudeCode\managed-settings.jsonを読み取りません。 - Windows HKCU レジストリ:
HKCU\SOFTWARE\Policies\ClaudeCodeの下の同じSettings値。
ファイルベースのポリシーをチーム間で分割する
複数のチームが 1 つのポリシーの一部を所有している場合、各部分を managed-settings.d/ 内の独自のファイルに配置します。同じシステムディレクトリ内の managed-settings.json の隣に配置し、1 つの共有ファイルを編集する代わりに使用します。
Claude Code は managed-settings.json を最初にマージし、次にディレクトリ内のすべての *.json ファイルをアルファベット順にマージします。ファイルに数値プレフィックスを付けて順序を制御します。例えば 10-telemetry.json と 20-security.json。Claude Code は隠しファイルと .json で終わらないファイルを無視します。
2 つのファイルが同じキーを設定する場合、Claude Code はこれらのルールで組み合わせます。
- 単一値(
"model": "opus"または"cleanupPeriodDays": 7など): 後のファイルの値が前のファイルを置き換えます - リスト(
permissions.denyまたはsandbox.network.allowedDomainsなど): 2 つのリストが組み合わされ、重複が削除されます - ネストされたブロック(
envまたはsandboxなど): 2 つのブロックはキーごとにマージされ、内部の各キーはこれらの同じルールに従います fallbackModel: 後のチェーンが前のチェーン全体を置き換えますextraKnownMarketplacesおよびmanagedMcpServers: 同じ名前の後のエントリが前のエントリ全体を置き換えますmodelPicker: 後のラインアップが前のラインアップ全体を置き換えます
Claude Code がマネージドソースを組み合わせる方法
組織が同じマシンに複数のマネージドソースを配信する場合、managedSourcesBehavior キーは Claude Code が他のソースで何をするかを決定します。
"first-wins"、デフォルト: Claude Code は少なくとも 1 つのポリシーキーを配信する最高ランクのソースを使用し、すべての管理ソースから読み取るキー の少数を除いて、残りを無視します。Claude Code はスキップするソースの警告を表示しません。/status使用したソースとスキップしたソースの名前。"merge": Claude Code はポリシーキーを配信するすべての管理ソースを適用し、キーの種類で組み合わせます。ほとんどのキーでは高ランクのソースの値が適用され、リストは結合され、ロックは最も厳密な値を取ります。すべてのマネージドソースを構成する はキーを設定する場所と各キーの種類がどのように組み合わされるかを示しています。Claude Code v2.1.242 以降が必要です。
両方の設定はソースを同じ方法でランク付けします。このセクションでは 2 つの用語が繰り返されます。
- ポリシーキー: 2 つのコントロールキー(
wslInheritsWindowsSettingsおよびmanagedSourcesBehavior)以外の設定キー。これらのみを含むマネージド設定ファイルまたは MDM ポリシーはカウントされず、Claude Code は次のソースに移動します。 - 管理ソース: 以下の最初の 3 つのソースの 1 つ。HKCU レジストリはユーザー書き込み可能であり、1 つではありません。
Claude Code はこれらのソースを確認します。最初に最高優先度:
- claude.ai から配信されたリモート設定。サーバーマネージド設定 または Claude apps gateway として。Claude Code はセッションが 適格なログインまたはキー で Anthropic の API に直接認証するか、
/loginでゲートウェイにサインインする場合のみこのソースをフェッチします。他のプロバイダー上、またはANTHROPIC_BASE_URLが Anthropic の API 以外を指す場合、次のソースから開始します - MDM または OS レベルのポリシー: macOS plist または HKLM レジストリキー
- マネージド設定ファイル、
managed-settings.d/*.jsonおよびmanaged-settings.jsonがマージされたもの - HKCU レジストリ、Windows 上、および WSL 上。HKLM レジストリまたは Windows マネージド設定ファイルが
wslInheritsWindowsSettingsをオンにし、HKCU 値もそれを設定する場合。Claude Code はそれを読み取るのは、上記のソースがポリシーキーを配信せず、ホスト提供の親設定 が制限的なキーを提供しない場合のみです
このダイアグラムはランキングを示し、いずれかの設定の下で最初の 3 つのソースから Claude Code が読み取るクロスソースキーの例を示しています。
すべての管理ソースから読み取るキー
デフォルトの "first-wins" 設定では、Claude Code はほとんどのキーを 選択したソース からのみ読み取り、選択したソースがそのキーを設定しないままにしても、下位ランクのソースの値を無視します。
いくつかのキーは異なります。Claude Code はそれらをすべての管理ソースから読み取るため、選択したソースがそれを設定しない場合でも、下位ランクの MDM ポリシーまたはマネージド設定ファイルはそれらを設定できます。Claude Code はユーザー書き込み可能な HKCU レジストリをそのスキャンから除外します。HKCU が唯一のソースであり、ホストが親設定を提供しない場合、HKCU は選択されたソースのように適用されます。
クロスソースキーには以下が含まれます。
sandbox.network.allowManagedDomainsOnlyおよびsandbox.filesystem.allowManagedReadPathsOnly: 任意の管理ソースのtrueがロックをオンにします。ロックがオンの間、Claude Code は許可リストをロックします。sandbox.network.allowedDomainsをWebFetch(domain:...)許可ルール、またはsandbox.filesystem.allowReadと一緒に、すべての管理ソース全体で結合します。ロックがない場合、Claude Code は許可リストを他のキーのように扱うため、"first-wins"の下では、選択されていない管理ソースの許可リストは無視されますallowAllClaudeAiMcps- サンドボックスバイナリパス
sandbox.bwrapPathおよびsandbox.socatPath - サンドボックス
ripgrepバイナリ、sandbox.ripgrep sandbox.filesystem.disabledおよびsandbox.network.strictAllowlistuseAutoModeDuringPlanおよびsyncClaudeAiSkills。任意の管理ソースのfalseが動作をオフにします。開発者のユーザーまたはローカル設定のfalseもそれをオフにします。各キーは拒否のみできますenableArtifact。任意の管理ソースのfalseが Artifact ツール をオフにします。開発者のユーザー、プロジェクト、またはローカル設定のfalseもそれをオフにし、ソースはそれをオンに戻しません。下位レベルの値がまだカウントされる を参照してください。Claude Code v2.1.242 以降が必要ですmaxEffortLevel。任意の管理ソースの最も低いキャップが適用されます。開発者が自分の設定または--settingsで低いキャップを設定する場合、Claude Code はそれを適用します。ソースはキャップを上げることはできません。Claude Code v2.1.267 以降が必要ですattributionのコミットトレーラー opt-out、または非推奨のincludeCoAuthoredByから任意のティアforceRemoteSettingsRefresh- 管理ソース全体で変数ごとにマージされた
env: 各変数は、それを定義する最高優先度のソースから来るため、下位のソースは高位のソースが設定しないままにした変数を埋めます。いくつかの変数は独自のルールに従います。マネージドソース全体のキーごとの例外 は各変数に名前を付けます。Claude Code v2.1.223 以降が必要です。v2.1.223 より前では、Claude Code は選択されたソースの全体envブロックのみを適用しました
すべてのマネージドソースを構成する
デプロイするすべての管理ソースを Claude Code が適用するようにするには、managedSourcesBehavior を "merge" に設定します。デプロイする最高ランクのソースで。Claude Code はキーを読み取るのは、キーまたはポリシーキーを持つ最高ランクのソースからのみです。したがって、下位のソースはそれ自体をマージにオプトインできず、サーバーマネージド設定を受け取らないマシンはそのキーを MDM プロファイルにも必要とします。ユーザー書き込み可能な HKCU レジストリは別のソースとマージされません。Claude Code v2.1.242 以降が必要です。
"merge" の下では、Claude Code は下位のソースのリストエントリ(permissions.allow ルールおよびフックなど)をポリシーに追加するため、最高ランクのソースの下にランク付けされたすべてのソースが管理者の制御下にある場合のみオンにします。
このテーブルは、"merge" の下で Claude Code が各キーの種類をどのように組み合わせるかを示しています。managedSourcesBehavior エントリ は制限許可リスト、値全体取得、および最高ソースのみ行のすべてのキーに名前を付けます。
| キーの種類 | Claude Code がそれを組み合わせる方法 | 例 |
|---|---|---|
| リスト | すべてのソースからエントリを組み合わせます | permissions.allow、hooks、sandbox.network.allowedDomains、deniedMcpServers |
| ロック | 任意のソースが設定する最も厳密な値を適用します。より緩い値は最高ランクのソースからのみ適用されます | allowManagedHooksOnly、permissions.disableBypassPermissionsMode、crossSessionInbound |
| 制限許可リスト | それを設定する最高ランクのソースから値全体を取得し、下位のソースからエントリを追加しません | availableModels、allowedMcpServers、strictKnownMarketplaces、allowedChannelPlugins、および fallbackModel チェーン |
| 値全体取得 | それを設定する最高ランクのソースから値全体を取得し、下位のソースからエントリまたはフィールドを組み合わせません | sandbox.credentials.awsPairs、sandbox.ripgrep |
| 提供される MCP サーバー | すべてのソースからサーバー名を組み合わせます。2 つのソースが同じ名前を設定する場合、高ランクのソースの全体エントリを適用します | managedMcpServers |
| 最高ランクのソースからのみ読み取るキー | 最高ランクのソースがそれを設定しないままにしても、すべての下位のソースのキーを無視します | apiKeyHelper などの認証情報ヘルパー、forceLoginOrgUUID などのログイン PIN、modelPicker、permissions.defaultMode |
env |
いずれかの設定の下で管理ソース全体で変数ごとにマージされます。すべての管理ソースから読み取るキー が説明するように | |
| その他のすべてのキー | それを設定する最高ランクのソースから値を取得します | model、cleanupPeriodDays |
マシン上で組み合わされたソースを確認するには、/status の Setting sources 行を読んでください。そのセクションは各ラベルが何を意味するかを示しています。
ヘルパープログラムでポリシーを計算する
policyHelper は、MDM ポリシーまたはマネージド設定ファイルが名前を付ける実行可能ファイルであり、Claude Code はスタートアップ時にそれを実行してマネージド設定を計算します。選択されたソースが 1 つを構成し、ヘルパーが managedSettings オブジェクトを出力する場合、その出力は Claude Code が読み取るものを変更します。
- 出力された
managedSettingsオブジェクトはセッションの唯一のマネージド設定です。それ以外の場合はすべての管理ソースから読み取るキー を含みます。ただし、forceRemoteSettingsRefreshは独自のスタートアップルールを持っています
ヘルパー実行が失敗する場合、および 1 つが失敗する場合に Claude Code が何をするかについては、ヘルパー失敗 を参照してください。
埋め込みホストがポリシーを追加できるようにする
別のアプリケーション(Claude Desktop、IDE 拡張機能、Agent SDK アプリなど)が Claude Code を起動する場合、そのホストは SDK managedSettings オプションを通じて独自のマネージド設定を渡すことができます。Claude Code はこれらを親設定と呼びます。
デフォルトでは、Claude Code は管理ソースが存在する場合、親設定を無視します。サーバーマネージド設定、MDM または OS レベルのポリシー、またはマネージド設定ファイル。
親設定を管理ソースと一緒にマージするようにするには、parentSettingsBehavior を "merge" に設定します。最高優先度のマネージドソースで。Claude Code はそのソースからのみキーを読み取ります。
Claude Code はホストの値のうち、Claude ができることを制限するものだけを保持します。知っておくべき 1 つのギャップがあります。allowManaged*Only ロックも設定しない限り、ホストの権限許可ルールおよびサンドボックス許可リストはまだ適用されます。親設定を制限する についてはロックを参照してください。
policyHelper はこのキーに関係なく親マージをオフにできます。そのエントリは時期を示しています。
Claude Code はこれらのチェックを親提供の値に単独で適用します。
- 任意の管理ソースが
allowManagedPermissionRulesOnlyを設定する場合、Claude Code は 親提供の 権限許可ルールおよびadditionalDirectoriesを読み取るときにドロップします。高優先度のソースがキーを設定しないままにしても。キーの効果は、Claude Code が適用するマネージド設定、または親設定からマージすることを選択したものから来ます - Claude Code は適用するマネージド設定の
forceLoginOrgUUIDまたはallowedMcpServers値を強制し、親提供のものをブロックします。Claude Code が適用しない下位管理ソースの値は適用も、ブロックもしません。managedSourcesBehaviorエントリは"merge"の下で各キーを提供するソースを示しています。v2.1.223 より前では、任意の管理ソースの値が親のものをブロックしました availableModels値はallowedMcpServersと同じルールに従います
マネージドルールのみが適用される場合に Cowork フォルダアクセスを保持する
Claude Desktop アプリの Cowork は Claude Code 上でセッションを実行し、各セッションに接続されたフォルダなどの作業フォルダへのアクセスを許可します。セッションを起動するときに親設定として提供される許可ルールを通じて。マネージドポリシーが allowManagedPermissionRulesOnly を設定する場合、Claude Code はマネージドポリシーの許可ルールのみを保持します。ホストが親設定として提供する許可ルール、--allowedTools、または設定ファイルをドロップするため、これらのフォルダへの書き込みは事前承認を失います。Cowork セッションで編集前に確認する場合、Cowork はプロンプトを表示できず、Claude は各書き込みを、パスが保護された場所に解決されるか、接続されたフォルダの外のパスであるため、ブロックされたと報告します。
書き込みを復元するには、Claude Code が 選択する マネージドソースにそれらのフォルダの許可ルールを追加します。MDM 管理フリートでは、それは別のマネージド設定ファイルではなく MDM ポリシーです。この例はファイル形式を使用し、MDM ポリシーは同じキーを取ります。allowManagedPermissionRulesOnly を設定したままにし、各ユーザーのホームディレクトリの CoworkProjects フォルダの下の編集を許可します。パスをユーザーが接続するフォルダに置き換えます。
{
"allowManagedPermissionRulesOnly": true,
"permissions": {
"allow": [
"Edit(~/CoworkProjects/**)"
]
}
}
ポリシーをデプロイした後、Claude は新しい Cowork セッションでそのフォルダの下にファイルを保存できます。Read および Edit ルール は // 形式を含むパス構文をカバーしています。絶対パスの場合。
開発者が変更できるもの
開発者自身の設定ファイル、--settings 値、およびプロジェクトファイルはマネージド値をオーバーライドしません。例外 は下位レベルからのより厳密な値のみをカウントさせます。4 つのことはそのルールの外に座ります。
- セッションのモデル: マネージド
modelはロックではなくデフォルトです。--modelおよびANTHROPIC_MODELはそのセッションのモデルを選択します。availableModelsをデプロイして選択を制限します。 - ローカル管理者権限: マシンの管理者である開発者はマネージドソース自体を編集できます。これが MDM ツールがスケジュールでプロファイルまたはファイルを再デプロイでき、HKLM レジストリおよび macOS マネージド設定ドメインが存在する理由です。
- サーバーマネージドキャッシュ: サーバーマネージド設定は Anthropic のサーバーから来ます。ローカルキャッシュへの編集は 次の成功したフェッチまでのみ続きます。
- その他のツール: マネージド設定は Claude Code のみをバインドします。別のツールから API を呼び出す開発者はそれらの下にはいません。
ポリシーが有効であることを確認する
開発者がポリシーが適用されていないと報告している場合、またはロールアウトがフリートへのプッシュ前に完了したことを確認したい場合があります。そのマシン上の 2 つのコマンドがこれに答えます。/status は Claude Code が選択した管理対象ソースを表示し、claude doctor はドロップしたものをリストします。
/status でソースを読む
開発者のマシンで Claude Code 内で /status を実行し、Setting sources 行を読みます。管理対象ソースが有効な場合、その行は Enterprise managed settings をリストし、括弧内に Claude Code が選択したソースを表示します。
(remote):claude.ai またはゲートウェイからのサーバー管理設定(plist)または(HKLM):MDM または OS ポリシー(file)、(drop-ins)、または(file + drop-ins):managed-settings.json、ドロップイン ディレクトリ、またはその両方(remote + file, merged)または別のリスト(, mergedで終わる):組織がすべての管理対象ソースを構成し、Claude Code がリストされたソースをポリシーにマージしました。下位のソースは、リストに表示されなくてもenv変数を提供できます。Claude Code v2.1.242 以降が必要です(HKCU):ユーザー書き込み可能なレジストリ フォールバック(parent process):埋め込みホストが制限的な設定を提供しました(helper):選択した MDM またはファイル ソースによって構成されたpolicyHelper
Claude Code がマシン上で管理対象ソースを見つけたが選択しなかった場合、2 番目の行 Skipped sources が各ソースを名前で示します。これを読んで、ポリシーがマシンに到達しなかった場合と、到達したが高優先度のソースがオーバーライドした場合を区別します。Claude Code v2.1.242 以降が必要です。
ポリシーが適用されていない場合、Setting sources 行は 2 つの問題のどちらがあるかを示します。
-
行が見つかりません:Claude Code はポリシー キーを配信する管理対象ソースを見つけませんでした。
管理対象設定ファイルをデプロイした場合、OS のパスに配置されていることを確認し、制御キーのみではなくポリシー キーが含まれていることを確認します。有効な JSON ではないファイルはこの状態を生成しません。Claude Code は代わりに起動を拒否します。
代わりにサーバー管理設定を通じてデプロイした場合は、
claude doctorを実行します。これはフェッチ結果を報告します。 -
行が展開したソース以外のソースを名前で示す:高優先度のソースが存在し、Claude Code があなたのソースを無視しました。
Skipped sourcesがそれをリストします。Claude Code が管理対象ソースを組み合わせる方法は順序を示します。
Claude Code がドロップしたエントリを見つける
管理対象設定ファイル、MDM プロファイル、レジストリ値、またはサーバー管理ペイロードがスキーマ検証に失敗した場合、Claude Code は最初に修復できる個別エントリ(無効なパーミッション ルールなど)をスキップし、各エントリに対して警告を表示してから、値がまだ失敗する最上位キーをドロップし、残りのすべての有効なキーの適用を続けます。
Claude Code は policyHelper が出力する managedSettings に対してより厳密です。同じエントリ修復を行いますが、生き残るスキーマ違反は全体のヘルパー実行を失敗させ、起動時に Claude Code は起動を拒否します。これは非ゼロで終了するヘルパーと同じです。
管理対象設定ファイル、ドロップイン ファイル、MDM plist、または HKLM レジストリ値が存在するが JSON オブジェクトとして解析できない場合、Claude Code は起動を拒否し、別の管理者ソースが有効なポリシーを配信する場合でもソースを名前で示すエラーを出力します。各ソースは次の場合にこのように失敗します。
- 管理対象設定ファイルまたはドロップイン ファイル:ファイルが有効な JSON ではない、またはその最上位がオブジェクトではない
- MDM plist:macOS の
plutilが plist が不正形式であると報告する、またはその変換されたコンテンツが JSON オブジェクトではない - HKLM レジストリ値:
Settings値が文字列ではない、空である、または JSON オブジェクトを保持していない
3 つのソース状態はこの拒否を引き起こしません。
- 不在のファイル、プロファイル、またはレジストリ値は失敗ではありません。Claude Code はそのソースなしで実行されます。
- 空の管理対象設定ファイルは
{}としてカウントされます。 - ユーザー書き込み可能な HKCU レジストリ キーの不正形式の値は起動をブロックしません。Claude Code は代わりに
/statusとclaude doctorで通知として報告します。
管理対象設定ファイル、ドロップイン ファイル、または managed-settings.d/ ディレクトリを読み取ることができず、管理者ソースがポリシーを提供しない場合、claude.ai または Claude Console 認証情報でサインインしたセッションは管理者に連絡するメッセージで起動時に終了します。
ドロップされたエントリを見つけるには、3 つの場所のいずれかを確認します。
- インタラクティブ セッションは起動時に無効なエントリをリストするダイアログを表示します。
-pを使用した非インタラクティブ実行は stderr に概要を出力します。claude doctorは各無効なエントリをそのソースとフィールドでリストします。
閉じた状態で失敗するキー
無効な場合にドロップされない強制キーがいくつかあります。Claude Code は値が修正されるまでより厳密なフォールバックを適用します。テーブルは各キーに対して適用されるものを示します。
| フィールド | 存在するが無効な場合の動作 |
|---|---|
allowedMcpServers |
ユーザーが追加する MCP サーバーが許可されないように、値が修正されるまで空のアローリストとして適用されます。組織が managedMcpServers を通じて配信するサーバーは引き続きロードされ、managed-mcp.json サーバーはサーバーの評価方法に従ってロードされます。個別の無効なエントリは削除され、有効なサブセットが適用されます。 |
allowedHttpHookUrls |
Claude Code は値を修正するまで空の管理アローリストを適用するため、HTTP フックは別の設定ファイルがその URL をリストしている場合にのみ実行されます。無効なエントリが 1 つだけの場合、Claude Code はそのエントリを削除し、残りを適用します。 |
httpHookAllowedEnvVars |
Claude Code は値を修正するまで空の管理アローリストを適用するため、ヘッダー変数は別の設定ファイルがそれを名前で示している場合にのみ補間されます。無効なエントリが 1 つだけの場合、Claude Code はそのエントリを削除し、残りを適用します。 |
allowedChannelPlugins |
値を修正するまで空のアローリストとして適用されるため、--channels に渡されるチャネル プラグインは許可されません。無効なエントリが 1 つだけの場合、それを削除し、残りを適用します。 |
allowManagedHooksOnly |
修正されるまで true として扱われます。フック制限が適用され、disableCommandPluginSources が明示的に false でない限り、コマンドソースのプラグインは無効になります。 |
allowManagedMcpServersOnly |
true として扱われます。 |
disableCommandPluginSources |
true として扱われるため、値が修正されるまでコマンドソースのプラグインは無効のままです。 |
availableModels |
修正されるまで空のアローリストとして適用されるため、デフォルト モデルのみが利用可能です。文字列以外のエントリは削除され、有効なサブセットが適用されます。 |
enforceAvailableModels |
true として扱われます。 |
forceLoginOrgUUID |
値が修正されるまで、組織がログインすることは許可されません。 |
crossSessionInbound |
最も制限的な値である refuse として扱われるため、値が修正されるまでクロスセッション メッセージのインバウンドは拒否されます。開発者は警告を見ます。 |
deniedMcpServers |
個別の無効なエントリは削除され、有効なサブセットが適用されます。完全に無効な値は警告とともにドロップされます。すべてのサーバーを拒否するとポリシーが名前を付けなかったサーバーがブロックされるためです。 |
sandbox.credentials |
回復可能な無効なエントリは mode: "deny" に低下し、警告が表示されます。回復不可能なエントリは削除されます。有効なエントリは適用されたままです。管理対象設定の無効な認証情報エントリを参照してください |
allowedHttpHookUrls と httpHookAllowedEnvVars は設定ファイル全体でマージされるため、管理対象リストが空の間、ユーザー、プロジェクト、またはローカル設定のエントリは引き続き適用されます。これら 2 つのキーと allowedChannelPlugins のフォールバックには Claude Code v2.1.267 以降が必要です。以前のバージョンは、値またはエントリが無効な場合、キー全体をドロップします。
requiredMinimumVersion と requiredMaximumVersion は設計上オープンに失敗します。無効な値は適用されるのではなくドロップされます。
この許容度は管理対象設定にのみ適用されます。ユーザー、プロジェクト、およびローカル設定ファイルは厳密なままです。JSON またはトップレベルの形状が検証に失敗するファイルは全体として拒否され、報告されます。不正形式のパーミッション ルールなどの個別エントリが失敗する場合は、警告とともにスキップされ、ファイルの残りが適用されます。
マネージドソースのみが設定できるキー
Claude Code は次のキーをマネージドソースからのみ読み取ります。ユーザーまたはプロジェクト設定ファイルに配置しても効果がありません。
ほとんどはロックです。ロックが管理するキー(権限ルールまたは sandbox.network.allowedDomains など)は、任意のレベルが設定できる通常のキーであり、ロックは Claude Code にマネージド値のみを尊重するよう指示します。
テーブルは権限、プラグイン、配信コントロールをカバーしています。ここにリストされていないキーについては、設定リファレンス インデックスの Scope 列は、それがマネージドのみであるかどうかを示しています。残りのマネージドのみキーには、ゲートウェイログイン URL、バージョン、ブラウザ、モバイルシミュレーター、SSH ホスト、Desktop ローカルセッション、サンドボックスバイナリパス、モデル価格、CLAUDE.md コントロールが含まれます。
| 設定 | 説明 |
|---|---|
allowAllClaudeAiMcps |
Claude Code が自身でフェッチする claude.ai コネクタをデプロイされた managed-mcp.json と一緒にロードします。それらを抑制する代わりに |
allowedChannelPlugins |
メッセージをプッシュできるチャネルプラグインの許可リスト。設定されている場合、デフォルト Anthropic 許可リストを置き換えます。channelsEnabled: true が必要です。実行できるチャネルプラグインを制限する を参照してください |
allowManagedHooksOnly |
true の場合、実行するフックを制限します。allowManagedHooksOnly の下で実行するもの の完全な効果リストを参照してください |
allowManagedMcpServersOnly |
true の場合、マネージド設定からの allowedMcpServers のみが尊重されます。deniedMcpServers はすべてのソースからマージされます。マネージド MCP 構成 を参照してください |
allowManagedPermissionRulesOnly |
マネージド設定を権限ルールの唯一の設定ソースにします。エントリは無視するすべてのソースをリストします |
blockedMarketplaces |
マーケットプレイスソースのブロックリスト。ブロックされたソースはダウンロード前にチェックされるため、ファイルシステムに触れません。マネージドマーケットプレイス制限 を参照してください |
channelsEnabled |
組織の チャネル を許可します。各プランのデフォルトについては エンタープライズコントロール を参照してください |
disableCommandPluginSources |
true の場合、command プラグインソース を完全にブロックするため、マーケットプレイス宣言コマンドは実行されません。マーケットプレイス headersHelper コマンド もブロックします。ただし、マネージド設定自体が宣言するマーケットプレイスは除きます。設定されていない場合、allowManagedHooksOnly に従います。Claude Code v2.1.229 以降が必要で、headersHelper ブロックは v2.1.238 以降が必要です |
disableSideloadFlags |
スタートアップで --plugin-dir、--plugin-url、--agents、および --mcp-config フラグを拒否します。クラウドセッションでは、Claude Code はサーバーが --mcp-config を通じて配信した MCP サーバーをドロップします。ただし、プロセス内 type: "sdk" エントリは除き、セッションを開始します。Claude Code v2.1.193 以降が必要です |
forceRemoteSettingsRefresh |
true の場合、リモートマネージド設定が新しくフェッチされるまで CLI スタートアップをブロックし、フェッチが失敗する場合は終了します。失敗閉じ強制 を参照してください |
managedMcpServers |
すべてのユーザーに独自と一緒に提供されるリモート MCP サーバー。何かをロックするのではなく、サーバーを提供します。マネージド設定を通じてサーバーを提供する を参照してください。Claude Code v2.1.259 以降が必要です |
managedSourcesBehavior |
Claude Code が最高優先度のマネージドソースのみを適用するか、それらすべてを構成する か |
parentSettingsBehavior |
ホスト提供の親設定がマネージドポリシーの下でマージするかどうか |
pluginSuggestionMarketplaces |
Claude Code がユーザーに提案できるプラグインのマーケットプレイス |
pluginTrustMessage |
インストール前に表示されるプラグイン信頼警告に追加されるカスタムメッセージ |
policyHelper |
スタートアップでマネージド設定を計算する実行可能ファイル。ポリシーヘルパーでマネージド設定を計算する を参照してください |
sandbox.filesystem.allowManagedReadPathsOnly |
true の場合、マネージド設定からの filesystem.allowRead パスのみが尊重されます。denyRead はすべてのソースからマージされます |
sandbox.network.allowManagedDomainsOnly |
マネージド allowedDomains および WebFetch(domain:...) 許可ルールのみを尊重します。プロンプトなしで他のドメインをブロックします |
strictKnownMarketplaces |
ユーザーが追加してプラグインをインストールできるプラグインマーケットプレイスソースを制御します。マネージドマーケットプレイス制限 を参照してください |
strictPluginOnlyCustomization |
ユーザーおよびプロジェクトソースからのスキル、エージェント、フック、MCP サーバーをブロックします。true はすべて 4 つをロックし、配列はどれかに名前を付けます |
wslInheritsWindowsSettings |
HKLM レジストリまたは C:\Program Files\ClaudeCode の下のファイルに設定されている場合、WSL が Windows ポリシーチェーンを読み取り、そのディレクトリの下の /etc/claude-code を読み取るのは、マネージド設定ファイルまたはドロップインが ポリシーキー を配信しない場合のみです。エントリは順序を示しています |
Team および Enterprise プランでは、Owner は Claude Code 管理設定 で リモートコントロール および ウェブセッション を組織全体で有効または無効にします。リモートコントロールは disableRemoteControl 設定でデバイスごとに無効にすることもできます。ウェブセッションにはデバイスごとのマネージド設定キーがありません。
これらの組織設定が特定のマシンに到達したかどうかを確認するには、そこで claude doctor を実行し、Organization policy 行を読みます。これは Claude Code がポリシーをロードした場所、またはロードしなかった理由を示しています。Claude Code v2.1.261 以降が必要です。実行中のセッションでは、ポリシーがロードされなかった場合、/status は同じ行を表示します。
組織のテレメトリをオフにする
Claude Code は、Anthropic API を直接、LLM ゲートウェイを通じて、またはカスタム ANTHROPIC_BASE_URL を通じて使用するセッションで、デフォルトで Anthropic 運用 テレメトリ を送信します。API プロバイダーごとのデフォルト動作 はどのプロバイダーがそれを送信するかを示しています。すべての開発者が各人のシェルに依存することなく、マネージド設定の env ブロックを通じて DISABLE_TELEMETRY を配信することでオフにします。この例は、ポリシーが到達するすべてのユーザーに対して DISABLE_TELEMETRY を設定します。
{
"env": {
"DISABLE_TELEMETRY": "1"
}
}
Claude Code は 1 の値を 承認ダイアログ を表示せずに適用します。
テレメトリをオフにする場合、Claude Code はポリシーが到達する開発者の組織の 分析ダッシュボード を供給する使用データの送信を停止します。変数はフィーチャーフラグフェッチもオフにします。これにより、リモートコントロール、デフォルトオートモード、および他の フィーチャーフラグフェッチが必要な機能 がこれらの開発者に利用できなくなります。
ポリシーが適用される場所と時期 は各サーフェスに到達する配信メカニズムを示し、プラットフォーム可用性 はどのセッションがサーバーマネージド設定フェッチをスキップするかを示しています。
組織がカスタマー管理暗号化キーを使用し、Claude Code をゲートウェイを通じてルーティングする場合、プロキシとゲートウェイを構成する はこれらのセッションがこの変数を必要とする理由を示しています。
関連項目
- 組織向けに Claude Code をセットアップする: 強制する内容と方法を決定します
- サーバーマネージド設定: claude.ai コンソールまたはゲートウェイからポリシーを配信します
- マネージド MCP 構成: 開発者が使用できる MCP サーバーを制御します
- すべての設定: すべてのキー。マネージドソースがそれを設定できるかどうか
- 設定ファイルの例: マネージドキーの形状を示す完全な
managed-settings.json