· Playbooks

Claude Code 「in the cloud:クラウド・セッションの実践ガイド」

Claude Code in the cloud: a field guide to cloud sessions

この記事は 原文 を DeepL で機械翻訳したものである。正確な内容は原文を参照のこと。

おそらく、ご自身のノートパソコンのターミナルで `Claude Code` を実行していることでしょう。そのセッションは、3つの点でそのノートパソコンに依存しています:

  • 作業ツリーを共有しているため、1つのリポジトリ上で2つのセッションが同じファイルを編集すると、同じポートを巡って競合が発生する可能性があります。
  • このプログラムは、あなたの認証情報を使用して実行されます。
  • コンピュータがスリープ状態になったり、Wi-Fiの接続が切れたりすると、動作が停止します。

クラウドセッションでは、Claude Codeが専用のマシン上で実行されます。各タスクには、リポジトリが新しいブランチにクローンされ、環境設定がすでに完了した状態の新しい仮想マシンが割り当てられます。

claude.ai/code、Claudeのモバイルアプリ、デスクトップアプリ、ターミナル、およびSlackから作業を開始できます。その後、ブラウザ、モバイルアプリ、デスクトップアプリからその進捗を確認できます。作業が完了すると、その成果はプルリクエストに変換できるブランチに保存されます。

クラウドセッションは、Pro、Max、Team、またはEnterpriseプランに追加費用なしで含まれています。クラウドマシンに対する別途の料金は発生せず、セッションの利用制限はClaude Codeの他の機能と同じです。プランによっては、組織の所有者がまずクラウドセッションを有効にする必要がある場合があります。

クラウドセッション用のボーナスクレジット。既存の個人向け「Pro」および「Max」プランの加入者は、プランの制限枠に加えて、クラウドセッション用の1回限りのボーナスクレジットを受け取ることができます。「Pro」プランでは100ドル、「Max」プランでは250ドルです。10月7日までに、claude.ai/code/claim-credit または /claim-credit Claude Code から申請してください。クレジットの有効期限は11月4日です。クレジットを使い切るか有効期限が切れた後は、プランの通常利用条件が適用されます。プロジェクトやルーチンには利用できません。「プロモーションクレジット提供規約」をご確認ください。

このガイドでは、小規模なサンプルリポジトリを用いて、4回の実際のクラウドセッションを実行しました。そのセッションのログ、差分、および所要時間は本文中に随所に掲載されています。スクリーンショットに写っているリポジトリおよびユーザーは架空のものです。作業内容、出力結果、および数値は、これらのセッションに基づいています。

クラウドセッションの主な利点の一つは、複数のタスクを同時に実行しても、互いに干渉し合わないことです。ここでは、16秒以内にそれぞれ別のマシン上で起動した3つのタスクの例をご紹介します。自分のノートパソコンなら、これらを順番に実行するか、あるいは互いに干渉しないように調整するのに時間を費やしていたでしょう。

図A 1つのリポジトリにおける3つのクラウドセッションの実測タイムライン(初回起動からの経過時間、単位:秒)。ハッチングが施されたバーは、サンプルリポジトリを再作成したセットアップ工程(通常はGitHubのクローンで置き換えられます)を示しており、各ドットは1回のツール呼び出しを表しています。

3つのタスク、1つのリポジトリ、3台のマシン

サンプルリポジトリは「tidepool」というもので、3つの架空の港の潮汐を予測する小さなNode APIです。これには3つの一般的な問題がありました。1つは、テストの約4回に1回の割合で1つのテストが失敗すること、もう1つは、APIドキュメントにコードがもはや読み取っていないパラメータが記載されていたこと、そして3つ目は、ロガーが文字列を連結してログ行を生成していたことです。

16秒以内に3つのクラウドセッションを、問題ごとに1つずつ開始しました。これらはプログラムで起動したもので、tidepoolはGitHubにないため、各セッションではまずプロンプト内のファイルからリポジトリを再作成しました。実際のリポジトリがあればこの手順は省略できますが、ターミナルから実行する場合、各セッションは1つの claude --cloud コマンドで実行できます。簡略化すると、3つのプロンプトは次のようになりました:

Shell
claude --cloud "npm test fails maybe one run in four. Find the flaky test, fix the root cause in the code (not the test), and prove it by running the suite at least 30 times in a row."
claude --cloud "docs/API.md is out of date with src/server.js. Rewrite it so every endpoint, parameter, default and response shape matches the code. Start the server and run each curl example to check it."
claude --cloud "Make src/logger.js emit one JSON object per line, keep LOG_LEVEL, and log method, path, status and duration_ms as fields. Add a test for the logger."

