CLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTとは — ホスト管理を優先する環境変数
CLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTは、Claude Codeを組み込んだホストがルーティング・モデル選択・テレメトリを一括管理するための環境変数です。上書きされる設定と例外をまとめます。
CLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTは、Claude Codeを自社製品に組み込んだホストプラットフォームが設定する環境変数です。開発者本人が手元で設定する変数ではありません。設定されると、接続先・認証情報・モデル選択に関わる変数と管理設定のキーの多くが無視され、ホスト側の指定が優先されます。上書きされる範囲と、上書きされない例外をまとめます。90種を超える環境変数を用途別に見渡したい場合はClaude Code環境変数リファレンスを参照してください。
誰が設定する変数か
この変数はエンドユーザーではなく、Claude CodeをSDKやAPI経由で自社アプリに埋め込んだホスト側が設定します。公式のバージョン履歴ではClaude Desktopがこの変数を設定するホストの実例として挙がっており、そのほかIDE統合やSaaSに組み込まれたAIアシスタント機能も対象になり得ます。ホストが自前のルーティング・認証基盤を持っている場合、ユーザーのsettings.jsonやシェルの環境変数がその基盤を上書きしてしまうと接続が壊れます。この変数はその上書きを防ぐためのフラグです。
利用者側から見ると挙動は逆向きに映ります。自分のANTHROPIC_BASE_URLやfallbackModelが効かないとき、原因が設定ミスではなく、組み込み先のホストがこのフラグを立てていることもあります。
上書きされる3つの領域
CLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTが設定されると、Claude Codeは次の3領域で自前の判定を止め、ホスト側の指定に従います。
| 領域 | 無視される設定 | 優先されるもの |
|---|---|---|
| 接続先・認証 | 無視される設定CLAUDE_CODE_USE_BEDROCK、ANTHROPIC_BASE_URL、ANTHROPIC_API_KEY(いずれも設定ファイルのenvブロック) | 優先されるものホストが管理するルーティング |
| モデル選択(管理設定側) | 無視される設定managed settingsのmodel・fallbackModel・modelOverrides(配布元がどのmanagedソースでも対象) | 優先されるものホストのモデル設定 |
| モデル選択(managed env側) | 無視される設定managed設定のenvブロックに書かれたANTHROPIC_MODEL・ANTHROPIC_DEFAULT_*_MODEL系 | 優先されるものホストのモデル設定 |
3つ目までが無視の対象で、テレメトリだけは向きが逆になります。詳しくは後述します。
接続先・認証がユーザー設定ファイルのenvブロック単位で無視されるのに対し、モデル選択は管理設定(managed settings)全体が対象です。fallbackModelは設定の5階層をまたぐマージ対象外のキーで、通常は最高優先度のファイルが定義したチェーンだけが採用されますが、この変数が立っているとその階層構造ごとホスト側に譲ります。Claude Code fallbackModelの優先順位で管理設定を書いてもホスト組み込み環境では反映されないのはこのためです。
managedSettingsから直接読まれる3項目
ホストがAgent SDKでセッションを起動している場合、通常はホストが渡すmanagedSettingsペイロードそのものが、管理者がデプロイした管理設定(admin-deployed managed settings)が別に存在するマシンでは無視されます(parentSettingsBehavior: 'merge'を明示しない限り)。しかしCLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTを設定したホストに限り、この制約を経由せずペイロードから直接読まれるキーが3つあります。
| 項目 | 必要バージョン | 適用条件 |
|---|---|---|
モデル設定(model・fallbackModel・modelOverrides) | 必要バージョンv2.1.222以降 | 適用条件常に優先 |
料金レート(modelPricing) | 必要バージョンv2.1.246以降 | 適用条件他のmanagedソースが未設定のときだけ |
ENABLE_TOOL_SEARCH(envエントリ) | 必要バージョンv2.1.247以降 | 適用条件常に優先 |
modelPricingは/usageやステータスラインに表示する金額を、組織の契約レートに合わせて上書きする設定です。管理設定側がすでにmodelPricingを配布していれば、ホストが供給したテーブルより管理設定側が勝ちます。
availableModelsの許可リストだけは例外
モデル選択の大半がホストに譲られる一方、managed settingsのavailableModels許可リストは、ホストが自前のリストを持っていない限り引き続き適用されます。ホストが指定したモデルであっても、管理設定側の許可リストに無ければ選べません。組織側が「使わせないモデル」を制御する仕組みは、ホスト管理下でも完全には無効化されないということです。
テレメトリは向きが逆になる
接続先・モデル選択が「無視される」方向なのに対し、テレメトリはこの変数によって既定がオンに変わります。Amazon Bedrock・Claude Platform on AWS・Google CloudのAgent Platform・Microsoft Foundryのようなサードパーティープロバイダーは、通常は利用状況メトリクスの送信が既定でオフです。しかしCLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTが設定されたホスト経由だと、Claude Codeはこの既定オフの扱いをスキップし、Claude APIへの直接接続と同じ「既定オン」の状態になります。止めたい場合は通常どおりDISABLE_TELEMETRYでオプトアウトできます。
ただしこの変わり方が及ぶのは利用状況メトリクスだけです。クラッシュを伝えるエラー報告や/feedbackコマンドでの手動送信は、ホスト管理下でも既定で無効のままで、この変数によってオンには変わりません。セッション品質調査とWebFetchのドメイン安全性チェックは、そもそもプロバイダーによらず常に動く扱いなので、この変数の有無にかかわらず挙動は変わりません。
サードパーティープロバイダーでもフィーチャーフラグ取得が動く
Claude CodeはAnthropicから配信されるフィーチャーフラグの取得を、一部のセッションでスキップします。対象になる条件の1つが「Amazon Bedrock・Claude Platform on AWS・Google CloudのAgent Platform・Microsoft Foundryのようなサードパーティープロバイダーに接続している」ことです。ただしこの条件には例外があり、Claude Codeを組み込んだホストがCLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTを設定していれば、サードパーティープロバイダー接続でもフラグ取得は止まりません。
フラグ取得が止まっていると、次のような機能が使えなくなります。
| 使えなくなる機能 | 内容 |
|---|---|
| auto modeの既定起動 | 内容Pro・Max・Teamプランでセッションが自動でauto modeで始まる挙動 |
| VS Code拡張の権限モード読み込み | 内容設定ファイルの権限モードを起動時に反映する動作 |
| Remote Control | 内容スマートフォン等からのリモート操作 |
| セッション間メッセージング | 内容このマシンを超えた別マシンのセッションへの送信 |
| v2 MCPクライアントランタイム | 内容未設定時にMCP TypeScript SDK 2.0ベースの新ランタイムへ切り替わる挙動 |
| Claude起草のフィードバック | 内容SendFeedbackツールによる下書き作成 |
ホストがこの変数を設定していれば、サードパーティープロバイダー経由でもこれらの機能が候補に上がります。MCPの新しいバージョン管理方式で扱ったv1・v2ランタイムの使い分けも、実体はこのフラグ取得の可否に連動しています。
バージョンごとの挙動修正
この変数自体は以前から存在しますが、周辺の挙動は複数のバージョンで調整されています。
- v2.1.126(2026-05-01): ホスト管理デプロイでBedrock・Google CloudのAgent Platform・Microsoft Foundry経由のアナリティクスが自動無効化されなくなった(前段のテレメトリの向き反転を支える修正)
- v2.1.222(2026-08-04): この変数が設定されているとき、ホスト側のモデル選択キーが、更新されていない
managed-settings.jsonより優先されなかった問題を修正 - v2.1.251(2026-08-29): この変数配下のAmazon Bedrockセッションが、BedrockのモデルIDやARNを渡された場合にinference-profileの探索を待たなくなった
3件とも「ホストの指定を実際にどこまで優先するか」を細かく詰める修正で、この変数が導入された時点で全領域が一度に完成していたわけではないことが分かります。
自分の環境がこの変数の対象かを確かめる
シェルで確認できます。
echo $CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST値が空でなければ、Claude Codeを組み込んだホストがルーティングを管理している状態です。この状態でANTHROPIC_BASE_URLやfallbackModelを設定ファイルに書いても反映されない場合、設定ミスを疑う前にこの変数の有無を確認すると切り分けが早くなります。ユーザー自身がこの変数を設定してホストの動作を模倣しても意味はありません。無視される側の変数を自分で操作している構図になるだけで、ホストが実際に用意しているルーティング先は変わらないからです。
よくある質問
/statusで設定状況を確認できますか
/statusはどのmanaged設定ソースが有効かを「Setting sources」欄に表示しますが、個々の環境変数の値そのものは表示しません。CLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTが実際に設定されているかを確かめたい場合は、シェルでechoするほうが確実です。managedSettingsがどのソースからマージされているかを俯瞰したいときは/statusを、この変数固有の値を見たいときはechoを、と使い分けます。
どのプラットフォームがこの変数を設定していますか
公式のバージョン履歴はClaude Desktopを実例として挙げていますが、設定しているホストの網羅的な一覧はありません。Claude Codeを埋め込んだホストが自社の判断で設定するものなので、対象かどうかは各ホストのドキュメントかサポート窓口で確認するのが確実です。
管理設定がある環境でもホストが勝ちますか
キーによって異なります。ホストがAgent SDK経由で渡すmanagedSettingsは、通常は管理者側のparentSettingsBehaviorが'merge'でない限り丸ごと無視されます。ただしモデル設定・modelPricing・ENABLE_TOOL_SEARCHの3項目だけは、CLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTが設定されていればこのマージ設定を経由せず直接読まれます。それ以外のキーをホストから配りたい場合は、管理者側でparentSettingsBehavior: 'merge'を明示する必要があります。
まとめ
CLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTは、Claude Codeを組み込んだホストプラットフォームが、接続先・認証・モデル選択の管理をユーザー設定より優先させるための環境変数です。ANTHROPIC_BASE_URLやCLAUDE_CODE_USE_BEDROCKのような接続系変数、managed settingsのmodel・fallbackModel・modelOverrides、managed env側のANTHROPIC_MODEL系がいずれも無視されます。例外はavailableModels許可リスト(ホストが自前のリストを持たない限り有効)と、テレメトリ(既定がオフからオンへ反転するだけで、エラー報告・/feedbackは対象外)です。v2.1.126からv2.1.251にかけて、アナリティクスの自動無効化解除やBedrockのモデル探索まわりが段階的に調整されてきました。自分の設定が効かないと感じたら、まずこの変数が立っていないかを確認するのが早道です。