Claude CodeでChromeのフォームに自動入力する手順
Claude CodeにChromeを繋ぎ、CSVの顧客データやテストデータをWebフォームへ自動入力させる手順です。前提条件からファイルアップロード、つまずきどころまでまとめます。
Claude CodeでChromeのフォーム自動入力とは
Claude CodeはChromeブラウザと連携し、Webフォームへの入力作業をターミナルからの指示だけで代行できます。CSVに並んだ顧客データを1件ずつCRMへ登録する、テスト用のダミーデータをフォームに流し込んで検証する、といった反復入力作業を任せられます。
この連携はClaude Code単体では完結せず、Claude in Chromeというブラウザ拡張機能を介して動きます。Claude Code経由の連携はGoogle ChromeとMicrosoft Edgeが対象です。Brave・Arc・Vivaldi・Operaといった他のChromium系ブラウザでも、拡張機能を検出して接続を設定します。拡張機能をサイドパネルで単体利用する場合はClaude Chrome拡張機能でできることを参照してください。
Claudeは新しいタブを開いてフォーム操作を行い、ブラウザのログイン状態をそのまま引き継ぎます。すでにログイン済みのCRMやSaaS管理画面であれば、追加の認証情報を渡さずに操作できます。ログインページやCAPTCHAに遭遇すると、Claudeは処理を止めて手動対応を求めます。
使い始める前に必要なもの
フォーム自動入力を試すには、次の条件を満たしている必要があります。
- Google Chrome、Microsoft Edge、またはBrave・Arc・Vivaldi・OperaなどChromiumベースのブラウザ
- Claude in Chrome拡張機能のバージョン1.0.36以上(Chromeウェブストアから入手)
- 最新のClaude Code
- Pro・Max・Team・Enterpriseのいずれかの直接契約プラン
Chrome連携には/loginでの認証も必須です。APIキーやclaude setup-tokenで発行した長期トークンでは、--chromeフラグを付けてもChrome連携は有効になりません。ブラウザ拡張機能がその種の認証情報に対応していないためです。v2.1.216より前のClaude Codeでは、この組み合わせでもChrome連携が有効化されたように見えつつ、拡張機能への接続だけが403エラーで失敗していました。
Amazon Bedrock・Google CloudのAgent Platform・Microsoft FoundryといったサードパーティプロバイダーからClaude Codeを使っている場合、Chrome連携は使えません。この機能を使うには別途claude.aiアカウントが要ります。
Team・Enterpriseでは、組織の管理者がClaude in Chromeを無効にしていると、--chrome・/chrome・ブラウザツールのいずれも使えません。拡張機能を入れても接続できないときは、管理者設定を確認します。ログイン方式の全体像はClaude Codeログイン方法3種の使い分けにまとめています。
実際にフォームへ自動入力させる手順
接続から入力までの4ステップ
- 1
claude --chrome で起動する
初回だけ、連携内容とサイト権限の仕組みを説明するダイアログが出ます。Enterキーで進みます。
- 2
拡張機能を入れる
未検出なら、セッション中に1回だけ「Claude wants to use your browser」というプロンプトが出ます。「Install extension」を選ぶと、インストールページが開いて案内付きのセットアップが始まります。「Not now」を選ぶとブラウザツールなしで作業が続き、後のセッションで再び尋ねられることがあります。
deniedMcpServersやmanaged-mcp.jsonによる管理ポリシーがある環境では、このプロンプト自体が出ません。 - 3
やりたい作業をそのまま指示する
CSVのパスと、入力先のURL・ボタン名・入力項目を伝えます。
- 4
確認ダイアログを承認する
「Claude in Chrome wants to」で始まるダイアログが出ます。同じサイトでの操作をセッション中まとめて許可する選択肢もあります。
起動コマンドは次のとおりです。
claude --chrome手元のClaude Code v2.1.285でclaude --helpを確認すると、Chrome関連のフラグは2つ並んでいました。「Enabled by default」にした後でも、--no-chromeを付ければそのセッションだけ連携を切れます。
$ claude --version
2.1.285 (Claude Code)
$ claude --help | grep -i chrome
--chrome Enable Claude in Chrome integration
--no-chrome Disable Claude in Chrome integration指示の書き方は、次の例のとおりです。
contacts.csvに顧客の連絡先一覧があります。各行についてcrm.example.comのCRMを開き、
「Add Contact」をクリックして、氏名・メールアドレス・電話番号を入力してくださいClaudeはローカルのcontacts.csvを読み込み、CRMの画面を1件ずつ操作してデータを入力していきます。
毎回--chromeを付けるか、常時有効にするか
起動方法の選び方
--chrome を毎回付ける
ブラウザツールを読み込むのはそのセッションだけです。CLIでフォーム入力を使う頻度が低いなら、コンテキスト消費を抑えられます。
Enabled by default
/chromeを実行して「Enabled by default」を選ぶと、以後はフラグ不要です。ただしブラウザツールが常時読み込まれるので、コンテキスト消費が増えたと感じたら無効に戻し、--chromeだけの運用にします。
Chromeが起動していなくてもClaude Codeは通常どおり立ち上がります。v2.1.211より前は、常時有効の設定でChromeが起動していないと、起動がハングすることがありました。
権限は拡張機能側と、Claude Code側の両方にかかる
サイト単位の権限は、Chrome拡張機能の設定から引き継がれます。どのサイトで閲覧・クリック・入力を許すかは拡張機能側で管理します。
オートモードの分類器がサイトへのブラウザ操作を承認した場合は、拡張機能側のサイトごとの確認をその操作に限って省略します。ただし、Claude in Chromeへのアクセスをサイト単位で拒否する権限ルールがあるときは省略されません。
プランモードでは、クリックや入力のように状態を変える操作の前に確認が出ます。加えて、GIF録画・新しいタブを開く操作・ショートカットの実行の前にも確認が出ます。バイパス権限モードが使えて、フィーチャーフラグの取得がオフのセッションでは、この3つは確認なしで走ります。
件数の多いCSVを流すときの切り分け
CSVが数件なら、確認ダイアログの承認を都度こなしても負担は小さいです。数十行になると、行ごとに確認が出る運用は現実的でなくなります。
減らす手段は3つあります。
- ダイアログで、同じサイトでの操作をセッション中まとめて許可する
- オートモードを使う。分類器が承認した操作では、拡張機能側のサイトごとの確認が省略される
- プランモードは避ける。クリックや入力のたびに確認が出る
プランモードは、件数の多い投入には向きません。反対に、初めてのフォームで入力先の欄を確かめたいときは、確認が出るプランモードが安全側に働きます。
監視できない状況では、途中で止まったときの再開位置が要ります。次のように、進捗をファイルへ残す指示を添える方法があります。
入力を終えた行番号をprogress.txtに書き出しながら進めてください。
止まったときは、progress.txtの次の行から再開しますこれは指示文の一例で、Claudeがこの通りに動くと保証するものではありません。件数と監視の可否で、承認を都度こなすか、サイト単位で一括許可するか、オートモードに任せるかを決めます。
接続状況とタブの後始末
接続状況を確かめたいときや権限を管理したいときは、/chromeをいつでも実行できます。ステータスパネルに「Status: Enabled」「Extension: Installed」と出ていれば連携は機能しています。複数のブラウザが接続されている場合は、ブラウザ操作が始まる前にどれを使うか選ぶよう促されます。
Claudeが開いたタブはタブグループにまとめられ、後始末はセッションの終わり方で変わります。/clearを実行すると、そのセッションで開いたタブグループは開いていたページごと閉じます。ただし/clearをまたいで動き続けている作業があれば閉じません。
/resumeなどでセッションを切り替えたとき、Claude Codeを終了したとき、/clearをまたぐ作業が動いているときは、空の新規タブしか残っていない場合に限ってグループが閉じます。読みかけのページがあれば残ります。
ファイルアップロードも一緒にこなす方法
フォーム入力と組み合わせてよく使うのがファイルアップロードです。Claude Codeはローカルのファイルを読み込み、その中身をブラウザへ送ってアップロードフィールドに添付します。ローカルセッションだけでなく、リモートセッションでも同じ手順で動作します。
bugs.example.comのバグトラッカーを開いて新しいissueを作成し、
logs/session.logを添付してくださいこの機能はClaude Code v2.1.211以降が対象です。アップロードには3つの制約があります。
アップロードの3つの制約
読み取り権限
セッションに読み取りが許可されているファイルだけが対象です。Readを拒否する権限ルールがあるファイルは、アップロードもできません。
合計10MB
1回のアップロードで送れるのは、合計10MBまでです。
ハードリンクは拒否
複数のハードリンクを持つファイルは拒否されます。
node_modulesのようなパッケージマネージャーのストア内でよくあるケースです。コピーを作って、コピーのほうをアップロード対象にします。
途中で止まったときの症状別の対処
症状から原因を絞り込みます。
| 症状・エラー | 主な原因 | 対処 |
|---|---|---|
| 何も起きず、タスクが進まない | 主な原因ブラウザ操作の許可プロンプトが未承認のまま | 対処ターミナルに出ている許可プロンプトを承認する |
拡張機能が検出されない、/chromeで「Not detected」 | 主な原因拡張機能が未インストールまたは無効 | 対処chrome://extensionsで有効化する |
| 「Browser extension is not connected」 | 主な原因ネイティブメッセージングのホストが拡張機能に届かない、または組織のIP許可リストがbridge.claudeusercontent.comへの接続を拒否 | 対処ChromeとClaude Codeを再起動し、/chromeで再接続する |
| 「No tab available」 | 主な原因タブが準備できる前に操作を試みた | 対処新しいタブを作らせて再試行するよう伝える |
| 「Receiving end does not exist」 | 主な原因長いセッションの途中で、拡張機能のサービスワーカーがアイドル状態になることがある | 対処/chromeで「Reconnect extension」を選ぶ |
| ブラウザ操作が届かなくなった | 主な原因alertやconfirmなどのJavaScriptダイアログが表示されている | 対処ダイアログを手動で閉じ、続行するよう伝える |
IP許可リストが原因の場合は、bridge.claudeusercontent.comへの接続を許可リストに加える必要があります。
拡張機能が検出されないとき
chrome://extensionsで拡張機能が有効になっているか、claude --versionでClaude Codeが最新か、Chromeが起動しているかを順に確認します。それでも直らなければ、/chromeから「Reconnect extension」を選びます。改善しなければ、Claude CodeとChromeを両方再起動します。
初回のChrome連携有効化時には、ネイティブメッセージングのホスト設定ファイルが作られます。Chromeはこれを起動時にしか読み込みません。初回の接続に失敗したら、Chromeを再起動します。
それでも接続できないときは、設定ファイルの実在を確認します。macOSでの場所は次のとおりです。
- Chrome:
~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json - Edge:
~/Library/Application Support/Microsoft Edge/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json
Linuxでは~/.config/google-chrome/NativeMessagingHosts/(Edgeは~/.config/microsoft-edge/NativeMessagingHosts/)の下に同名のファイルが置かれます。Windowsはファイルではなく、レジストリのHKCU\Software\Google\Chrome\NativeMessagingHosts\(EdgeはHKCU\Software\Microsoft\Edge\NativeMessagingHosts\)を見ます。他のChromium系ブラウザは、そのブラウザ自身の設定ディレクトリの下で同じファイルを読みます。
拡張機能をインストールした初回だけ、Claude Codeは接続を促すブラウザタブを開きます。後のセッションで設定ファイルが書き換わっても、タブは開き直されません。
Windowsで起きる問題
Windowsでは、名前付きパイプの競合(EADDRINUSE)が起きることがあります。別のプロセスが同じ名前付きパイプを使っている場合に発生し、Claude Codeを再起動すると解消します。Chromeを使う他のClaude Codeセッションが動いていれば、それらも閉じます。
ネイティブメッセージングのホストが起動時にクラッシュするときは、Claude Codeを再インストールしてホスト設定を作り直します。v2.1.211より前のWindowsでは、拡張機能接続用のセットアップページ自体が開かないバグがありました。
入力値がおかしい、要素が見つからないといった原因を切り分けるには、ブラウザのコンソールログを確認する手順が役立ちます。詳しくはClaude CodeでChromeのコンソールログをデバッグする方法にまとめています。前提条件や接続まわりの説明は本記事と重なりますが、そちらはデバッグ用途に絞って書いています。
利用形態別に何が変わるか
| 利用形態 | フォーム自動入力 | 注意点 |
|---|---|---|
CLI(--chromeフラグ) | フォーム自動入力○ 標準対応 | 注意点セッションごとにフラグが必要(常時有効化も可能) |
| VS Code拡張機能 | フォーム自動入力○ 標準対応 | 注意点拡張機能インストール済みなら追加設定なしで利用可 |
| WSL(Windows Subsystem for Linux) | フォーム自動入力× 非対応 | 注意点Chrome連携そのものが使えない |
| Bedrock / Google CloudのAgent Platform(旧Vertex AI)/ Foundry経由 | フォーム自動入力× 非対応 | 注意点別途claude.aiアカウントでの利用に切り替える必要がある |
VS CodeのClaude Code拡張機能では、プロンプト欄に@browserと入力してから指示を続けると同じ操作ができます。添付メニューから、新しいタブを開く・ページ内容を読むといった個別のブラウザツールを選ぶこともできます。フラグの指定は不要です。
claude-in-chromeというMCPサーバーとして動くので、/mcpからclaude-in-chromeを選んで「View tools」を選ぶと、利用可能なツール一覧を確認できます。他社製のブラウザ自動化MCPサーバーとは別の仕組みです。
ブラウザで完結しない作業は、Desktop Computer Useが候補になります。デスクトップアプリのフォームのように、ブラウザを介さず画面を直接操作する用途です。CLIのcomputer useはmacOS向けのリサーチプレビューで、ProまたはMaxプランが必要です。TeamとEnterpriseでは使えず、-pフラグの非対話モードでも使えません。
まとめ
数件のフォーム入力なら、確認ダイアログを承認しながら任せれば足ります。数十行のCSVを流すなら、サイト単位の一括許可かオートモードで確認の回数を減らし、進捗をファイルに残す指示を添えておきます。止まったときは、許可プロンプトが未承認のままになっていないかを先に見ます。