各セッションの実行時間は61秒、65秒、72秒で、3つとも最初のセッションが開始されてから87秒後に完了しました。リポジトリの再構築には、各実行時間の約3分の1から半分強を要しました。結果は以下の通りです。

  • 「flaky」テスト。Claudeが TtlCache.getでレース条件が見つかりました。キャッシュはローダーが終了した後にのみ値を格納していたため、再度呼び出されたローダーの読み込み中に、 get ロード中に同じキーに対する2回目のリクエストが行われると、ローダーが再度呼び出されてしまっていた。Claudeは、キャッシュの仕様を変更して処理中のプロミスを格納するようにし、ロードに失敗した際にエントリを破棄するようにした。その結果、 npm test 40回連続で実行し、失敗は一度もなかった。
  • Claude のドキュメントでは、サーバーを起動し、すべてのエンドポイントに対して curl コマンドを実行した結果、旧ドキュメントに5つの誤りがあることが判明しました。そこには、API が決して返さないフィールドが記載されていたり、 days コードが無視するパラメータが記載されていたり、高さがメートル単位であるにもかかわらずフィート単位で表記されていたり、 /next-high エンドポイントを省略していたこと、エラーレスポンスが記載されていなかったことなどが挙げられています。また、形式が不正な from= 値が200ステータスコード付きの空のリストを返すことも判明し、変更を求められていなかったサーバーコードを修正する代わりに、その点を注意点としてドキュメントに記載していました。
  • ロガー。Claude が JSON ロガーを作成し、リクエストログを構造化されたフィールドに移行し、5 つのテストを追加しました。 そのコミットには1つのテストが失敗した状態でマージされたため、Claudeはキャッシュのテストを8回再実行し、そのうち5回で失敗を確認しました。そして、その失敗の原因を、最初のセッションで修正されていたのと同じレース条件にあると突き止めました。同氏は同じ修正案を提案し、キャッシュについては自身のタスクの範囲外であるため手をつけず、要約の中で「テストスイートがクリーンではない」と述べました。

図B 「claude.ai/code」インターフェース上の3つのセッション。これらはローカルで実行されており、実際のトランスクリプトが再生されています。セットアップ手順は省略されており、パスは「/home/user」以下に表示されています。サイドバーの下部にある3つのタイトルは仮のものです。また、モードチップにはデフォルトが表示されています。図C 「不安定なテストを修正する」セッション 図D 「tidepool APIドキュメントを更新する」セッション

図 E A 同じローカルビルドの 20 秒間の記録:3 つのセッション間をクリックして切り替え、その後、ロガーセッションのトランスクリプトをスクロール

ロガーの結果から、クラウドセッションが並行作業に適している理由がわかります。各セッションには、リポジトリの独自のコピー、独自のプロセス、そして独自のブランチがありました。「docs」セッションと「logger」セッションは、それぞれテスト用にAPIサーバーを起動しましたが、互いに影響を与えることはありませんでした。 1台のノートPC上で、1つのチェックアウト内で動作する2つのエージェントが同じファイルを編集すると、それぞれが独自のポートを選ばない限り、ポートの競合が発生することになります。

その分離のため、2番目のロガー・セッションは、1番目のセッションが行っていたキャッシュの修正にアクセスできませんでした。並列タスクをファイルの境界に沿って分割し、分岐を適切な順序で統合し、あるセッションがすでに修正している問題を別のセッションが報告することを想定してください。

CLAUDE CODEクラウドセッションの舞台裏

クラウドセッションとは、Anthropicが管理するインフラストラクチャ上、またはセルフホスト環境下で組織独自のマシン上で実行されるClaude Codeセッションのことです。図にはその構成要素が示されています。その後に続く4つのポイントは、業務の進め方を変えるものです。

