Claude Media
allowClaudeInChromeWithManagedMcpでChromeとmanaged-mcp.jsonを併用

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は、サーバー管理設定でも読まれる点が対照的です。

書く場所が正しいのに通らないときは、次の順に確かめます。

  1. Claude Codeがv2.1.282以降か。古いクライアントはこのキーを知らないため、managed-mcp.jsonによる遮断だけが残ります
  2. deniedMcpServersにclaude-in-chromeが入っていないか。拒否リストは、このキーより強く働きます
  3. 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.jsonallowClaudeInChromeWithManagedMcpdeniedMcpServers
ブラウザ連携を使わせない(既定)managed-mcp.json配るallowClaudeInChromeWithManagedMcp設定しないdeniedMcpServers不要
全員に使わせるmanaged-mcp.json配るallowClaudeInChromeWithManagedMcptruedeniedMcpServers不要
使わせないことを明示するmanaged-mcp.json配るallowClaudeInChromeWithManagedMcp設定しないdeniedMcpServersclaude-in-chromeを登録
一部の人にだけ使わせるmanaged-mcp.json配るallowClaudeInChromeWithManagedMcptruedeniedMcpServers対象外の人に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拡張の挙動には、このキーに関する記述がありません。拡張を使う組織は、対象端末で実際に確かめてください。

この記事を共有:XはてブLinkedIn