allowClaudeInChromeWithManagedMcpでChromeとmanaged-mcp.jsonを併用
managed-mcp.jsonを配ると、claude --chromeは起動時にエラーで止まります。allowClaudeInChromeWithManagedMcpで許可する手順と、効かないときの確認点をまとめます。
managed-mcp.jsonを全端末に配ったあと、ある開発者がclaude --chromeを実行すると、Claude Codeは起動の途中で終了します。表示されるのは次のメッセージです。
Claude in Chrome is blocked by your organization's managed MCP configuration (managed-mcp.json). An administrator can allow it with allowClaudeInChromeWithManagedMcp in device policy.原因は設定の不具合ではなく、排他制御の既定の挙動です。allowClaudeInChromeWithManagedMcpは、この遮断だけを解除する管理設定のキーで、Claude Code v2.1.282で追加されました。
なぜmanaged-mcp.jsonがChromeを止めるのか
managed-mcp.jsonを配置すると、Claude Codeはそのファイルに書かれたサーバーなど、ごく限られたものしかロードしません。ユーザーが追加したサーバーも、プラグインのサーバーも、--mcp-configで渡したサーバーも使えなくなります。
ブラウザ連携の組み込みサーバーであるClaude in Chromeも、この排他制御の対象です。ターミナルのセッションでは、allowClaudeInChromeWithManagedMcpを設定しない限り遮断されます。
遮断のされ方は、ユーザーの操作によって3通りに分かれます。
| ユーザーの状況 | 見えるもの |
|---|---|
claude --chromeを実行する | 見えるもの起動時に終了し、冒頭のエラーが表示される |
| Chromeを既定でオンにしている | 見えるもの警告なしでChromeなしのまま起動する |
| 拡張機能が未導入 | 見えるものインストールを促すプロンプトが出ない |
2行目が厄介です。/chromeで「Enabled by default」にしている人は、フラグを付けなくても毎回ブラウザ連携を使っていたはずです。排他制御を入れた翌日から、エラーも出ないまま連携だけが消えます。問い合わせは「Chromeが急に使えない」という形で届くため、原因がmanaged-mcp.jsonだと結びつけにくくなります。既定でオンにする設定の仕組みはclaudeInChromeDefaultEnabledなど3キーの記事にまとめています。
なお、managed-mcp.json自体の置き場所と全体設計はManaged MCPで許可リスト・拒否リストを組織管理する手順が扱っています。ここではChromeの扱いに絞ります。
許可する手順
allowClaudeInChromeWithManagedMcpはブール値のキーです。trueにすると、組み込みのClaude in Chromeサーバーがmanaged-mcp.jsonと並んで動きます。既定値はfalseです。
書き込み先は、端末自身の管理設定に限られます。
- MDMで配るplist
- Windowsのレジストリ(HKLM)
- システムパスの
managed-settings.json
managed-settings.jsonを使う場合の配置先は、OSごとに次のとおりです。managed-mcp.jsonと同じディレクトリです。
| OS | パス |
|---|---|
| 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行です。
{
"allowClaudeInChromeWithManagedMcp": true
}すでにmanaged-settings.jsonを配っている端末なら、このキーを既存のJSONに足すだけで済みます。管理設定を複数チームで分担している場合は、同じディレクトリのmanaged-settings.d/に別ファイルとして置く方法もあります。どのファイルが優先されるかは、管理設定のドキュメントにある「Precedence within the managed tier」の節に書かれています。
macOSで手元の端末に試す場合は、管理者権限でファイルを書きます。既存のファイルがある環境では上書きしないよう、先に中身を確かめてください。
sudo mkdir -p "/Library/Application Support/ClaudeCode"
sudo tee "/Library/Application Support/ClaudeCode/managed-settings.json" <<'EOF'
{
"allowClaudeInChromeWithManagedMcp": true
}
EOF書き込んだら、端末でclaude --chromeを実行します。冒頭のエラーが出なくなり、通常どおり拡張機能との接続に進めば、設定は効いています。
設定したのに効かないときの確認点
このキーは、置く場所を間違えると何も起きません。公式の設定リファレンスは、端末自身の管理設定以外を読まないと明記しています。
| 置いた場所 | 効くか |
|---|---|
MDMのplist、HKLMのレジストリ、システムのmanaged-settings.json | 効くか効く |
| サーバー管理設定(claude.ai管理コンソール) | 効くか無視される |
| ユーザーが書き込めるHKCUレジストリ | 効くか無視される |
| ユーザー設定・プロジェクト設定 | 効くか無視される |
サーバー管理設定で無視される点が、運用上の落とし穴です。ほかの管理設定の多くは、管理コンソールから一括で配れます。ただしmanaged-mcp.json自体が「サーバー管理設定では配れない独立したファイル」なので、Chromeの許可もMDMや構成管理ツールなど、端末に直接ファイルを置く経路に揃える形になります。claude.aiのコネクタを併用するためのallowAllClaudeAiMcpsは、サーバー管理設定でも読まれる点が対照的です。
書く場所が正しいのに通らないときは、次の順に確かめます。
- Claude Codeがv2.1.282以降か。古いクライアントはこのキーを知らないため、
managed-mcp.jsonによる遮断だけが残ります deniedMcpServersにclaude-in-chromeが入っていないか。拒否リストは、このキーより強く働きます- Chrome側の前提を満たしているか
2点目は見落としやすい項目です。deniedMcpServersのclaude-in-chromeは、allowClaudeInChromeWithManagedMcpをtrueにしても遮断を続けます。「Chromeを許可したのに使えない」という報告は、この拒否リストが残っている場合があります。
3点目のChrome側の前提は、managed-mcp.jsonとは無関係に連携の成否を決めます。公式のChromeのページに書かれた条件は次のとおりです。
- Google Chrome、Microsoft Edge、またはBraveなどのChromium系ブラウザ
- Claude in Chrome拡張機能のバージョン1.0.36以降
- Pro、Max、Team、Enterpriseのいずれかの、Anthropic直契約のプラン
/loginによるサインイン- WSLでは非対応
とくにサインインの条件は、管理端末でつまずきやすい箇所です。APIキーやclaude setup-tokenで作った長期トークンで認証している場合、Claude Codeは--chromeを渡してもブラウザ連携をオフのままにします。ブラウザ拡張がそれらの資格情報で認証できないためです。排他制御の下でAPIキー運用に寄せている組織は、Chromeを許可しても連携が立ち上がりません。
許可したあとも残る制御
このキーは、Chromeの遮断だけを外します。許可リストと拒否リストの扱いは変わりません。
allowedMcpServersは、Claude in Chromeのような組み込みサーバーを対象にしません。許可リストにclaude-in-chromeを書き足す必要はなく、書かなくても通ります。一方で拒否リストは組み込みサーバーにも適用されます。
したがって、組織の方針ごとに必要な設定は次のように分かれます。
| 方針 | managed-mcp.json | allowClaudeInChromeWithManagedMcp | deniedMcpServers |
|---|---|---|---|
| ブラウザ連携を使わせない(既定) | managed-mcp.json配る | allowClaudeInChromeWithManagedMcp設定しない | deniedMcpServers不要 |
| 全員に使わせる | managed-mcp.json配る | allowClaudeInChromeWithManagedMcptrue | deniedMcpServers不要 |
| 使わせないことを明示する | managed-mcp.json配る | allowClaudeInChromeWithManagedMcp設定しない | deniedMcpServersclaude-in-chromeを登録 |
| 一部の人にだけ使わせる | managed-mcp.json配る | allowClaudeInChromeWithManagedMcptrue | deniedMcpServers対象外の人にclaude-in-chromeを登録 |
最後の行は、公式が手順として書いている運用ではありません。端末ごとに管理設定が決まる仕組みと、拒否リストが各スコープで統合される仕様から導ける組み合わせです。実運用に入れる前に、対象端末でclaude --chromeを実行して確かめてください。
3行目の「明示する」には実利があります。拒否リストでブロックすると、Claude Codeはインストールを促すプロンプトも出しません。ユーザーに「入れてください」と促しておきながら使えない、という行き違いを避けられます。managed-mcp.jsonだけを配って許可キーを設定しない場合も、プロンプトは出ません。
MCPを全面停止しつつChromeだけ通す構成
managed-mcp.jsonには、サーバーを1つも書かない使い方があります。mcpServersを空にしたファイルを配ると、claude mcp addは拒否され、ユーザーが以前に追加したサーバーも次の起動から読み込まれなくなります。
{
"mcpServers": {}
}公式のMCP管理のページは、この空のファイルでもロードされるものがあると説明しています。managedMcpServersで配ったサーバーと、排他制御と並べて許可したものです。Chromeの許可はその「並べて許可したもの」に当たるため、空のファイルにallowClaudeInChromeWithManagedMcpを組み合わせると、MCPは止めたままブラウザ連携だけを通せます。「社内で承認したMCPサーバーはまだ無いが、ブラウザ操作は試したい」という導入初期の組織に向く形です。逆に、MCPを完全に止めたいなら、このキーを設定しないままにします。
この構成の状態確認は2段階です。claude mcp addがenterprise MCP configuration is active and has exclusive control over MCP serversで失敗すれば、排他制御は効いています。そのうえでclaude --chromeが起動すれば、Chromeの許可も効いています。2つの結果が揃って初めて「MCPは止まり、Chromeだけ通る」状態だと言えます。
Chromeを許可しても止まったままのもの
このキーが外すのは、Claude in Chromeの遮断だけです。排他制御が止めているほかの経路は、そのまま残ります。
- Claude Codeが自分で取得するclaude.aiコネクタは、
allowAllClaudeAiMcpsをtrueにしない限り抑制されたままです - プラグインが提供するサーバーと、ユーザーが
.mcp.jsonや~/.claude.jsonに書いたサーバーも使えません --mcp-configでサーバーを渡すと、手元のワークステーションではYou cannot dynamically configure MCP servers when an enterprise MCP config is presentで起動時に終了します
「Chromeが通ったのだから、ほかの連携も戻った」とユーザーが受け取らないよう、問い合わせの窓口には上の3点を渡しておくと切り分けが早くなります。
展開前にユーザーへ伝えておくこと
排他制御を新しく入れる組織では、ブラウザ連携を止めることになるかどうかを、配布の前に決めておく必要があります。Chromeを使う人がいるなら、managed-mcp.jsonと同じ配布物にallowClaudeInChromeWithManagedMcpを入れておけば、翌日の「急に使えない」を避けられます。
逆にChromeを止める方針なら、既定でオンにしている人の連携が警告なしで消えることを、事前に周知しておく価値があります。公式のMCP管理のページも、サーバーが黙って消える状況ではユーザーに信号が出ないため、管理者から伝える必要があると注意しています。
接続そのものが不安定な場合の切り分けは、このキーとは別の話です。拡張機能が検出されない、接続が切れるといった症状はChrome接続トラブルの対処記事で扱っています。
このキーが入ったリリースの全体像は、Claude Code v2.1.282のリリースノートにあります。
よくある質問
managed-mcp.jsonの中にChromeのサーバー定義を書けばよいのか
公式の手順は、managed-mcp.jsonに書き足す方法ではなく、管理設定にallowClaudeInChromeWithManagedMcpを置く方法です。組み込みサーバーなので、mcpServersに定義を足す想定の記述は公式にありません。
VS Codeのセッションでも遮断されるのか
公式の遮断の説明は「ターミナルのセッション」について書かれています。VS Code拡張の挙動には、このキーに関する記述がありません。拡張を使う組織は、対象端末で実際に確かめてください。