図F クラウドセッションの構成。エージェントがアクセスできるすべての要素はVM内に存在します。GitHubトークンとネットワークポリシーは、その外側に配置されています。
図F クラウドセッションの構成。エージェントがアクセスできるすべての要素はVM内に存在します。GitHubトークンとネットワークポリシーは、その外側に配置されています。
  • 各タスクには専用のマシンが割り当てられます。リポジトリが新しいブランチにクローンされた新しいVMが用意されるため、セッション間でファイルやポートが干渉することはありません。インストールされているソフトウェアを確認してください。
  • GitHubのトークンは、VM内には一切入りません。プロキシがこれを保持し、セッションには、自身の作業ブランチへのみプッシュできる短期間有効な認証情報が割り当てられます。GitHubプロキシを参照してください。
  • リポジトリのClaude設定は一緒に含まれますが、個人のものは含まれません。 CLAUDE.md、ルール、スキル、エージェント、およびコマンドはリポジトリと共に移動しますが、 ~/.claude はノートパソコンに残ります。クラウドセッションの設定を参照してください。
  • アイドル状態のVMは解放されます。セッションを再開すると、会話履歴が復元された新しいVMが利用可能になりますので、重要な作業はコミットしてください。「環境の有効期限」もご参照ください。

仕様、権限モード、ネットワークレベルについては、クラウド環境に関するドキュメントを参照してください。

オンプレミスかクラウドか?

クラウドセッションはローカルセッションに取って代わるものではなく、ほとんどの人は両方を併用しています。表には両者の違いが示されており、その後に続く段落では、それぞれがどのような場合に適しているかが説明されています。

ローカルセッションクラウドセッション
動作環境お使いのマシンタスクごとに新しいVM
ノートパソコンがスリープ状態、またはオフラインセッションが終了しますセッションは続いています
1つのリポジトリに複数のタスク個別のワークツリー、ポート、および管理タスクごとに1つのVMと1つのブランチ
エージェントが到達できる範囲SSHキー、クラウドCLIなどを含め、ユーザーアカウントで可能なすべての操作、および ~/.claudeリポジトリ、設定したネットワークレベル、有効にしたコネクタ、およびセッションスコープのGitHub認証情報
ここから始める、または続きを読むその機械、あるいはリモコン経由で操作するあなたの携帯電話ブラウザ、スマートフォン、デスクトップ、端末、Slack、API呼び出し、またはスケジュール
承認コマンドごとのモードを含め、あらゆるモード「自動」、「編集を承認」、または「計画」
「で終わる」作業ツリーの変更点ブランチ、そして必要に応じてプルリクエスト
演算お使いのマシン別途の演算料金はかかりません。ご利用のプランの制限枠が適用されます。

タスクに、自分のマシンにしか備わっていないものが必要な場合は、ローカルで処理するようにしましょう。これには、実際のローカルデータを含むデータベース、VPN経由でアクセスするサービス、GPU、携帯電話シミュレーター、あるいは手元のハードウェアなどが含まれます。 また、変更内容を数秒以内に自分のブラウザで確認したいような、迅速なビジュアルループを行う場合や、組織が「ゼロデータ保持」ポリシーを採用しており、クラウドセッションが無効になっている場合も、ローカル環境を利用してください。

これらのオプションの間に、2つの機能があります。「リモートコントロール」機能では、セッションを自分のマシン上に保持したまま、スマートフォンやブラウザから操作することができます。「セルフホスト環境」は、TeamおよびEnterprise向けベータ版として提供されており、組織独自のインフラストラクチャ上でクラウドセッションを実行するため、プライベートネットワークへのアクセスが可能です。

上記のいずれにも当てはまらない場合、そのタスクはクラウド導入の有力な候補となります。次のセクションでは、クラウド導入が最も効果を発揮するワークフローについて解説します。

クラウドセッションに適した7つのワークフロー

これらのワークフローでは、表に示された違いを最大限に活用しています。具体的には、タスクごとに個別のマシンを用意し、離席中もセッションを継続させ、最後にレビュー用のブランチを作成するというものです。

1. 滞留業務を並行して処理する

たとえば、互いに関連のない5つの小さな修正があるとします。ローカル環境では、これらを順番に処理するか、5つのワークツリーを設定して、それぞれのポートやインストール環境を分離して管理することになります。クラウド環境では、5つのセッションを開始し、5つのブランチを確認することになります。

Shell
claude --cloud "Fix the flaky test in auth.spec.ts"
claude --cloud "Update the API documentation"
claude --cloud "Refactor the logger to use structured output"

claude --cloud 現在のブランチにGitHubのリモートをクローンするため、まずローカルのコミットをプッシュしてください。VMの起動中、CLIにはセットアップ手順のリアルタイムチェックリストが表示され、入力した内容はすべてキューに追加されます。

各タスクを、問題点、完了時の状態、およびその証明方法を明記した、独立したチケットとして作成してください。flaky-testのプロンプトでは、証明方法として「テストスイートを少なくとも30回連続で実行すること」と指定されていました。このセッションでは、40回実行されました。

