Chrome とコンピュータ操作
Chrome 拡張でのブラウザ操作と、CLI のコンピュータ操作(macOS)の要件、設定、安全策、トラブル対処を引けます。
Claude Code は、ブラウザの作業には Claude in Chrome 拡張、ブラウザで済まない GUI 作業にはコンピュータ操作(computer use)を使います。前者はログイン済みのブラウザをそのまま使え、後者は macOS のアプリや画面を直接操作します。
- Chrome 連携:CLI か VS Code 拡張から、Web アプリのテスト、コンソールログによるデバッグ、フォーム入力、データ抽出ができます
- コンピュータ操作:macOS 上のネイティブアプリ、シミュレータ、API のない GUI ツールを、Claude がスクリーンショットを見ながら操作します
- Claude は精密な手段から順に試し、コンピュータ操作は最後です(MCP サーバー、Bash、Chrome の次)
- デスクトップアプリ版のコンピュータ操作はデスクトップアプリにあります
Chrome 連携(Claude in Chrome)#
Claude は、ブラウザ作業のために新しいタブを開き、ブラウザのログイン状態を共有します。ログイン済みのサイトにそのままアクセスでき、操作は見えている Chrome ウィンドウでリアルタイムに進みます。ログインページや CAPTCHA に当たると一時停止し、手動で対応するよう求めます。
拡張機能は、Claude が開いたタブを、セッションに結びついた Chrome のタブグループにまとめます。ローカルセッションでは、終了時にそのグループを閉じるかが、終わり方で変わります。
/clearを入力したとき:開いたページごと、グループを閉じます(クリアしても残る作業がまだ動いている場合を除く)/resumeなどでセッションを切り替える、Claude Code を終了する、クリアしても残る作業が動いている間に/clearを実行する:グループが空の新しいタブだけのときに限って閉じます。読んでいる最中かもしれないページは残ります
補足
Google Chrome と Microsoft Edge で動きます。Brave・Arc・Vivaldi・Opera など他の Chromium 系ブラウザでも、拡張機能を検出して接続を設定します。Windows Subsystem for Linux(WSL)では使えません。
できること#
| 用途 | 内容 |
|---|---|
| ライブデバッグ | コンソールエラーと DOM の状態を直接読み、原因のコードを直す |
| デザインの検証 | Figma のモックから UI を作り、ブラウザで開いて一致を確かめる |
| Web アプリのテスト | フォームの検証、見た目の退行、ユーザーの流れを確かめる |
| ログイン済みの Web アプリ | Google Docs・Gmail・Notion など、ログイン済みのアプリを API コネクタなしで操作する |
| データ抽出 | Web ページから構造化した情報を取り、ローカルに保存する |
| 作業の自動化 | データ入力、フォーム入力、複数サイトにまたがる作業 |
| ファイルのアップロード | 手元のファイルを、ページのアップロード欄に添付する |
| セッションの録画 | ブラウザ操作を GIF として記録し、共有や記録に使う |
要件#
- Google Chrome、Microsoft Edge、または Brave・Arc・Vivaldi・Opera などの Chromium 系ブラウザ
- Chrome ウェブストアの Claude in Chrome 拡張機能 バージョン 1.0.36 以降
- Claude Code(インストールとログイン)
- Anthropic の直接のプラン(Pro・Max・Team・Enterprise)
/login でのサインインも必要です。API キーや claude setup-token の長期トークンで認証していると、--chrome を渡しても、ブラウザ拡張機能がその資格情報で認証できないため、Chrome 連携はオフのままです(v2.1.216 より前は、有効にはなったが、接続のたびに 403 エラーで失敗していました)。Amazon Bedrock・Google Cloud の Agent Platform・Microsoft Foundry など、サードパーティプロバイダー経由では使えません。そうしたプロバイダーでのみ Claude を使っているなら、別に claude.ai アカウントが要ります。
CLI で始める#
claude --chromeで Claude Code を起動する。Chrome 連携での初回は、連携の紹介とサイトの権限の説明の1回限りのダイアログが出るので、Enter で進む- ブラウザを使うように頼む。Claude Code がブラウザ操作の前に許可を求めたら承認する(ダイアログは
Claude in Chrome wants toで始まり、そのサイトのすべての操作をセッション中許可する選択肢がある)
claude --chrome
Go to code.claude.com/docs, click on the search box,
type "hooks", and tell me what results appear
/chrome でいつでも、接続状態の確認、権限の管理、拡張機能の再接続、使う接続済みブラウザの選択ができます。ステータスパネルに「Status: Enabled」と「Extension: Installed」が出れば動いています。複数のブラウザがつながっているときは、選ぶまでブラウザ操作の開始時に選択を求められます。あとから変えるには /chrome で「Select browser…」を選びます(別のブラウザが接続しても、選んだものを使い続けます)。
拡張機能が検出されない状態で、対話セッションの Claude がブラウザを必要としたときは、「Claude wants to use your browser」というインストールのプロンプトが、セッションごとに最大1回出ます。
| 選択肢 | 動き |
|---|---|
| Install extension | ブラウザで拡張機能のインストールページを開き、案内に沿ったセットアップを始める。インストールを待って拡張機能を接続し、同じセッションでブラウザツールを有効にする。接続の準備ができたら「Continue with browser tools」を選ぶとタスクを再開する。「Continue without browser tools」で離れて、あとで /chrome で終えることもできる |
| Not now | ブラウザツールなしでタスクを続ける。後のセッションでまた聞かれうる |
| Don't ask again | 今後のセッションでこのプロンプトを出さない。/chrome でいつでも設定できる |
組織の管理 MCP ポリシーで、このプロンプトを出さなくできます。管理設定 deniedMcpServers で claude-in-chrome の MCP サーバーをブロックしている場合と、managed-mcp.json を配備していて Claude in Chrome を管理セットと併せて許可していない場合です(MCP サーバーをつなぐ)。
既定で有効にする#
毎回 --chrome を渡さずに Chrome につなぐには、CLI のセッションで /chrome を実行し、「Enabled by default」を選びます。VS Code 拡張では、プロンプト欄で /chrome と入力し、「Enabled by default」のスイッチをオンにします。この設定は CLI と VS Code で共有されるので、どちらかでオンにすると両方でオンになります。
設定がオンで Claude Code v2.1.287 以降なら、VS Code の各セッションは開始時にブラウザへつながり、@browser を入力する前から Claude が使えます。それより前の版や、設定がオフのときは、VS Code のセッションは @browser を入力したときにつながります。
Chrome が動いていなくても Claude Code は普通に起動します(v2.1.211 より前は、Chrome 連携が有効で Chrome が動いていないと、起動が止まることがありました)。
補足
既定で有効にすると、ブラウザツールとその指示が常に読み込まれるため、コンテキストの使用量が増えます。増えたと感じたら、設定をオフにして、必要なときだけ、CLI なら --chrome、VS Code のプロンプト欄なら @browser の入力でつなぎます。
サイトの権限#
サイト単位の権限は Chrome 拡張機能から引き継ぎます。Claude が閲覧・クリック・入力できるサイトは、拡張機能の設定で管理します。権限モードの auto で、auto の分類器自身があるサイトへのブラウザ呼び出しを承認したときは、その呼び出しについて拡張機能のサイトごとの確認を省略します(権限ルールで Claude in Chrome にサイトを拒否している場合を除く)。
VS Code のセッションでの許可のプロンプト#
VS Code のセッションで、ブラウザの操作の前に Claude Code が確認を出すかは、セッションがブラウザへどうつながったかで決まります。
@browserを入力した:Claude Code が確認を出すはずの各ブラウザ操作を、拡張機能が承認する- 「Enabled by default」の設定で、開始時につながった:未許可のサイトでのブラウザ操作の前に、Claude Code が確認を出す(Manual・Edit automatically・Auto・Bypass permissions の各モードで)。そのセッションで
@browserを入力するまで続く
プランモードでのブラウザツール#
プランモードでは、Claude が GIF の記録、新しいタブの作成、ショートカットの実行をする前に、許可のプロンプトが出ます。ただし、@browser を入力した VS Code のセッションは除きます。対話の CLI のセッションで bypass permissions モードが使え、フィーチャーフラグの取得がオフのときは、これらの呼び出しがプロンプトなしで動きます。createIfEmpty を設定した tabs_context_mcp の呼び出しと、これらの操作を含む browser_batch の呼び出しでも確認が出ます。
使い方の例#
/mcp を実行して claude-in-chrome を選び、「View tools」を選ぶと、使えるブラウザツールの全一覧が見られます。
| 用途 | プロンプトの例と動き |
|---|---|
| ローカルの Web アプリをテストする | 「ログインフォームの検証を直した。localhost:3000 を開き、不正なデータで送信して、エラーメッセージが正しく出るか確かめて」。ローカルサーバーへ移動し、フォームを操作し、観察した結果を報告する |
| コンソールログでデバッグする | 「ダッシュボードを開き、読み込み時にコンソールにエラーが出ないか確認して」。ログは冗長になりうるので、全出力ではなく探すパターンを伝える。Claude は特定のパターンやエラーの種類で絞る |
| フォーム入力を自動化する | contacts.csv の各行について、CRM を開いて「Add Contact」を押し、名前・メール・電話を入力させる。ローカルのファイルを読み、Web の画面でデータを入力する |
| Google Docs に下書きする | 最近のコミットから進捗の報告を作り、Google Doc に追記させる。ドキュメントを開き、エディタをクリックして入力する。Gmail・Notion・Sheets などログイン済みのアプリで同様に使える |
| データを抽出する | 商品一覧ページから、名前・価格・在庫を取り出し、CSV で保存させる |
| 複数サイトにまたがる作業 | 明日の会議を確認し、社外の参加者がいる会議ごとに、その会社のサイトを調べてメモを足させる。タブをまたいで情報を集める |
| デモの GIF を記録する | カートに入れてから確認ページまでの流れを GIF にさせる。記録にはブラウザに見えるもの(ログイン済みのページのアカウント情報を含む)がすべて写るので、チーム外へ共有する前に確認する |
| スクリーンショットをディスクに保存する | 「チェックアウトページのスクリーンショットを撮ってディスクに保存して」。画像を保存し、ファイルのパスを報告する(v2.1.211 より前は、スクリーンショットツールの save_to_disk がファイルを書かなかった) |
ファイルのアップロード:Claude Code がファイルを読み、内容をブラウザへ送るので、ローカルでもリモートのセッションでも動きます(v2.1.211 以降)。例:「バグトラッカーを開いて、新しい課題を作り、logs/session.log を添付して」。制約は3つです。
- 権限:セッションが読めるファイルだけアップロードできます。ファイルへの
Readを deny する権限ルールは、アップロードも止めます - サイズ:1回のアップロードで、ファイルの合計が最大 10 MB です
- ハードリンク:複数のハードリンクを持つファイル(
node_modulesのようなパッケージマネージャーのストア内に多い)は拒否されます。コピーを作ってアップロードします
トラブルシューティング(Chrome)#
拡張機能が検出されないとき:
chrome://extensionsで拡張機能がインストールされ有効か確認するclaude --versionで Claude Code が最新か確認する- Chrome が動いているか確認する
/chromeで「Reconnect extension」を選んで接続し直す- 解決しなければ Claude Code と Chrome の両方を再起動する
Chrome 連携を初めて有効にしたとき、Claude Code はネイティブメッセージングホストの設定ファイルを入れます。Chrome は起動時に読むので、最初の試行で検出されなければ Chrome を再起動します。拡張機能の接続を促すブラウザタブを Claude Code が開くのは、その初回のインストールのときだけです(ビルドや設定ディレクトリを切り替えた後など、あとのセッションが設定ファイルを書き直したときは開き直しません)。それでもつながらないときは、ホストの設定ファイルの場所を確認します。
| ブラウザ | OS | 場所 |
|---|---|---|
| Chrome | macOS | ~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json |
| Chrome | Linux | ~/.config/google-chrome/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json |
| Chrome | Windows | Windows レジストリの HKCU\Software\Google\Chrome\NativeMessagingHosts\ |
| Edge | macOS | ~/Library/Application Support/Microsoft Edge/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json |
| Edge | Linux | ~/.config/microsoft-edge/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json |
| Edge | Windows | Windows レジストリの HKCU\Software\Microsoft\Edge\NativeMessagingHosts\ |
他の Chromium 系ブラウザは、ブラウザの名前の付いた自分の設定ディレクトリから同じファイルを読みます(macOS の Brave は ~/Library/Application Support/BraveSoftware/Brave-Browser/NativeMessagingHosts/、Windows は HKCU\Software\BraveSoftware\Brave-Browser\NativeMessagingHosts\ のようにブラウザごとのレジストリキー)。
| 症状 | 対処 |
|---|---|
| ブラウザのコマンドが止まる | モーダルダイアログ(alert・confirm・prompt)がページを塞いでいないか確認する。JavaScript のダイアログはブラウザのイベントを止め、Claude がコマンドを受け取れなくなる。手動で閉じて、続けるよう伝える。Claude に新しいタブを作らせて再試行する。chrome://extensions で拡張機能を無効にしてから有効にし直す |
| 長いセッションで接続が切れる | 拡張機能のサービスワーカーが長いセッションの間にアイドルになり、接続が切れる。しばらく操作がなくブラウザツールが動かなくなったら、/chrome で「Reconnect extension」を選ぶ |
| Windows:名前付きパイプの衝突(EADDRINUSE) | ほかのプロセスが同じ名前付きパイプを使っている。Claude Code を再起動し、Chrome を使っているほかの Claude Code セッションを閉じる |
| Windows:ネイティブメッセージングホストのエラー | 起動時にホストがクラッシュするなら、Claude Code を再インストールしてホストの設定を作り直す |
| Windows:セットアップのページが開かない | Claude Code を更新する(v2.1.211 より前は、拡張機能の接続を促すタブが Windows で開けないことがあった) |
よくあるエラーです。
| エラー | 原因 | 対処 |
|---|---|---|
| 「Browser extension is not connected」 | ネイティブメッセージングホストが拡張機能に届かない、または組織の IP 許可リストが bridge.claudeusercontent.com への接続を拒否している |
Chrome と Claude Code を再起動し、/chrome で再接続する。IP 許可リストを使う組織でエラーが続くなら、ネットワークと LLM ゲートウェイの組織の IP 許可リストとプロキシの出口の節を見る |
/chrome で拡張機能が「Not detected」 |
Chrome 拡張機能が入っていない、または無効 | chrome://extensions で入れるか有効にする |
| 「No tab available」 | タブの準備ができる前に Claude が操作しようとした | Claude に新しいタブを作らせて再試行する |
| 「Receiving end does not exist」 | 拡張機能のサービスワーカーがアイドルになった | /chrome で「Reconnect extension」を選ぶ |
コンピュータ操作(CLI)#
補足
macOS の研究プレビュー(research preview)で、Pro または Max プランが必要です。Team・Enterprise では使えません。対話セッションが必要なので、-p の非対話モードでは使えません。
Claude が、アプリを開く、画面を操作する、手元のマシンで人間と同じように作業する機能です。CLI からは、Swift アプリをコンパイルして起動し、すべてのボタンを押してみて、結果をスクリーンショットに撮る、といったことを、コードを書いたのと同じ会話の中でできます。GUI が要る作業(ターミナルから離れて手でやる作業)に使います。
| 用途 | 内容 |
|---|---|
| ネイティブアプリのビルドと検証 | macOS のメニューバーアプリを作らせると、Swift を書き、コンパイルし、起動し、すべてのコントロールを操作して、開く前に動作を確かめる |
| エンドツーエンドの UI テスト | ローカルの Electron アプリに「オンボーディングを試して」と頼むと、アプリを開き、サインアップを進め、各手順を撮る。Playwright の設定もテストの枠組みも要らない |
| 見た目やレイアウトの不具合のデバッグ | 「モーダルが小さいウィンドウで切れる」と伝えると、ウィンドウを縮めて再現し、撮って、CSS を直して、確認する |
| GUI でしか動かないツールの操作 | デザインツール、ハードウェアの制御パネル、iOS シミュレータ、CLI も API もない独自のアプリ |
Claude には、アプリやサービスに触れる手段がいくつもあります。コンピュータ操作は最も広く、最も遅いので、最も精密な手段から試します。そのサービスの MCP サーバーがあればそれを、シェルコマンドなら Bash を、ブラウザ作業で Claude in Chrome を設定済みならそれを使い、どれにも当たらないときにコンピュータ操作を使います。画面操作は、ネイティブアプリ、iOS シミュレータなどのシミュレータ、API のないツールなど、ほかで届かないものに限られます。
有効にする#
コンピュータ操作は、computer-use という組み込みの MCP サーバーで、有効にするまでオフです。
- 対話セッションで
/mcpを実行し、サーバー一覧のcomputer-useを探す(無効と表示される) computer-useを選んで「Enable」を選ぶ。設定はプロジェクトごとに保存されるので、使いたいプロジェクトごとに1回行う- macOS の権限を許可する。Claude が初めて手元のコンピュータを使おうとするとき、2つの権限を求められる
| 権限 | 内容 |
|---|---|
| Accessibility | クリック・入力・スクロールをできるようにする |
| Screen Recording | 画面に出ているものを見られるようにする |
プロンプトにシステム設定の該当ペインを開くリンクがあります。両方許可して、プロンプトの「Try again」を選びます。Screen Recording を許可した後、macOS が Claude Code の再起動を求めることがあります。設定後は、GUI が要ることを頼みます。
Build the app target, launch it, and click through each tab to make
sure nothing crashes. Screenshot any error states you find.
アプリごとの承認#
computer-use サーバーを有効にしても、マシン上のすべてのアプリへのアクセスは与えられません。セッションで特定のアプリが初めて要るとき、端末にプロンプトが出て、Claude が操作したいアプリ、要求された追加の権限(クリップボードなど)、Claude の作業中に隠される他のアプリの数を示します。「Allow for this session」か「Deny」を選びます。承認はそのセッションの間だけ有効で、Claude がまとめて要求したときは、複数のアプリを一度に承認できます。影響の広いアプリは、承認で何を渡すかが分かるよう、プロンプトに追加の警告が出ます(ブロックはされません)。
| 警告 | 対象 |
|---|---|
| Equivalent to shell access | Terminal・iTerm・VS Code・Warp など、ターミナルと IDE |
| Can read or write any file | Finder |
| Can change system settings | System Settings |
Claude にデスクトップ・Dock・Finder のウィンドウをクリックさせるには、Finder を承認します。操作の範囲もアプリのカテゴリで変わります(ブラウザと取引プラットフォームは閲覧のみ、ターミナルと IDE はクリックのみ、それ以外はフルコントロール。全体の段階はデスクトップアプリにあります)。
画面での動き方#
- 同時に使えるセッションは1つ:1つのセッションだけが、一度にコンピュータを使えます。最初のコンピュータ操作でロックを取り、タスクの終了ではなくセッションの終了で解放します。2つ目のセッションのコンピュータ操作は、ロックを持つセッションを挙げたエラーで失敗するので、そのセッションを先に終了します
- アプリは隠される:Claude が画面を操作し始めると、ほかの見えているアプリは隠され、承認されたアプリだけを操作します。ターミナルのウィンドウは見えたままで、スクリーンショットからは除かれるので、セッションを見守れ、Claude が自分の出力を見ることもありません。ターンが終わると、隠したアプリは自動で戻ります
- スクリーンショットは自動で縮小:Claude Code は、モデルに送る前にすべてのスクリーンショットを縮小します。Retina などの高解像度ディスプレイでも、解像度やウィンドウサイズを下げる必要はありません(16インチの MacBook Pro のネイティブ Retina で 3456×2234 に撮り、縦横比を保って約 1372×887 に縮小)。目標サイズを変える設定はありません。縮小後に画面上の文字やコントロールが小さすぎて読めないときは、ディスプレイの解像度ではなく、アプリ側の表示を大きくします
- いつでも止められる:各ターンで Claude が初めてコンピュータを使うとき、macOS の通知「Claude is using your computer · press Esc to stop.」が出ます。どこでも Esc を押すか、ターミナルで Ctrl+C を押すと、現在の操作を即座に中止します。Claude は止まり、アプリを戻して、操作をユーザーに返します。セッションが終了するまで、コンピュータ操作のロックは保たれます。終わったときにも通知が出ます
注意
サンドボックス化された Bash ツールと違い、コンピュータ操作は実際のデスクトップで、承認したアプリにアクセスして動きます。画面上の内容によるプロンプトインジェクションの可能性は Claude が各操作で検査して警告しますが、信頼の境界が異なります。
設定なしで効く安全策です。
- アプリごとの承認:現在のセッションで承認したアプリだけを Claude が操作できる
- 警告の表示:シェル・ファイルシステム・システム設定へのアクセスを与えるアプリは、承認の前に警告される
- ターミナルをスクリーンショットから除外:Claude は自分のターミナルのウィンドウを見ないので、セッションの画面上のプロンプトがモデルに戻ることがない
- グローバルな中止キー:Esc がどこからでもコンピュータ操作を中止し、押したキーは消費されるので、プロンプトインジェクションでダイアログを閉じるために使われることがない
- ロックファイル:マシンを操作できるセッションは一度に1つだけ
使い方の例#
| 用途 | プロンプトの例と動き |
|---|---|
| ネイティブビルドを検証する | 「MenuBarStats のターゲットをビルドし、起動し、環境設定ウィンドウを開いて、間隔のスライダーがラベルを更新するか確認し、終わったら環境設定ウィンドウを撮って」。xcodebuild を実行し、アプリを起動し、UI を操作して、結果を報告する |
| レイアウトの不具合を再現する | 「設定のモーダルが狭いウィンドウでフッターを切る。再現できるまでウィンドウを縮め、切れた状態を撮り、モーダルの CSS を確認して」。ウィンドウを縮め、壊れた状態を撮り、関連するスタイルシートを読む |
| シミュレータの流れをテストする | 「iOS Simulator を開き、アプリを起動し、オンボーディング画面を順にタップして、読み込みに1秒以上かかる画面があれば教えて」。XCTest を書かずに、マウスで操作するのと同じ方法でシミュレータを動かす。この流れは CLI の場合で、デスクトップアプリでは、同じ依頼が画面操作ではなく iOS Simulator ペインを開く |
デスクトップアプリとの違い#
CLI とデスクトップは、同じコンピュータ操作のエンジンを共有します。
| 項目 | デスクトップ | CLI |
|---|---|---|
| プラットフォーム | macOS と Windows | macOS のみ |
| 有効にする | 「Settings > This computer > System」のトグル | /mcp で computer-use を有効にする |
| 拒否アプリの一覧 | 設定で指定できる | まだない |
| 自動で元に戻すトグル | 任意 | 常にオン |
| Dispatch 連携 | Dispatch が起動したセッションでも使える | 該当なし |
トラブルシューティング(コンピュータ操作)#
| 症状 | 対処 |
|---|---|
| 「Computer use is in use by another Claude session」 | 別の Claude Code セッションがロックを持っていて、終了するまで保たれる。そのセッションを終了する。別のセッションがクラッシュしていた場合は、プロセスが動いていないと Claude が検知したとき、ロックが自動で解放される |
| macOS の権限のプロンプトが繰り返し出る | Screen Recording を許可した後、要求したプロセスの再起動が要ることがある。Claude Code を完全に終了して新しいセッションを始める。続くなら、「System Settings > Privacy & Security > Screen Recording」で、使っているターミナルアプリが一覧にあり有効か確認する |
/mcp に computer-use が出ない |
対象の構成にだけ出る。macOS であること(CLI のコンピュータ操作は Linux・Windows では使えない。Windows ではデスクトップ版を使う)、Pro か Max プランであること(/status で確認)、claude.ai で認証していること(Amazon Bedrock・Google Cloud の Agent Platform・Microsoft Foundry などサードパーティプロバイダーでは使えない。そうしたプロバイダーでのみ Claude を使っているなら、別に claude.ai アカウントが要る)、対話セッションであること(-p の非対話モードでは使えない)を確認する |
関連:ネイティブアプリの代わりにサンドボックスで作業するならサンドボックス、構造化されたツールや API につなぐなら MCP サーバーをつなぐ、デスクトップ版の設定画面付きの同じ機能はデスクトップアプリを見てください。
公式ドキュメント(英語)
2026年10月5日時点の内容をもとに、日本語でまとめています。