Claude Code on the webとCopilot cloud agentの違い — 起動・権限・成果物
GitHubのリポジトリをクラウドで動かす2つのエージェントを、起動経路・push先と承認の関門・成果物の残り方で比べます。
Claude Code on the webとCopilot cloud agentは、どちらもGitHubのリポジトリを使い捨てのクラウド環境で動かし、結果をブランチとプルリクエスト(PR)で返します。違いが出るのは、仕事の渡し方と、エージェントが触れる範囲を誰がどこで絞るかです。
結論を先に書きます。Claude側は「自分のアカウントの権限で、手元のターミナルやスマホからも投げる」道具で、絞り込みはGitHub側のブランチ保護に任せます。Copilot側は「GitHub上のIssueやPRを起点に、push先が最初から1本に固定される」道具で、人間の承認の関門が製品に組み込まれています。
起動経路は、どこから仕事を投げるかで分かれる
Claude Codeのクラウドセッションは、複数の入口から作れます。ブラウザのclaude.ai/code、Claudeアプリの「Code」タブ、Desktopアプリで「Cloud」を選ぶ方法、ターミナルのclaude --cloud、そしてRoutinesによる定期・イベント起動です。どの入口でも同じクラウド環境の設定を使います。
Copilot cloud agentの入口は、GitHub.comの中にあります。エージェントパネル、会話(チャット)、リポジトリのIssueやPRから始められます。チャットから始めると、それまでの会話の文脈がセッションに引き継がれ、実行中もチャットで進み具合を聞いたり方向を直したりできます。
| 比べる点 | Claude Code on the web | Copilot cloud agent |
|---|---|---|
| 起点 | Claude Code on the webブラウザ・スマホ・Desktop・ターミナル | Copilot cloud agentエージェントパネル・チャット・Issue・PR |
| ターミナルから | Claude Code on the webclaude --cloud "タスク" | Copilot cloud agent起点として挙がるのはGitHub.com内の操作 |
| 定期・イベント起動 | Claude Code on the webRoutines | Copilot cloud agentAutomations(対象は条件を満たす非公開・社内リポジトリ) |
| 実行中の追加指示 | Claude Code on the web画面、またはCLIから-pで投函 | Copilot cloud agentチャットで会話 |
ターミナルから投げられる点は、Claude側の特徴です。cloudに送る前にローカルで計画を詰めておく使い方が、公式ドキュメントにも載っています。
claude --permission-mode plan
# 計画をdocs/migration-plan.mdに保存してcommit・push
claude --cloud "Execute the migration plan in docs/migration-plan.md"--cloudが複製するのは、手元のチェックアウトではなくGitHub上の現在のブランチです。pushし忘れたローカルコミットはクラウドに届きません。GitHub連携が無いリポジトリや、Claude GitHub Appが入っていないリポジトリでは、リポジトリごとアップロードする経路に切り替わります。その条件はclaude --cloudとCCR_FORCE_BUNDLEの解説にまとまっています。
実行後の追加指示も、CLIから出せます。既存セッションにメッセージを1件投函して、返事を待たずに終わります。
claude -p "テストの失敗も直して" --cloud session_xxxxxxxxセッションIDは、claude.ai/codeのセッション一覧に出ます。
権限は、GitHubへの接続の仕方で決まる
Claude側は「自分のトークン」か「GitHub Appの範囲」
Claude Code on the webがGitHubに触れる方法は2つです。
- Claude GitHub App: 公開リポジトリと、Appを入れた非公開リポジトリに届く。PRの自動修正(Auto-fix)もこの方式が前提
/web-setup: ローカルのghトークンをClaudeアカウントに送る。ghが届くリポジトリならAppが無くても使える
Anthropicが管理する環境では、GitHubの認証情報はVMの中に入りません。VMからのGitHub操作は専用のプロキシを通り、プロキシが認証情報を差し込みます。このプロキシはブランチの削除と、ブランチ以外(タグなど)へのpushを拒否します。一方で、どのブランチを更新できるかは制限しません。ここを締めるのは、GitHubのブランチ保護かルールセットの役目です。
プロキシはセッションに紐づくリポジトリだけを相手にします。他のリポジトリへのAPI要求は403になります。GraphQLも通りません。gh prやgh issueのようにGraphQLを使うサブコマンドも403になり、REST経由のgh apiで代替することになります。
Copilot側は「push先が1本」に固定される
Copilot cloud agentは、トリガーできる人からして絞られています。リポジトリに書き込み権限のあるユーザーだけが起動でき、権限の無い人のコメントはエージェントに渡りません。
pushできるブランチは1本です。既存PRで@copilotにメンションしたときはそのPRのブランチ、それ以外では新しく作るcopilot/ブランチになります。ブランチ保護と必須チェックの対象でもあります。git pushのようなGitコマンドは直接は実行できず、単純なpush操作に限られます。
作業の範囲は、起動時に指定した1つのリポジトリです。複数リポジトリをまたぐ変更はできず、同時に作業するブランチも1つ、1タスクで開くPRも1つです。
組織のルールとぶつかったとき
Copilot側には、GitHubのルールとの相性問題があります。特定のコミット作成者しか許さないルールのように、エージェントと両立しない保護ルールがあると、エージェントへのアクセス自体がブロックされます。ルールセットで設定している場合は、管理者がCopilotをバイパス対象に加えれば解消します。
Claude側はプロキシがpush先のブランチを絞りません。重要なブランチを守るなら、GitHub側の保護ルールを先に整えておく必要があります。
成果物は、PRの扱いと痕跡の残り方が違う
どちらも最終的な成果物はブランチとPRです。違いは、その後に人間が通る関門の数です。
Copilotに組み込まれた承認の関門
下書きPRで止まる
Copilotが作るPRは下書きです。「Ready for review」への切り替え、承認、マージはCopilotにはできず、人間が行います。
ワークフローは承認待ち
既定では、コードがレビューされ、書き込み権限のあるユーザーが「Approve and run workflows」を押すまでGitHub Actionsは動きません。自動実行に設定を変えることもできます。
依頼者は承認できない
PRの作成を頼んだ本人は、そのPRを承認できません。必須承認ルールの意味が保たれます。
作者が人でないPRは承認がもう1つ必要
Copilot自身の名義でPRが開かれ、リポジトリがすでに1件以上の承認を要求している場合、マージにはさらに1件の承認が要ります。ルールセットでは既定で有効で、管理者が外せます。ブランチ保護では常に適用されます。
Claude側の成果物は、セッションごとの差分(+42 -18のような表示)で確認します。差分は既定でベースブランチと比べますが、別のブランチを選んで比較することもできます。行ごとにコメントを付けて、次のメッセージと一緒にClaudeへ戻せます。PRはclaude.ai/codeから作るか、セッションをターミナルに取り込んで続けます。
取り込みはclaude --teleportで、クラウドで作業したブランチをfetchして会話履歴ごとローカルに持ってきます。条件は4つです。作業ディレクトリに未コミットの変更が無いこと、同じリポジトリ(フォークでない)であること、ブランチがリモートにpush済みであること、同じclaude.aiアカウントであることです。取り込み後の作業はローカルだけに残り、claude.ai側のセッションには反映されません。
Copilot側の痕跡は、GitHubの機能に乗ります。コミットの作者はCopilotで、依頼した開発者が共同作者に入ります。コミットは署名されて「Verified」と表示され、コミットメッセージにはセッションログへのリンクが付きます。管理者にはセッションログと監査ログのイベントも見えます。
自動修正と定期実行は、権限の見え方が逆になる
PR作成後の動きにも違いがあります。Claude側のAuto-fixは、PRのCI失敗とレビューコメントを購読して、直し方が明確なら修正をpushします。解釈が割れるコメントや設計に関わる指摘は、Claudeがユーザーに聞き返します。ベースブランチの更新で生じたコンフリクトは、GitHubがWebhookを出さないため自動では検知できず、セッションで頼んでrebaseさせます。
注意が要るのは、返信の名義です。ClaudeがレビューコメントのスレッドへGitHub上で返信するとき、その返信は自分のGitHubアカウントで投稿されます。各返信には「Claude Codeが書いた」旨のラベルが付きますが、表示されるユーザー名は自分です。issue_commentイベントで動くAtlantisやTerraform Cloud、自前のGitHub Actionsがあるリポジトリでは、この返信が別のワークフローを起動しかねません。インフラをデプロイできるリポジトリでは、Auto-fixを切る選択肢が公式に示されています。
Copilot側の定期実行(Automations)は、作業の名義が違います。自動化で開いたPRやpushしたコードは、その自動化を作ったユーザーの名義になり、作成者本人は承認できません。自動化が使えるツールは作成時に選べ、書き込み権限のないユーザーのイベントは既定で無視されます。ワークフローの承認が人間に残る点は、通常のタスクと同じです。
実行の枠: 時間・ネットワーク・対応するホスト
| 項目 | Claude Code on the web | Copilot cloud agent |
|---|---|---|
| 利用できる契約 | Claude Code on the webPro・Max・Team、およびEnterpriseのプレミアムシート等 | Copilot cloud agentプランと組織のポリシーに依存。リポジトリ単位で無効化も可 |
| 費用の扱い | Claude Code on the webプランの利用上限を他のClaude利用と共有 | Copilot cloud agentプランの利用枠と課金に従う |
| 1セッションの上限 | Claude Code on the web一定期間の無操作でVMが回収される。コマンドとSessionStartフックには変更できる既定タイムアウト | Copilot cloud agent実行時間は最大59分で、延長不可。timeout-minutesで短くはできる |
| ネットワーク | Claude Code on the webNone・Trusted・Full・Customの4段階 | Copilot cloud agentファイアウォールで制限。設定変更や無効化も可能 |
| 対応するホスト | Claude Code on the webGitHub。Team・EnterpriseはGitHub Enterprise Serverも可 | Copilot cloud agentGitHub上のリポジトリのみ |
使える範囲に関して、Claude側には「ホストが違っても動かす道」があります。GitLabやBitbucketのリポジトリは、CCR_FORCE_BUNDLE=1でローカルのバンドルとして送れます。ただしセッションからそのリモートへ結果をpushすることはできません。Copilot側は、GitHub以外のホストにあるリポジトリでは使えません。
並列実行にも差があります。claude --cloudはコマンドを重ねるたびに独立したセッションを作ります。3つのタスクを同時に走らせられますが、使用量はそのぶん増えます。レート制限は他のClaude利用と共有されるためです。Copilotは1タスクにつき1ブランチ・1PRで、並列は複数タスクを別々に投げる形になります。
セキュリティ検査も、Copilot側は製品が持っています。生成コードはCodeQLで検査され、新しい依存関係はGitHub Advisory Databaseと照合され、シークレットスキャンも走ります。しかも、GitHub Secret ProtectionやAdvanced Securityのライセンスは要りません。Claude Code on the webのページには、こうした組み込みの検査の記載がありません。検査はCIとレビューで担保する前提で組むことになります。
どちらを選ぶか
Issueを起点にチーム全体で非同期に回したいなら、Copilot cloud agentは組み込みの関門が多い選択肢です。push先が固定され、PRは下書きで止まり、ワークフローは承認待ちになります。管理者側の統制がそのまま既定値になっています。
ターミナルで計画を詰めてから投げたい、手元のブランチを送りたい、スマホから実行中のセッションを見たい、といった個人の作業の延長にはClaude Code on the webが合います。その代わり、ブランチ保護とCIの整備が前提になります。
| 状況 | 合いやすい側 | 理由 |
|---|---|---|
| Issueを割り当てて放っておきたい | 合いやすい側Copilot cloud agent | 理由Issueから起動でき、PRは下書きで返る |
| ローカルで詰めた計画を実行させたい | 合いやすい側Claude Code on the web | 理由--cloudと--teleportで行き来できる |
| GitLabやBitbucketのコードを触らせたい | 合いやすい側Claude Code on the web | 理由バンドルで送れる(結果のpushは不可) |
| 1回の実行が59分を超えそう | 合いやすい側Claude Code on the web | 理由Copilotは59分で打ち切られ、延長できない |
| 監査証跡と承認の強制が必須 | 合いやすい側Copilot cloud agent | 理由署名付きコミットと承認ルールが標準 |
1回の実行が長い場合、Claude側のページには59分のような固定の上限は載っていません。ただし無操作が続くとVMが回収されるため、承認待ちで長く止めるとセッションが途切れます。
エディタの中で動く対話型のagent modeとの比較は、Claude CodeとCopilot agent modeの違いにあります。Claudeのクラウド環境そのものの仕組みはClaude Code Webのクラウド環境の解説が扱っています。
よくある質問
Claudeのクラウドセッションが「Session creation failed」で始まらないときは
VMを確保できなかった状態です。status.claude.comで障害を確認し、1分ほど待ってやり直します。それでも失敗するなら、GitHub接続からリポジトリが見えているかを確かめます。