タスクが1つの大きな取り組みに属している場合、プロジェクト(ProおよびMax向けのパブリックベータ版)では、クラウドセッションの開始と追跡を自動的に行う「コーディネーター会話」が実行されます。その後、これらのセッションは「処理中」、「ユーザー待ち」、「レビュー準備完了」というステータスごとにグループ分けされます。

2. 修正が有効であることを確認する

不安定なテストは、繰り返し検証が必要な作業の最も典型的な例です。テストスイートを何度も実行しなければなりませんが、そのループによって作業中のマシンが占有されてしまうのは避けたいところです。クラウド環境では、Claudeがキャッシュを修正し、1つのコマンドでテストスイート全体を40回実行しました。

図 G 40回の実行、失敗0回:flaky-testセッションの実際のコマンドと出力を、ローカルで実行中のclaude.ai/codeインターフェースで再現したものです。Claudeはsrc/cache.jsにパッチを適用し、1回のステップでテストスイート全体を40回ループさせました。パスは/home/userの下に表示されています。
図 G 40回の実行、失敗0回:flaky-testセッションの実際のコマンドと出力を、ローカルで実行中のclaude.ai/codeインターフェースで再現したものです。Claudeはsrc/cache.jsにパッチを適用し、1回のステップでテストスイート全体を40回ループさせました。パスは/home/userの下に表示されています。

このVMにはコンピューティング料金がかからず、CPUもあなたのものではありませんので、徹底的な検証を求めましょう。テストスイートを200回実行したり、50件のコミットにわたる回帰バグをバイセクト法で特定したり、処理の遅い統合環境を実行したり、あるいはドキュメントのセッションで示されたようにアプリを起動してcurlでリクエストを送ってみてください。

Claudeの各ターンは依然としてプランの消化対象となりますが、1つのコマンド内で長時間テストを実行しても消費量はほとんどありません。フォアグラウンドのコマンドは、デフォルトで2分後にタイムアウト(最大10分)となり、その後最大30分間バックグラウンドで実行され続けます。デフォルト設定は、 BASH_DEFAULT_TIMEOUT_MS および BASH_MAX_TIMEOUT_MS を使用してデフォルト値を引き上げることができます。

3. デスクで計画を立て、クラウド上で構築し、ターミナルで仕上げよう

大規模な変更を行う場合は、まず、やりとりのコストが低い段階でアプローチについて合意を形成しましょう。Claudeをプランモードで起動し、一緒に計画を練り、その計画をコミットしてからプッシュします。

Shell
claude --permission-mode plan
# ...agree on the plan, save it to docs/migration-plan.md, commit and push...
claude --cloud "Execute the migration plan in docs/migration-plan.md"

クラウドセッションが構築されている間、ターミナルは他の作業に自由に使用できます。構築が完了したら、セッションをプルダウンして手動で終了させてください。

Shell
claude --teleport            # pick a cloud session
claude --teleport <session-id>

Teleportは、ユーザーが同じリポジトリにいることを確認し、セッションのブランチを取得してチェックアウトし、会話全体をターミナルに読み込みます。クリーンなワーキングツリーが必要であり(スタッシュするかどうかを尋ねられます)、ブランチはプッシュ済みである必要があります。Claude Code 内で、 /teleport (または /tp) を押すと、同じピッカーが開き、 /tasks その後 t も動作します。デスクトップアプリは逆の動作をしており、その「Open in」メニューからローカルセッションをクラウドに送信します。

4. スマートフォンからチェックインする

Claudeアプリの「コード」タブでは、同じセッションに接続されます。スマートフォンから、タスクを開始したり、その進捗を確認したり、指示を出したり、Claudeからの質問に答えたり、Claudeにプルリクエストを監視するよう指示したりすることができます。

スマホは、キーボードの前に着く頃には忘れてしまいがちな質問に最適です。私は4回目のセッションで、スマホで打ち込みそうな質問を投げかけました。「Tidepoolはどのように潮の満ち引きを予測しているのか、そして時間ウィンドウの端でどのように誤りが生じる可能性があるのか?」と。コードを実行してその答えを確認したところ、実際にバグが見つかりました。 ループは最初と最後のサンプルを一切検査しないため、ウィンドウの開始時刻にぴったり重なる満潮がAPIによって見落とされてしまいます。

