Claude Code Google Docs自動化 — Chromeで下書きを書かせる方法
Claude CodeのChrome連携は、Google DocsやGmail、Notionなど認証済みのWebアプリにAPI設定なしで直接文字を打ち込めます。前提条件と手順、他アプリへの応用パターンをまとめます。
Claude CodeからGoogle Docsを操作するには、claude --chromeで起動してChrome拡張機能と連携します。ログイン済みのGoogle Docsを開いてカーソルを合わせ、文章をそのまま打ち込めます。API連携やOAuth設定は不要です。コミットログを渡して進捗レポートの下書きを作らせる使い方が典型例です。
Claude Code Google Docs自動化と呼べるこの動きは--chromeフラグの一用途です。Gmail・Notion・スプレッドシートなど、ログイン済みのWebアプリ全般に同じ手順が使えます。つまずきの大半は、操作の書き方ではなく接続の前提条件で起きます。そのため本記事は、動かない原因の切り分けから始めます。
繋がらないときに最初に疑う3つの前提
Chrome連携の前提
認証方式
/loginでサインインしたセッションが必要です。APIキーやclaude setup-tokenで発行した長期トークンで認証していると、--chromeを付けても連携はオフのままです。契約経路
Pro・Max・Team・Enterpriseのいずれかを直接契約している必要があります。Amazon Bedrock・Google CloudのAgent Platform・Microsoft Foundry経由だけの場合は、この機能のために別のclaude.aiアカウントが要ります。
ブラウザと拡張機能
Chrome、Edge、またはBrave・Arc・Vivaldi・Operaなどのブラウザと、バージョン1.0.36以降のClaude in Chrome拡張機能が必要です。WSLでは使えません。
認証方式で連携が切れる理由は、ブラウザ拡張機能がAPIキーや長期トークンでは認証できないためです。v2.1.216より前はこの状態でも連携を有効にできましたが、拡張機能への接続はどれも403エラーで失敗していました。現在は最初から連携がオフになります。
拡張機能の権限設定やサイト単位の許可など、拡張機能そのものの挙動はClaude Chrome拡張機能の使い方で扱っています。
Google Docsに下書きを書かせる手順
下書きを書かせるまでの流れ
- 1
--chromeを付けて起動する
初回起動時だけ、連携の概要とサイト権限の仕組みを説明するダイアログが出ます。Enterキーで進みます。
- 2
自然文で依頼する
Google DocsのURLと、書かせたい内容を1回の指示にまとめます。
- 3
許可ダイアログに答える
確認が出たら承認します。ダイアログは
Claude in Chrome wants toで始まり、そのサイトでの操作をセッション中すべて許可する選択肢もあります。
claude --chrome起動できたら、指示は次のように書きます。
コミットログをもとにプロジェクトの進捗レポートを書いて、
docs.google.com/document/d/abc123 のGoogle Docsに追加してClaudeはドキュメントを開き、エディタ内をクリックして、生成した文章を入力します。ログインページやCAPTCHAに当たると作業を止め、手動での対応を求めます。パスワードやCAPTCHAを自動で突破することはありません。事前に自分でGoogle Docsにサインインしておく必要があります。
毎回--chromeを付けたくないときは、/chromeを実行して「Enabled by default」を選びます。ただしブラウザツールが常時読み込まれ、コンテキストの消費が増えます。増加が気になるなら設定を戻し、使うときだけフラグを付ける運用が軽く済みます。
手元のv2.1.287で確認できたこと
実機のclaude(v2.1.287)で、ヘルプの出力と連携が使うファイルを確認しました。モデルを呼ぶ操作やログインは行っていません。
claude --help | grep -e "--chrome" -e "--no-chrome" --chrome Enable Claude in Chrome integration
--no-chrome Disable Claude in Chrome integration--no-chromeが対になっています。/chromeで「Enabled by default」にしたあとに、特定の実行だけ連携を外したいときの手段として使えます。
連携を初めて有効にすると、Claude CodeがChrome用のネイティブメッセージングホストの設定ファイルを置きます。macOSのChromeでは~/Library/Application Support/Google/Chrome/NativeMessagingHosts/の下にあります。中身は次のとおりです(ホームのパスは~に置き換えました)。
{
"name": "com.anthropic.claude_code_browser_extension",
"description": "Claude Code Browser Extension Native Host",
"path": "~/.claude/chrome/chrome-native-host",
"type": "stdio",
"allowed_origins": [
"chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/"
]
}allowed_originsに入っている拡張機能IDは、Chromeウェブストアの拡張機能ページのURLに含まれるIDと同じです。別の拡張機能からはこのホストを呼べない作りです。Chromeはこのファイルを起動時に読むため、初回に拡張機能が検出されなければ、Chromeを再起動すると解消します。
Google Docs以外にも使える認証済みWebアプリの自動化
Claude Codeはログイン状態を共有したブラウザで操作するため、API接続やコネクタの設定なしに、ログイン済みのWebアプリなら同じやり方が通用します。組織全体でコネクタ機能自体を止めたい場合はdisableClaudeAiConnectorsを使います。
| 用途 | プロンプト例 | 向いている場面 |
|---|---|---|
| Google Docsに下書き | プロンプト例「コミットログから進捗レポートを書いてDocsに追加して」 | 向いている場面定型の議事録・週報作成 |
| Gmailの返信下書き | プロンプト例「この問い合わせに丁寧な返信を書いて下書き保存して」 | 向いている場面定型対応の一次案作成 |
| Notionページ更新 | プロンプト例「今週完了したタスクをNotionのページにまとめて」 | 向いている場面個人・チームの記録更新 |
| CRMへのデータ入力 | プロンプト例「CSVの各行をCRMのフォームに転記して」 | 向いている場面反復的なフォーム入力 |
| Webページからのデータ抽出 | プロンプト例「商品一覧の名前と価格を抽出してCSVに保存して」 | 向いている場面構造化されていない情報の収集 |
CRMへの入力やデータ抽出は、ローカルのファイルとブラウザの間を行き来する点で、単なる文章生成と性格が違います。ブラウザで完結しない操作をネイティブアプリ側で行う場合はDesktop Computer Useの有効化も参考になります。
複数のタブをまたぐ指示も通ります。たとえば「明日の予定を確認し、外部から参加する人がいたら、その会社のWebサイトを調べてメモを残して」という依頼では、Claudeがタブを行き来して1つのタスクを進めます。下書きの入力を、こうした処理の最後の一手に組み込むこともできます。
ローカルのファイルをアップロードさせる
Webフォームの添付欄へ、手元のファイルを渡す指示も出せます。Claude Codeがファイルを読み、その内容をブラウザへ送る仕組みなので、リモートセッションでも成立します(v2.1.211以降)。制約は4つあります。
- 読み取り権限が無いファイルはアップロードできない。
Readを拒否する権限ルールは、アップロードも止める - 1回のアップロードは合計10MBまで
.env・.pem・.keyや.ssh配下など、認証情報の置き場所にあたる名前のファイルは拒否される(v2.1.293以降)node_modulesのようなパッケージマネージャーのストアに多い、ハードリンク付きのファイルは拒否される。コピーしてからアップロードする
権限モードによる確認の違い
サイト単位の許可は、Chrome拡張機能の設定を引き継ぎます。拡張機能の設定画面で、Claudeが閲覧・クリック・入力できるサイトを管理します。
Plan modeで確認が入ると公式が明記している操作は、次の3つです。GIFの記録、新しいタブを開く操作、ショートカットの実行です。tabs_context_mcpがcreateIfEmpty付きで呼ばれる場合や、これらを含むbrowser_batchも対象です。公式はクリックや入力がPlan modeでどう扱われるかを書いていません。そのため、Google Docsへの入力に毎回承認が要るかどうかは、実際に動かして確かめる範囲です。
Plan modeでも承認なしで進む例外があります。bypass permissionsモードが使える状態で、feature-flagの取得がオフのときです。
auto modeでは、分類器がブラウザ操作を承認すると、拡張機能側のサイト単位の確認がその操作に限って省かれます。ただしClaude in Chromeへのサイトを拒否する権限ルールがあれば、この省略は起きません。権限モード全体の変遷はClaude Code権限モデルの変遷で扱っています。
作業後にタブがどうなるか
Claudeが開いたタブは、セッションに紐づいたタブグループにまとまります。ローカルセッションでの扱いは、セッションの終わり方で変わります。
/clearを実行すると、開いていたページごとグループが閉じる。ただし、クリアをまたいで動き続ける作業がある場合は、次の条件になる/resumeでの切り替え、Claude Codeの終了、クリアをまたぐ作業が残る状態での/clearでは、空の新規タブしか無いときだけグループが閉じる
Google Docsのように読み返したいページは、/clear以外の終わり方なら開いたまま残ります。
作業の記録を残すときの注意
画面の操作はGIFとして記録でき、スクリーンショットもファイルに保存できます。「チェックアウトの流れをGIFで記録して」「このページのスクリーンショットをディスクに保存して」と頼めば、Claudeがファイルとして保存します。スクリーンショットは保存先のパスも返します。v2.1.211より前は、スクリーンショットツールのsave_to_diskオプションがファイルを書きませんでした。
GIFには、ブラウザに映っているものがすべて写ります。ログイン後のページなら、アカウント情報も含まれます。Google Docsの下書きを記録するときは、社外に出す前に中身を見直してください。
VS Code拡張から使う場合
VS Code拡張機能では、--chromeフラグは要りません。拡張機能を入れたChromeがあれば、プロンプト入力欄に@browserと書いて依頼できます。
@browser localhost:3000のDocs下書きページを開いて、
サンプルテキストで入力欄の動作を確認してEnabled by defaultを有効にしてv2.1.287以降を使っていれば、@browserと入力する前にセッション開始時点でブラウザへ接続します。それより前のバージョンでは、@browserを入力した時点で接続します。
添付メニューから、新しいタブを開く・ページ内容を読むといった個別のブラウザツールを選ぶこともできます。VS Code拡張全般の使い方はClaude Code VS Code拡張機能の使い方にまとめています。
症状別のつまずき
複数のブラウザが接続されていると、最初のブラウザ操作の前に、どれを使うかの選択を求められます。一度選べばその選択が使われ、途中で変えるには/chromeから「Select browser…」を選び直します。
表示される主なエラーと対処は次のとおりです。
| 表示 | 原因 | 対処 |
|---|---|---|
| Browser extension is not connected | 原因ネイティブホストが拡張機能に届かない。組織のIP許可リストがbridge.claudeusercontent.comへの接続を拒んでいる場合もある | 対処ChromeとClaude Codeを再起動し、/chromeで再接続する |
/chromeで「Not detected」 | 原因拡張機能が未インストールか無効 | 対処chrome://extensionsで導入・有効化する |
| No tab available | 原因タブの準備前に操作を始めた | 対処新しいタブを作って再試行するよう頼む |
| Receiving end does not exist | 原因拡張機能のサービスワーカーが待機状態になった | 対処/chromeで「Reconnect extension」を選ぶ |
Windowsでは、同じ名前付きパイプを別のプロセスが使っているとEADDRINUSEが出ます。Claude Codeを再起動し、Chromeを使う他のセッションを閉じると収まります。
画面上のalertやconfirmのダイアログがページを塞ぐと、Claudeはコマンドを受け取れなくなります。ダイアログを手動で閉じてから、続行を指示します。長時間のセッションでツールが反応しなくなったときも、同じ「Reconnect extension」が効きます。
組織の管理者がClaude in Chromeをオフにしていると、--chromeも/chromeもブラウザツールも使えません(v2.1.260以降)。
組織の管理者がdeniedMcpServersでclaude-in-chromeを拒否している場合、拡張機能が未導入でもインストールの案内は出ません。managed-mcp.jsonを配布していて、allowClaudeInChromeWithManagedMcpで併用を許可していない場合も同様です。管理側の設定が絡む症状は、接続の問題と見分けがつきにくい点に注意が要ります。接続そのものの切り分けはClaude Code Chrome連携のトラブルシューティングにまとめています。
API連携とChrome自動化の選び分け
Google Docsを自動化する2つの道
Chrome連携
普段のログイン状態をそのまま使えます。GCPプロジェクトやOAuth同意画面の準備が要りません。目の前のブラウザで、画面を見ながら進められます。
Google Docs API
GCPプロジェクト、OAuth同意画面、認証情報の管理が要ります。ブラウザを介さないので、画面の状態に左右されずに処理を組めます。
この比較は筆者の整理で、公式がAPIとの優劣を述べているわけではありません。Chrome連携はブラウザのタブを操作する仕組みなので、画面を開いて確認しながら進める少数のドキュメントに向きます。件数が多く、人が見ていない時間に流したい用途は、API側から検討するほうが筋が通ります。
まとめ
動かないときは、認証方式・契約経路・拡張機能の3点を先に見ると原因に早く当たります。連携が使えるなら、claude --chromeで起動して自然文で頼むだけで、ログイン済みのWebアプリに文章を入力できます。大量処理や無人実行が前提なら、Chrome連携でなくAPIを選ぶ場面です。