図 H 携帯電話から寄せられた質問:claude.ai/code をブラウザ(ネイティブアプリではない)で携帯電話の画面幅に合わせて表示し、ローカルで実行して、第4セッションの実際の回答を再生したもの。図 I Claude サンプルデータに対してコードを実行して各主張を確認し、ファイルは一切変更していない。

5. CIの失敗やレビューのコメントについては、Claude までご連絡ください。

リポジトリに「Claude」GitHub アプリがインストールされている場合、クラウドセッションでプルリクエストをウォッチし、そのプルリクエストの変更に応じてアクションを実行できます。claude.ai/code のセッションにある CI バーから、「自動修正」を有効にしてください。また、 /autofix-pr をPRブランチで実行したり、モバイルアプリにPRの監視を依頼したり、セッションにPRのURLを貼り付けたりすることもできます。

Claude チェックの失敗やレビューコメントに対して明確な修正をプッシュし、どのような変更を加えたかを説明します。曖昧な点やアーキテクチャに関する事項については、確認を求めます。レビュースレッドへの返信は、GitHub のユーザー名で投稿され、「Claude Code」というラベルが付きます。Claude はベースブランチとのマージコンフリクトについて通知を受信しないため、rebase を行うよう依頼してください。また、そのコメントは Atlantis などのコメント駆動型自動化をトリガーすることもできます。

6. 自分で作業を開始せずに、作業を始める

ルーチン(研究プレビュー)とは、プロンプト、リポジトリ、コネクタ、環境など、あるタスクを達成するために設計された、保存済みのリソースの集合です。 各実行は、トリガーによって開始されるクラウドセッションです。トリガーには、スケジュール(最も頻繁な場合は1時間ごと)、ルーチン独自のエンドポイントへのHTTP呼び出し、またはプルリクエストの作成やリリースといったGitHubのイベントがあります。claude.ai/code/routines、デスクトップアプリ、または /schedule CLIを使用して作成できます。ルーチンが実行される際、承認の確認は行われず、デフォルトでは claude/で始まるブランチにプッシュされます。

この際、2つの小さなツールが役立ちます。ログインしている任意のマシン(CIジョブを含む)から、実行中のセッションにフォローアップ処理をキューに入れることができます。

Shell
claude -p "The integration tier is green now; rebase on main and push" --cloud <session-id>

あらかじめ入力済みのセッションをブックマークすることもできます。次のようなURL claude.ai/code?prompt=Triage+the+newest+issues&repositories=acme-labs/tidepool のようなURLにアクセスすると、プロンプトとリポジトリが事前に入力された状態で claude.ai/code が開きます。

7. 完全に信頼できないコードを実行する

コントリビューターからのプルリクエスト、新しい依存関係のインストールスクリプト、あるいは5分前にクローンしたリポジトリなど、いずれもあなたがまだ読んでいないコードを実行する可能性があります。 自分のノートパソコン上では、そのコードはSSHキーやクラウドCLIセッション、ブラウザのプロファイルと同じ環境で実行されます。一方、クラウドセッションでは、それらの要素が一切存在しない使い捨てのVM上で、セッションスコープのGitHub認証情報と、範囲を限定できるネットワーク環境のもとで実行されます。

最も厳格な実行を行う場合は、環境のネットワークアクセスを「None」に設定するか、パッケージレジストリ、GitHub、および主要なクラウドSDKホストへのアクセスを許可する「Trusted」のままにしておきます。 「None」に設定した場合でも、Claude CodeはAnthropic APIへのリクエストを送信し続けるため、データはこの経路を通じてVM外へ送信され、セッションは引き続き自身のブランチへプッシュすることができます。すべてのアウトバウンドトラフィックは、ホスト名をログに記録するプロキシを経由します。

GITHUBを詰まることなく接続する

初めてのクラウドセッションで問題が発生した場合、その原因として最も考えられるのは「GitHub」です。ほとんどの問題は、クラウドセッションに 2 つの別々の「GitHub」権限が必要なことに起因しています。

  • GitHub でログインすると、Claude にあなたが誰であるかが通知されます。
  • アカウントまたは組織に「Claude」GitHub アプリをインストールすると、Claude がそのアカウントまたは組織内のどの非公開リポジトリを閲覧できるかが設定されます。

パブリックリポジトリは、前者だけで機能します。プライベートリポジトリは、それを所有するアカウントや組織にかかわらず、後者が必要です。GitHub に接続した際、プライベートリポジトリが見つからない場合は、通常、そのリポジトリを所有するアカウントや組織にアプリがインストールされていないことを意味します。

接続した内容公開リポジトリあなたのプライベートリポジトリ組織の非公開リポジトリ自動修正、GitHubのトリガー、プロジェクト
GitHubでのみログインしましたはいいいえいいえいいえ
+ 個人アカウントのアプリはいはいいいえあなたのリポジトリ
+ 組織内のアプリ(所有者の承認が必要)はいあなたのアカウントにも登録されている場合に限りますはいOrgリポジトリ
/web-setup (あなたの gh トークン)はいはいあなたのトークンが到達できる場所ならどこへでもいいえ、アプリが必要です

方法 A:ブラウザから接続する(推奨)

claude.ai/connect-github で GitHub アカウントを連携し、リポジトリを所有するアカウントまたは組織に「Claude」アプリ(GitHub)をインストールしてください。組織の場合、通常は所有者の承認が必要です。クイックスタートでは、各手順を順を追って説明しています。

図J ステップ1:GitHubにサインインします。サンプルデータを使用してローカルで実行されているclaude.ai/codeのオンボーディング画面。図中のリポジトリ名および「Research」プレビューチップは、製品独自のアートワークの一部です。図K ステップ2:Claudeアプリ(GitHub)をインストールします。

GitHub にアクセスしても claude.ai/code に戻らない場合は、claude.ai/connect-github の接続ページに、よくある原因をまとめた簡単なチェックリストが表示されています。その一つがシングルサインオンの手順で、これをスキップすると組織のリポジトリが表示されなくなります。

図 L 「GitHub」で元のページに戻らない場合:ローカルで実行中のclaude.ai/codeインターフェースのクイックセットアップ・オンボーディングフローにある、GitHub接続が中断された場合の製品独自のチェックリスト
図 L 「GitHub」で元のページに戻らない場合:ローカルで実行中のclaude.ai/codeインターフェースのクイックセットアップ・オンボーディングフローにある、GitHub接続が中断された場合の製品独自のチェックリスト

「自動修正」やGitHubによって起動されるルーチンやプロジェクトもこのアプリに依存しているため、別の方法で接続する場合でも、このアプリをインストールしてください。

方法 B:ターミナルから /web-setup を使用して接続する

すでに gh CLIをご利用の場合は、 /web-setup Claude Code 内で実行し、 gh Claudeアカウントにトークンを送信してください。これにより、アプリの使用の有無にかかわらず、そのトークンがアクセス可能なすべてのリポジトリにセッションを確立できるようになります。手順については、「ターミナルからの接続」を参照してください。TeamプランおよびEnterpriseプランでは、オーナーが事前に「クイックセットアップ」を有効にする必要があります。

パス C:1回限りの場合は「GitHub」をスキップする

実行 claude --cloud GitHubのリモートが存在しないリポジトリ、またはアプリがインストールされていないリポジトリで実行すると、Claude Codeはリポジトリをクローンする代わりに、そのリポジトリのバンドルをアップロードします。セッションからプッシュできるのは、GitHub接続がそのリポジトリへのプッシュアクセス権を持っている場合のみです。ドキュメントには、バンドルに含まれる内容と含まれない内容が記載されています。

「Team」または「Enterprise」をご利用の場合

オーナーが行うべき簡単なチェックリストは以下の通りです。claude.ai/admin-settings/connectors で「GitHub」コネクタを有効にし、Claude Codeの管理設定でクラウドセッションを許可し、組織のリポジトリに「Claude」GitHubアプリをインストール(またはメンバーのリクエストを承認)し、「クイックセットアップ」を有効にするかどうかを決定します。IP許可リストまたはGitHub Enterprise Serverを導入している組織では、追加の手順が必要です。 IP許可リストおよびGitHub Enterprise Serverに関するドキュメントを参照してください。

それでもうまくいかない場合

目に見えるものなぜ修正
ピッカーにプライベートリポジトリが表示されていませんそのアプリは、そのアプリを所有するアカウントまたは組織にはインストールされていないか、リポジトリへのアクセス権から除外されていますそこでアプリをインストールするか、GitHubの設定にある「アプリのレポジトリアクセス」にそのレポジトリを追加してください。
「組織をリンクするには、その組織の所有者である必要があります」というエラーが表示される当該組織は、通常、保留中のアプリ権限リクエスト、IP許可リスト、またはSAMLシングルサインオンが原因で、メンバーシップの確認をブロックしました。所有者は、組織の「GitHub」アプリの設定で保留中の権限リクエストを承認するか、インストール済みの「GitHub」アプリに対してIP許可リストの継承を有効にするか、あるいは(SAMLの場合)Claudeに組織へのアクセス権を付与します。
接続直後に、組織のリポジトリが表示されなくなるこの組織ではSAMLシングルサインオンを採用しており、その認証手順が省略されましたGitHubの「組織へのシングルサインオン」ステップで、続行する前に各組織の横にある「承認」をクリックしてください。すでにこの手順をスキップしてしまった場合は、GitHubの設定でその組織のClaudeを承認してから、再接続してください。
すべてのクラウドセッションが認証エラーで失敗するClaude組織では、IPアドレスの許可リストを使用していますAnthropicでホストされているサービスについて、サポートに適用除外を依頼する

その他については、ドキュメントのトラブルシューティングを参照してください。これには、接続後にリポジトリが表示されない場合(GitHub)も含まれます。GitHub との接続を完全に解除するには、claude.ai/customize/connectors を使用してください。

セッション参加者が自分の作業を確認するために必要なものを提供しましょう

テストを実行できるセッションは、処理を返す前に自身の動作を確認します。それがなければ、誰も実行していない変更内容をレビューすることになってしまいます。 このガイドのデモの価値の大部分は、Claudeが処理を実行したことに由来しています。スイートを40回実行すること、サーバーとそのcurlコマンド、ウィンドウの端での潮位計算などです。10分間の環境設定を行うことで、Claudeはこれらのチェックを実行できるようになります。

図 M 「claude.ai/code」インターフェースでクラウド環境を追加し、サンプル値(名前、ネットワークアクセスレベル、.env形式の変数、セットアップスクリプト)を使用してローカルで実行する様子
図 M 「claude.ai/code」インターフェースでクラウド環境を追加し、サンプル値(名前、ネットワークアクセスレベル、.env形式の変数、セットアップスクリプト)を使用してローカルで実行する様子
  • まずは「デフォルト」環境から始めてください。この環境では、「信頼されたネットワークアクセス」が使用され、変数やセットアップスクリプトは使用されません。これは、ほとんどの JavaScript、Python、Go、Rust のリポジトリにとって十分な設定です。
  • そのマシン用のセットアップスクリプトを使用してください。これはClaude Codeの起動前にroot権限で実行されるため、 apt install 正常に動作します。セッションを開始するには、スクリプトが 0 で終了している必要があり、環境がキャッシュされるよう、約5分以内に完了する必要があります。その後、新しいセッションは、ディスク上にツールが配置されたスナップショットから開始されます。スクリプトや許可されたホストを変更した際、および約7日ごとにキャッシュが再構築されます。
  • プロジェクトで SessionStart フックを使用します。リポジトリ内のフックに npm install および同様の手順を、リポジトリの .claude/settings.jsonに組み込むことで、ローカルでもクラウドでも同じように実行されます。 CLAUDE_CODE_REMOTE 確認してください。リポジトリフックは、単一リポジトリのセッションで読み込まれます。
  • セッションごとにサービスを起動します。キャッシュにはファイルが保存されます。実行中だったプロセスは、この処理を生き残れません。Claude に実行を依頼するか service postgresql start、または SessionStart フック内で実行してください。
  • 機能する中で最も制限の厳しいネットワークレベルを選択してください。「Trusted」は一般的なレジストリをカバーします。「Custom」を使用してプライベートレジストリを追加し、「Full」はタスクでインターネットへのアクセスが必要な場合にのみ使用してください。変更内容は、約1分以内に実行中のセッションに反映されます。
  • 機密情報は共有変数に保存しないでください。環境変数は、その環境を利用するすべてのユーザーに公開されます。ProおよびMaxプランでは、環境のAPI認証情報が、指定したホストへのリクエストに対してVM外部でキーを添付するため、キーが変数内に保存されることはありません。
  • コマンドをCLAUDE.mdに記述してください。個人の ~/.claude はクラウドVMに到達しません。Claudeが統合テストの実行方法を把握する必要がある場合、リポジトリにその旨を明記する必要があります。

報われる習慣

  • 1つのタスクにつき1回のセッション。小規模で独立したセッションの方が、振り返りやすく、必要がなくなれば簡単に破棄できます。
  • 証拠を求めましょう。タスクが完了したことを証明するコマンド名を挙げ、diff を実行する前に Claude の要約を読んでください。
  • claude --cloud より前にプッシュしてください。VMは GitHub からクローンされるため、プッシュされていないコミットはそこに反映されません。
  • 長時間のタスクを実行する際は、その都度コミットしてください。アイドル状態のVMは解放可能です。
  • diffビューで確認してください。インラインコメントは次のメッセージにまとめて追加され、「PRを作成」をクリックすると、完全なPR、下書き、またはGitHubの作成ページが開きます。
  • Claudeが動作している間は、Steerを実行してください。Claudeが動作している間に送信したメッセージはキューに蓄積され、キューに蓄積されたメッセージを取り消すことができます。
  • セッションを共有します。「Team」および「Enterprise」プランでは、セッションの公開範囲を「Team」に設定し、レビュー担当者が変更がどのように行われたかを確認できるようにします。クラウドセッションからのコミットには、 Claude-Session トランスクリプトへのリンクを含むトレーラーが付随します。
  • 制限に注意してください。並列セッションはプランの制限を並行して消費するため、5つのセッションを実行すると、1つのセッションを実行する場合に比べて約5倍の速さで制限に達してしまいます。ルーチンにはそれぞれ1時間あたりの上限があり、プロジェクトでは1日に最大200個の新しいスレッドを起動できます。

よくある質問

クラウドセッションを利用できるのは誰ですか? Pro、Max、Teamプランのユーザー、およびプレミアムシートまたは「Chat + Claude Code」シートを持つEnterpriseユーザーで、claude.aiアカウントでログインしている方です。コンソールAPIキーやサードパーティプロバイダーでは利用できません。クラウドセッションのドキュメントをご覧ください。

データはどこに保存されるのですか?Anthropicはセッションの記録を保存しますが、その保存期間はご利用のプランおよびモデル改善の設定によって異なります。VMは一定時間操作がないと解放され、セッションを削除するとそのデータも削除されます。データの使用状況とセキュリティについては、こちらをご覧ください。

Claudeは、私のクラウドセッションのデータを使って学習を行いますか? クラウドセッションについては、Claude Codeの他の機能と同じポリシーが適用されます。Team、Enterprise、およびAPIプランでは、組織がオプトインしない限り、Anthropicはお客様のコードやプロンプトを使用してモデルを学習しません。Free、Pro、およびMaxプランでは、モデルの改善設定によって異なります。データの使用状況についてはこちらをご覧ください。

私の大規模なリポジトリにも対応できますか?VMのスペックは、vCPUが約4個、RAMが16GB、ディスク容量が30GBです。負荷の高いインストール作業はセットアップスクリプトにまとめ、一度実行するだけでキャッシュされたスナップショットに反映されるようにしてください。

GitLab や Bitbucket についてはどうでしょうか? claude --cloud どのGitリポジトリからでもバンドルをアップロードできますが、そのセッションからそれらのホストへプッシュすることはできません。GitHub Enterprise Serverは、TeamおよびEnterpriseプランでサポートされています。プラットフォームの制限事項をご確認ください。

並行して進行するブランチ間で競合が発生するとどうなるのでしょうか?各セッションは互いの存在を認識していません。あるブランチをマージした後、次のセッションに対して次のようなフォローアップを送信します。 claude -p "rebase on main and fix any conflicts" --cloud <session-id>.

ローカルのツールは失われてしまうのでしょうか? ユーザーレベルの設定は移行されないため、チームが必要とするものはリポジトリに移してください。 .claude/にスキルやコマンドをコミットし、プロジェクトスコープのMCPサーバーを .mcp.jsonに追加し、テストコマンドを CLAUDE.mdにテストコマンドを文書化してください。クラウドセッションの設定には、各セッションが読み込む内容が一覧表示されています。

5分後に開始

セットアップには約5分かかります。その後、タスクを他の人に引き継ぎ、ノートパソコンを閉じて、レビューの準備が整ったブランチに戻ってくることができます。

  1. claude.ai/code を開くか、 /login Claude Code にアクセスし、claude.ai アカウントでログインしてください。
  2. GitHub を接続し、リポジトリが配置されている場所に「Claude」GitHub アプリをインストールしてください。
  3. リポジトリと「デフォルト」環境を選択してください。
  4. Claude に、バックログから1つのタスクを割り当て、そのタスクが完了したことを証明するコマンドを指定してください。
  5. タブを閉じてください。後でスマートフォンからチェックインし、差分を確認してから、claude.ai/code でプルリクエストを作成してください。