リモートコントロールとモバイル
リモートコントロールで手元のセッションをスマホやブラウザから操作する方法と、モバイルアプリ、要件、制限、エラー対処を引けます。
リモートコントロールは、自分のマシンで動く Claude Code のセッションを、claude.ai/code や Claude アプリ(iOS・Android)につなぐ機能です。コードの実行とファイルアクセスは終始手元のマシンで行われ、Web・モバイル側はそのセッションをのぞく窓になります。
- ローカルのファイルシステム・MCP サーバー・ツール・プロジェクト設定をそのまま使え、
@でローカルのファイルパスを補完できます - ターミナル・ブラウザ・スマホのどこからでも、同じ会話に交互にメッセージを送れます(サブエージェントやワークフローの進行も同期されます)
- スマホやブラウザから写真・ファイルを添付できます。写真はそのまま Claude に渡り、そのほかのファイルは手元にダウンロードされて
@の参照として渡されます - ノート PC のスリープやネットワーク切断の後は、マシンが戻れば自動で再接続します
- マシンの電源を入れ、
claudeのプロセスを動かし続ける必要があります。マシンを止めて続けたい作業はクラウド(Web)が向きます
要件#
| 項目 | 内容 |
|---|---|
| サブスクリプション | Pro・Max・Team・Enterprise。API キーは非対応。Team・Enterprise では、先に Owner が Claude Code の管理設定で「Remote Control」のトグルをオンにする |
| 認証 | claude を起動して /login で claude.ai にサインインする。資格がないと claude remote-control はエラーで終了し、claude --remote-control は対話セッションを始めた後に失敗の通知を出す |
| API エンドポイント | Amazon Bedrock・Google Cloud の Agent Platform・Microsoft Foundry、ANTHROPIC_BASE_URL を api.anthropic.com 以外(LLM ゲートウェイやプロキシ)に向けている場合(変数を解除すれば使える)、企業の Claude apps gateway でのサインインでは使えない |
| フィーチャーフラグの評価 | CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC か DISABLE_GROWTHBOOK を設定すると使えない(シェル環境か settings.json の env から解除する)。DISABLE_TELEMETRY か DO_NOT_TRACK だけなら、組織が Trusted Devices を必須にしていない限り使える(これらの変数を設定したままの利用は Claude Code v2.1.283 以降) |
| ワークスペースの信頼 | まだ信頼していないディレクトリで claude remote-control を実行すると、信頼で有効になる内容を表示し、Trust <directory>? [y/N] と聞く。y で保存される(ホームディレクトリでは保存されず毎回聞かれる)。標準入出力がターミナルでないと聞けず、Workspace not trusted エラーで終了する |
セッションを始める#
CLI・Claude デスクトップアプリ・VS Code 拡張から始められます。CLI の起動方法は3つあり、デスクトップと VS Code は /remote-control コマンドを使います。
| 方法 | コマンド | 特徴 |
|---|---|---|
| サーバーモード | claude remote-control |
端末でプロセスが待ち受け、リモートからの接続を受ける。複数セッションを1プロセスで扱える |
| 対話セッション | claude --remote-control(または --rc) |
ターミナルで普通に対話しつつ、claude.ai やアプリからも操作できる。名前を付けるなら claude --remote-control "My Project" |
| 既存のセッションから | /remote-control(または /rc) |
今の会話履歴を引き継いで始まる。名前は /remote-control My Project のように渡す。--verbose は使えない |
| VS Code | プロンプト欄で /remote-control か /rc |
名前の引数と QR コードは出ない。タイトルは会話履歴か最初のプロンプトから付く |
| デスクトップアプリ | ローカルセッションの「Code」タブで /remote-control か /rc |
接続後、claude.ai/code のセッション一覧に出る |
初回は、リモートコントロールの1回限りの確認があります。サーバーモードでは Enable Remote Control? (y/n) と聞かれ、y で承認して始まります(断ると終了し、次回また聞かれる)。/remote-control ではダイアログで「Enable Remote Control」を選びます(「Never mind」か Esc なら接続せず、次回また聞く)。
サーバーモードのプロセスは端末に残り、セッション URL を表示します。Space で QR コードの表示を切り替えられます。VS Code とデスクトップは、もう一度 /remote-control を実行すると切断できます。VS Code では、接続中、プロンプト欄のフッターに「Remote Control」の表示が出ます。
サーバーモードのフラグ#
claude remote-control の後ろに付けます。
| フラグ | 説明 |
|---|---|
--name "My Project" |
claude.ai/code のセッション一覧に出るタイトルを指定する |
--remote-control-session-name-prefix <prefix> |
名前を指定しないときの自動生成名の接頭辞。既定はマシンのホスト名で、myhost-graceful-unicorn のような名前になる。環境変数 CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX でも同じ |
-c, --continue |
このディレクトリで直近のサーバーが最初に始めたセッションを復元する。--session-id・--spawn・--capacity・--create-session-in-dir とは併用できない。Claude Code v2.1.200 以降 |
--session-id <id> |
ID を指定して1つのセッションを復元する。--continue・--spawn・--capacity・--create-session-in-dir とは併用できない。v2.1.200 以降 |
--spawn <mode> |
サーバーがセッションを作る方法(下表) |
--capacity <N> |
同時セッションの最大数。既定は 32。--spawn=session とは併用できない |
--[no-]create-session-in-dir |
サーバーの起動時に、現在のディレクトリで1つ先にセッションを作る(既定でオン)。worktree モードでも、このセッションは現在のディレクトリのままで、オンデマンドのセッションが専用の worktree になる。--no-create-session-in-dir で始めると、止めたときにサーバーのセッションがアーカイブされ、復元できない |
--permission-mode <mode> |
サーバーのセッションの開始時の権限モード(例:acceptEdits)。manual は default の別名。認識できないモードだと起動時に止まり、有効なモードを一覧する |
--chrome / --no-chrome |
サーバーが作るセッションでChrome 連携をオン・オフし、別の端末から操作している間も手元の Chrome を使えるようにする。どちらも付けないと、サーバーが先に作るセッションと、claude.ai/code やアプリで自分が始めたセッションは、Chrome をオフで始める(Chrome を既定でオンにしていても)。プロジェクトのスレッドのために始めるセッションは、その設定に従う(bypassPermissions モードを除く)。v2.1.273 以降 |
-d, --debug[=<filter>] |
サーバーのデバッグログをオンにする。フィルターは --debug=api,hooks のように = の形でだけ渡す。v2.1.282 以降 |
--debug-file <path> |
デバッグログを指定のファイルに書く |
--verbose |
接続とセッションの詳細ログを出す |
--spawn の値です。実行中に w で same-dir と worktree を切り替えられます。
| 値 | 動き |
|---|---|
same-dir(既定) |
すべてのセッションが現在の作業ディレクトリを共有する(同じファイルを編集すると競合しうる) |
worktree |
オンデマンドのセッションごとに専用のgit worktreeを持つ。git リポジトリが必要 |
session |
単一セッションモード。1つのセッションだけを扱い、追加の接続を拒否する。起動時にだけ指定できる |
remote-controlの前にグローバルなclaudeフラグを付ける、またはラッパースクリプトが足すと、そのフラグはサーバーが作るセッションに引き継がれません。--verboseや--modelのように、外しても動作が変わらないと分かっているものは通ります。--settingsなどそれ以外のフラグは、Claude Code が起動を拒否し、外すべきフラグ名を示します- サーバーのセッションをサンドボックス化するには、設定ファイルでサンドボックスをオンにします
- 資格のないアカウントで
claude remote-control --helpを実行すると、フラグ一覧の代わりにエラーが返ります(ヘルプの前に資格を確認するため)
接続の確認と別の端末からの接続#
対話セッションで接続中は、端末に claude.ai のセッションへのリンクになった /rc active の表示が出ます(端末の幅が狭いと隠れます)。もう一度 /remote-control を実行すると、セッション URL と QR コードのステータスパネルが開き、ローカルのセッションを動かしたまま切断もできます。
接続に失敗すると表示が変わり、理由が通知と会話に出ます。次の理由でなければ /remote-control で再接続します。
| 理由 | 対応 |
|---|---|
| Another connection took over this session | 別の端末や Claude Code のセッションが引き継いだ。取り戻したいときだけ /remote-control |
| This session was ended or archived from another device or app | 戻したいときだけ /remote-control(アーカイブ済みのセッションは再び開かれる) |
| The server no longer reports this session | 別の端末やアプリで削除された可能性がある |
別の端末からの接続方法は3つです。
- セッション URL を任意のブラウザで開き、claude.ai/code の該当セッションへ直行する
- セッション URL と並んで出る QR コードを読み取り、Claude アプリで開く(
claude remote-controlでは Space で QR の表示を切り替える) - claude.ai/code か Claude アプリを開き、セッション一覧から名前で探す。モバイルでは「Code」をタップする。オンラインのセッションは、緑の状態ドットが付いたコンピュータのアイコンで出る
接続すると、そのセッションがバックグラウンドで動かしているサブエージェントとワークフローが表示され、端末から止めると、手元のマシンのタスクも止まります。Claude アプリがまだなければ、Claude Code で /mobile を実行すると claude.ai/mobile の QR コードが出て、スマホに合うアプリストアが開きます。
リモート側のセッションのタイトルは、次の順で決まります。
--name、--remote-control、/remote-controlに渡した名前/renameで付けたタイトル- 既存の会話履歴の最後の意味のあるメッセージ
myhost-graceful-unicornのような自動生成名(myhostはホスト名か--remote-control-session-name-prefixの接頭辞)
名前を明示していなければ、プロンプトを送った時点でタイトルがそれを反映して更新されます。claude.ai やアプリでセッション名を変えると、claude --resume に出るローカルのタイトルも更新されます。
接続した端末に見えるもの#
| 場面 | 動き |
|---|---|
圧縮と /clear |
圧縮中は進行状況と圧縮された位置が表示される。/clear で会話がリセットされると、接続した端末でもリセットされる |
/resume で会話を切り替え |
切り替え先のタイトルと過去の履歴は端末に届かないが、新しいメッセージは、ターミナルで開いている会話との間で双方向に届く。元の会話に戻るには、ターミナルで /resume して戻す |
/teleport でセッションを引き込む |
引き込んだ会話の過去の履歴は端末に届かない。新しいメッセージは、ターミナルで開いている会話との間で双方向に届く |
| 他のセッションからのメッセージ | セッション間のメッセージでは、別のマシンの自分のセッションやクラウドセッションからのメッセージも同じ接続で届く |
| 変更の差分 | セッションのディレクトリが git リポジトリなら、差分ペインに変更が出る。既定ブランチより先のコミットがあるブランチでは、分岐してからの変更とコミット前の編集を、既定ブランチ(または先のコミットがないブランチ)ではコミット前の変更だけを表示する |
| モデル | 端末でモデルを選ぶと、そのモデルでセッションが動く(v2.1.238 以降)。端末のモデル選択は現在のセッションにだけ効き、対話セッションに /model <name> を送ると、新しいセッションの既定も設定される |
| effort | /effort か端末の effort 操作で設定でき、手元のセッションに適用される。CLAUDE_CODE_EFFORT_LEVEL で固定していると、そのレベルを保ち、別の選択は拒否される。端末の effort 操作でのレベル選択は、手元のマシンで Claude Code v2.1.234 以降が必要 |
| 接続失敗後の再接続 | /remote-control で再接続する。その間に圧縮で会話が書き換わった、または /resume で会話を切り替えた場合は、使っていたサーバー側のセッションをアーカイブする(アーカイブの絞り込みで見つけられる)。端末がつながったまま会話を切り替えてもアーカイブしない |
すべてのセッションで有効にする#
リモートコントロールは、claude remote-control・claude --remote-control・/remote-control を明示的に実行したときだけ有効になります。自動接続をオンにすると、すべての対話セッションで接続されます。Claude Code の /config で「Enable Remote Control for all sessions」を設定します。
| 値 | 動き |
|---|---|
true |
対話セッションの開始時に自動で接続する |
false |
自動接続をオフにする。選択はユーザー設定に保存されるので、管理設定の true が優先される。プロジェクト・ローカル設定(.claude/settings.json・.claude/settings.local.json)の false は、管理設定の true よりも優先して自動接続を止める |
default |
選択を消し、組織の管理者の既定があればそれに、なければ Claude Code の現在の既定に従う |
CLI の外でも同じトグルがあります。
- デスクトップアプリ:「Settings > Claude Code > Connect new sessions to Remote Control」
- VS Code 拡張:コマンドメニューの Settings 節の「Enable Remote Control for all sessions」
設定ファイルからなら、ユーザーの ~/.claude/settings.json か管理設定で remoteControlAtStartup を true にします。プロジェクト・ローカル設定では false だけが有効で true は無視されます(コミット済みのファイルで、リポジトリを開いた全員の自動接続をオンにできないように)。自動接続は自分の claude.ai アカウントでサインインするので、始まったセッションは自分のアカウントの Claude アプリにだけ出て、他の人にアクセスを与えません。この設定がオンのとき、対話の Claude Code プロセスごとにリモートセッションが1つ登録されます。1プロセスで複数の同時セッションを動かすならサーバーモードを使います。
サーバーを止めた後にセッションを戻す#
claude remote-control を Ctrl+C で止めると、サーバーが扱っていたセッションは、スマホやブラウザから応答しなくなります。同じディレクトリで別の claude remote-control を動かしておらず、--no-create-session-in-dir で始めてもいなければ、Claude Code はアーカイブしません。同じディレクトリで次のどれかを実行して戻します。
| コマンド | 戻るもの |
|---|---|
claude remote-control |
サーバーが扱っていたすべてのセッション |
claude remote-control --continue |
サーバーが最初に始めたセッションだけ。そのセッションが終わると終了する。このディレクトリに記録がなければ、このリポジトリの別の git worktree の最新のものを使う |
claude remote-control --session-id <id> |
渡した ID のセッションだけ。そのセッションが終わると終了する。ID は claude.ai/code の URL の /code/ と ? の間の部分 |
これらはサーバーの停止後およそ4時間のあいだ使えます。その後は claude remote-control で新しいセッションを始めます。その間にアーカイブしたセッションは、Claude Code v2.1.228 以降なら --continue と --session-id がアーカイブを解除します。
claude --remote-controlや/remote-controlで始めたセッションは、claude --continueかclaude --resumeで会話を再開して戻します。再開した会話が始まる権限モードについては、セッションの再開と管理 の「再開時の権限モード」を見てください。再接続しなければ、下の「Couldn't reconnect to your Remote Control session」を見てください- 最初のターミナルでリモートコントロールがオンのまま、2つ目のターミナルで会話を再開すると、2つ目に
Remote Control not started hereと出て、そこではリモートコントロールをオフのままにします(最初のターミナルから取り上げません)。2つ目に移すには、そこで/remote-controlを実行します - リモートコントロールがオンだった会話を Claude Desktop や IDE 拡張で再開すると、一覧に新しく足さず、既存の claude.ai のセッションへ再接続します
接続とセキュリティ#
手元の Claude Code セッションは外向きの HTTPS リクエストだけを行い、マシンの受信ポートは開きません。起動すると Anthropic API に登録して作業をポーリングし、別の端末から接続すると、サーバーが Web・モバイルのクライアントと手元のセッションの間で、ストリーミング接続を通してメッセージを中継します。通信はすべて TLS で Anthropic API を通り、用途を1つに絞った短命の資格情報を複数使い、それぞれ独立に失効します。
接続中は、メッセージ・Claude の応答・ツールの動きを含むセッションの文字起こしが Anthropic のサーバーに保存されます(端末間の同期と、ネットワーク切断後の再接続のため)。実行とファイルアクセスは手元のマシンにとどまり、保存された文字起こしはデータ利用の方針で保持されます。完全に止めるには disableRemoteControl 設定を使います。Zero Data Retention など、コンプライアンス要件のある組織では有効にできません。
Trusted Devices(ベータ)#
補足
Trusted Devices はベータです。機能は今後変わる可能性があります。Pro・Max・Team・Enterprise で使え、既定はオフです。Team・Enterprise では Owner が組織で有効にします。Pro・Max では、設定の Cowork かアカウントのページで自分で「Require trusted devices」をオンにします。
組織のメンバー(Pro・Max では自分1人)が、claude.ai・Claude モバイルアプリ・Claude Desktop からリモートコントロールのセッションを見る・操作するために、端末の検証を必須にします。アカウントのサインインだけでなく、既知の端末と最近の認証にアクセスを結びつけます。設定がオンのとき、操作するには次の2つが要ります。
- 登録済みの端末:リモートコントロールに使うブラウザ・スマホ・デスクトップアプリごとに、自分の資格情報を登録する。登録はフルサインインの直後にだけ提示される
- 最近のサインイン:サインインが18時間以内であること。毎日サインインし直す代わりに、Face ID・Touch ID・Windows Hello・パスキーで本人確認すると、すぐ更新される
生体認証の確認は、OS かブラウザを通じて端末上で行われ、パスキーのサインインと同じ仕組みです。Anthropic は指紋・顔などの生体情報を受け取らず、保存もしません。保存するのは端末の公開鍵と、表示名・プラットフォーム・登録時刻などの基本的なメタデータだけです。この設定は、Claude Code と Cowork の両方のリモートコントロールに効きます(このページは Claude Code 側の話です)。通常の Claude のチャット、ターミナルの Claude Code、API の利用には影響しません。
Team・Enterprise で有効にする手順(Owner)です。
- 「Organization settings > Capabilities > Remote sessions」を開き、「Require trusted devices」のトグルを見つける
- オンにする。設定は組織の全メンバーに効き、有効にした後に始まるセッションが対象。有効にする前から動いていたセッションは、終わるまで端末の要件なしで続く。チームやプロジェクト単位の範囲指定はできない
- メンバーに周知する。有効にした後、新しいセッションをブラウザ・スマホ・デスクトップアプリから初めて見る・操作するとき、その端末の登録を求められる
メンバーに見える動きです。
| 場面 | 動き |
|---|---|
| 各端末での初回 | 登録を求められる。サインインが新しくなければ、先に通常の流れ(設定があれば SSO を含む)でサインインして、登録を確認する |
| 普段 | 登録済みの端末と最近のサインインがあれば、確認は出ない。サインインが18時間を超えた後の最初の操作で、Face ID・Touch ID・Windows Hello・パスキーの確認が1回出る |
| 未登録の端末 | 登録するまでリモートコントロールのセッションを見る・操作することができない。通常の Claude のチャットは影響なし |
| プラットフォームの認証器がない | Face ID・Touch ID・Windows Hello のないマシンでは、ハードウェアのセキュリティキーを使うか、確認の代わりにサインインし直す |
| ターミナル | Claude Code を動かすマシンは、CLI にサインインしたときに自動で独自の資格情報を受け取る。ターミナルでの別の登録手順はない |
登録済みの端末は、claude.ai/settings/account の「Trusted devices」の節で、名前・プラットフォーム・登録日を見て、自分で削除できます。削除すると資格情報はすぐ失効し、あとで新しくサインインすれば再登録できます。更新しないと資格情報は自然に失効するので、使っていない端末は一覧から外れます。端末を紛失・盗難にあったら、このページから削除します。サインインできなければ、管理者が管理コンソールの「Sign out everywhere」で、そのメンバーのすべてのセッションと登録端末を失効でき、その後メンバーは手元の端末を登録し直します。
リモートコントロールとクラウドセッション#
どちらも claude.ai/code の画面を使います。違いは実行場所で、リモートコントロールは手元のマシンで動くので、ローカルの MCP サーバー・ツール・プロジェクト設定が使えます。クラウドセッションはクラウドのインフラ(既定は Anthropic 管理)で動きます。ローカルの作業の途中で別の端末から続けたいときはリモートコントロール、ローカルの準備なしで始めたいとき・クローンしていないリポジトリを扱うとき・並行タスクを走らせたいときはクラウドセッションが向きます。プロジェクトは両方を組み合わせ、スレッドはクラウドで動き、頼んだときはリモートコントロールで自分のコンピュータでスレッドを動かします。
PC の前にいないときに仕事を進める方法の比較です。
| 方法 | きっかけ | Claude が動く場所 | 準備 | 向く用途 |
|---|---|---|---|---|
| Dispatch | Claude モバイルアプリからタスクを送る | 自分のマシン(デスクトップ) | モバイルアプリとデスクトップのペアリング | 離れている間の委任、準備が最小 |
| リモートコントロール | 動いているセッションを claude.ai/code かモバイルアプリから操作 | 自分のマシン(CLI・デスクトップ・VS Code) | claude remote-control か /remote-control |
進行中の作業を別の端末から舵取りする |
| チャネル | Telegram・Discord などのチャットアプリや自前のサーバーからのイベント | 自分のマシン(CLI) | チャネルのプラグインを入れるか自作 | CI の失敗やチャットメッセージなど外部イベントへの反応 |
| Slack | チームチャンネルで @Claude にメンション |
Anthropic のクラウド | Slack アプリを入れ、クラウド(Web)を有効にする | チャットからの PR とレビュー |
| セルフホスト環境 | クラウドセッションを始めて組織の環境を選ぶ | 組織のインフラ | ランナーを配備(Team・Enterprise) | ネットワーク内で動かす必要のあるクラウドセッション |
| 定期実行 | スケジュールを設定 | CLI・デスクトップ・クラウド(ルーティン) | 頻度を決める | 毎日のレビューなど定期的な自動化 |
モバイルのプッシュ通知#
リモートコントロールが有効なとき、Claude がスマホにプッシュ通知を送れます。通知するかは Claude が決め、長い処理が終わったときや、続行に判断が要るときに出るのが典型です。notify me when the tests finish のようにプロンプトで頼むこともできます。下の2つのオン・オフ以外に、イベントごとの設定はありません。
- Claude モバイルアプリ(iOS・Android)を入れる
- ターミナルの Claude Code と同じアカウント・組織でサインインする
- OS の通知許可を承認する
- ターミナルで
/configを実行し、「Push when Claude decides」(Claude が判断して送る通知)か「Push when actions required」(権限の確認や質問)、または両方を有効にする
通知が届かないときの対処です。
/configに「No mobile registered」と出たら、スマホで Claude アプリを開いてプッシュトークンを更新する。次にリモートコントロールが接続したときに警告が消える- iOS では、集中モードや通知の要約で通知が抑制・遅延されることがある。「設定 → 通知 → Claude」を確認する
- Android では、強いバッテリー最適化で配信が遅れることがある。システム設定で Claude アプリを最適化の対象から外す
接続したターミナルで入力中・フォーカス中は、モバイルのプッシュ通知は送られません。マシンの前にいる間はいつでも(別のウィンドウでも)送らないようにするには、CLAUDE_CLIENT_PRESENCE_FILE にマーカーファイルのパスを設定します(ファイルがある間は通知を送らない)。画面ロックの検知ツールなどで、画面のロック解除時にファイルを作り、ロック時に削除します。
Claude モバイルアプリ#
Claude Code 専用のモバイルアプリはありません。iOS・Android 用の Claude アプリが Claude Code セッションのクライアントで、コードが動く場所ではありません。クラウドセッションとリモートコントロールはアプリの「Code」タブにあり、Dispatch はアプリで送るタスクです。
アプリを入れる手順です。
- iOS か Android の Claude アプリを入れる(iPad は同じ iOS アプリ)。Claude Code のセッションで
/mobile(/ios・/androidも同じ)を実行すると、claude.ai/mobile の QR コードが出て、スマホに合うストアが開く - Claude Code と同じ claude.ai アカウントと組織でサインインする。クラウドセッションとリモートコントロールは claude.ai アカウントが必要で、Anthropic Console の API キーや Amazon Bedrock などのサードパーティプロバイダーでは使えない
- アプリのナビゲーションの「Code」をタップしてセッションに入る。スマホで claude.ai/code/new を開くと、アプリで新しい Code セッションを始められる。「Code」タブがなければ、プランや組織がこれらの機能を含まない可能性がある
アプリから使えるものです。
| 機能 | つなぐ先 | 使いどころ |
|---|---|---|
| クラウドセッション | クラウドインフラ上のセッション(既定は Anthropic 管理) | リポジトリが GitHub にあり、スマホを置いた後も動かし続けたいタスク |
| プロジェクト | Claude が並列のスレッドを調整して報告する会話 | 1つのタスクではなく関連する作業の流れがあり、終わったものや判断が要るものを見たいとき |
| リモートコントロール | 自分のコンピュータで動く Claude Code セッション | ローカルのファイルシステム・ツール・MCP サーバーが要る作業 |
| Dispatch | コンピュータのデスクトップアプリ | タスクを送って実行方法を Dispatch に任せたいとき(Pro・Max のみ) |
コンピュータの電源が切れるなら、クラウドで動いてノート PC を閉じても続くクラウドセッションかプロジェクトを使います。リモートコントロールと Dispatch は自分のマシンを動かすので、Claude Code やデスクトップアプリを起動したままにします(リモートコントロール中にマシンがスリープしても、戻れば Claude Code が再接続します)。
- クラウドセッションの始め方・監視:「Code」タブでリポジトリとブランチを選び、タスクを書いて送る。セッションは端末をまたいで続き、PC で始めたものをスマホで確認することも、その逆もできる。アプリで進行を確認し、Claude の質問に答え、方向を変える指示を出せる。PR を見張って CI の失敗やレビューコメントを直させることも頼める。GitHub 連携と環境の設定はクラウド(Web)で使うにあります
- リモートコントロールでローカルセッションを続ける:コンピュータで
claude remote-controlを実行するか、開いているセッションで/remote-controlを実行し、ターミナルが出す QR コードを読み取るか、アプリの「Code」からセッションを選ぶ - 添付:アプリで添付したものは、ローカルセッションにも届く。写真は Claude にそのままメッセージの一部として見え、Claude Code が
~/.claude/uploads/にも保存し、保存先のパスを Claude に伝える(作るファイルに画像をコピーできる)。その他のファイルは手元にダウンロードされ、@のファイル参照として渡される - プッシュ通知:リモートコントロールの節の「モバイルのプッシュ通知」を参照。Dispatch は、起動した Code セッションが終わったとき・承認が要るときに、独自の通知を送る
モバイルの制限は次のとおりです。
- ターミナル専用のコマンド(
/plugin・/resumeなど)はアプリでは使えません - 権限モード:クラウドセッションは Accept edits・Plan・Auto、リモートコントロールのセッションは Manual・Accept edits・Plan をドロップダウンで選べます。どちらも Bypass permissions はアプリから選べず、リモートコントロールのセッションでは Auto も選べません
- Dispatch は Pro・Max が対象で、Team・Enterprise では使えません
制限事項#
- 対話プロセスごとにリモートセッションは1つ:サーバーモード以外では、Claude Code のインスタンスごとに、一度に1つのリモートセッションだけです。1プロセスで複数の同時セッションが要るなら、サーバーモードを使います
- ローカルのプロセスが動き続ける必要がある:ターミナルを閉じる、デスクトップアプリや VS Code を終了する、
claudeのプロセスが止まると、戻すまでセッションはオフラインになります。SSH を切った後もリモートのマシンで動かし続けるには、tmuxかscreenの中で始めます - サーバーモードでセッションが落ちたとき:接続中の端末からメッセージを送ると、Claude Code が再び扱います。サーバーを再起動する必要はありません(v2.1.238 以降)
- 接続中のセッションでの HTTP 403 の拒否:対話セッションが接続した後、マシンと Anthropic のサーバーの間の何かが HTTP 403 を返したとき(VPN やネットワークの変更の後など)、最大3分再試行します。それより長く続くと切断し、理由に拒否したもの(ネットワークの境界、または自分のネットワークのプロキシ・VPN・ファイアウォール)が出ます
- 長いネットワーク停止:マシンは起きているがネットワークに届かないとき、サーバーモードでは約10分で諦めて
claude remote-controlが終了するので、再実行して新しいセッションを始めます。対話セッションは手元で作業を続けられ、停止が続く限り再試行し、ネットワークが戻れば自動で再接続します - ダウンロードできない添付:スマートフォンやブラウザから添付したファイルを手元にダウンロードできなくても、Claude にはメッセージと、ダウンロードできたファイルが届く。届かなかったファイルの代わりに、Claude Code は
[1 of 3 attachments did not arrive]のような注記をメッセージに足す - 在席のハートビートが失敗:対話セッションが
could not reach the Remote Control server for about 30 minutesで切断したら、/remote-controlで再接続します - 転送されたダイアログの期限:権限の確認と
AskUserQuestionの質問は、答えるまで開いたままです。それ以外のダイアログ(安全上の拒否の後に出るモデル選択など)を転送した場合は、既定で5分待ち、閉じてダイアログの何もしない既定で続けます。期限はdialogExpiryで調整・無効化できます(v2.1.224 以降) - Fable のクレジット使用の同意プロンプトは転送されない:セッション中の Fable のクレジット使用の同意は、セッションが動く場所でだけ出て、端末には出ません。ターミナルで動いていて誰も答えないまま閉じると、リクエストを送らずにターンが終わります
- 一部のコマンドはローカル専用:
/pluginや/resumeのようにターミナル UI でしか動かないコマンドは、引数の有無にかかわらず、ローカルの CLI でだけ動きます。/claude-apiもモバイルや Web から入力しても使えませんが、Claude はそこでもそのスキルを自分で読み込めます。モバイルと Web から動くものは次のとおりです。
| コマンド | モバイル・Web での動き |
|---|---|
/compact、/clear、/context、/usage、/exit、/usage-credits、/recap、/reload-plugins |
テキスト出力のコマンド。/usage-credits は請求の URL を表示する(ブラウザは開かない)。/reload-plugins は、セッションが対話ターミナルで動いているときだけ動き、ないと断られる |
/model、/effort、/fast、/color、/rename |
値を引数で渡す(例:/model sonnet、/effort high)。/model と /effort は、ターミナルのピッカーやスライダーの代わりに引数を取る |
/mcp |
モバイルではサーバーの状態の文字要約を返す。Web では単独で実行すると、要約の代わりに claude.ai コネクタのディレクトリが開く。reconnect・enable・disable のサブコマンドは両方で動く。サーバー名なしの /mcp reconnect は、失敗したか認証が要るすべてのサーバーを再試行する |
/config |
モバイルでは key=value で設定でき、引数なしで設定できるキーの一覧を出す。Web では設定の Claude Code の節を開き、後ろの文字列は無視する |
/autocompact |
v2.1.221 から。/autocompact 500k のように窓のサイズを引数で渡す。引数なしだと、ダイアログの代わりに現在の窓のサイズをテキストで出す |
/advisor |
v2.1.260 から。/advisor opus のようにモデルを渡すか、off でアドバイザーをオフにする。どちらも現在のセッションにだけ効き、保存した既定は変わらない。引数なしだと、ピッカーの代わりに現在のアドバイザーをテキストで出す |
/output-style |
v2.1.269 から。/output-style concise のようにスタイル名を渡すか、引数なしで一覧を出す。モバイルと Web から一覧・選択できるのは組み込みのスタイルだけで、カスタムスタイルはセッション内で選ぶ |
/focus |
v2.1.281 から。/focus on のように on か off を渡すか、引数なしで切り替える。どちらも現在のセッションにだけ効き、保存した選択は変わらない |
Team・Enterprise では、モバイルや Web からの /usage-credits は、管理者へのクレジット利用の依頼を送りません(送るには対話の CLI にしか出ない確認が要るので、そちらで実行するよう案内します)。
トラブルシューティング#
| メッセージ | 原因と対処 |
|---|---|
Remote Control requires a claude.ai subscription. など |
claude.ai アカウントでサインインしていないか、別の資格情報が優先されている。形は3つ:サインアウト中の /remote-control・--remote-control は Remote Control requires a claude.ai subscription.(/remote-control requires a claude.ai subscription. の形もある)、サインアウト中の claude remote-control は You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions.、API キーかトークンが使われているときは Remote Control requires claude.ai subscription auth. に続けて使われている資格情報(例:ANTHROPIC_API_KEY is set, so this session is using API-key auth。apiKeyHelper や ANTHROPIC_AUTH_TOKEN も同様)。claude auth login で claude.ai を選ぶ。ANTHROPIC_API_KEY か ANTHROPIC_AUTH_TOKEN が挙がったら、シェル環境か設定ファイルの env から取り除く。apiKeyHelper なら、その設定を取り除く |
Remote Control requires a full-scope login token |
claude setup-token か環境変数 CLAUDE_CODE_OAUTH_TOKEN の長期トークンで認証している。これらはモデルのリクエストしかできず、リモートコントロールのセッションを確立できない。claude auth login でフルスコープのセッショントークンで認証する |
Unable to determine your organization for Remote Control eligibility |
キャッシュしたアカウント情報が古いか不完全。claude auth login で更新する |
Remote Control isn't enabled for this account |
アカウント単位の利用可否の確認がオフで返った。プラン変更の後にキャッシュした権限が古いのが主な原因。claude auth logout から claude auth login で更新し、古い版なら Claude Code を更新する。claude doctor でどの確認が失敗したか見られる(環境変数の衝突、確認の到達不能、組織の設定は別のメッセージになるので、このエラーはアカウント単位の確認そのもの)。v2.1.239 より前は「Remote Control is not yet enabled for your account」だった |
Couldn't verify Remote Control eligibility |
フィーチャーフラグのサービスに届かず、アカウントで有効かを確認できなかった(オフラインやプロキシの遮断が典型)。ネットワークが戻ってから再試行するか、claude doctor で詳細を見る。関連する Couldn't verify your organization's Remote Control policy は、ポリシーの読み取りでエラーが出たもので、対処は同じ |
Remote Control requires feature-flag evaluation |
フィーチャーフラグの評価を止める環境変数が設定されている。メッセージに変数名が出る。CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC か DISABLE_GROWTHBOOK は、設定している場所(シェル環境か settings.json の env)から解除する。DISABLE_TELEMETRY か DO_NOT_TRACK は、DISABLE_GROWTHBOOK が未設定の Pro・Max・Team・Enterprise なら、組織が Trusted Devices を必須にしていない限り使える。必須なら解除する。v2.1.154 から v2.1.282 ではどちらの変数でもこのメッセージが出たので、v2.1.283 以降に更新する。2.1.154 より前は「Remote Control is not yet enabled for your account」と出た |
Remote Control is only available when using Claude via api.anthropic.com |
セッションが Anthropic API に直接つながっていない。Amazon Bedrock・Google Cloud の Agent Platform・Microsoft Foundry、または ANTHROPIC_BASE_URL が api.anthropic.com 以外(LLM ゲートウェイやプロキシ)を向いているとき(claude.ai でサインインしていても)。メッセージが CLAUDE_CODE_USE_BEDROCK や独自の ANTHROPIC_BASE_URL など、API から外した原因を挙げる。資格のある claude.ai ログインがあれば、その変数を解除し、設定の env に書いていればそれも外して、セッションを再起動する |
Remote Control is disabled by your organization's policy |
ポリシーが止めている。次の順に確認する。(1) エラーに disableRemoteControl があれば、IT 管理者が管理設定でこの端末のリモートコントロールを無効にしている(組織全体のトグルやサインイン方法とは無関係)。(2) claude.ai のプランが Pro か Max なのに、以前のログインで Team か Enterprise の組織にサインインしたままになっていて、その組織のポリシーを見ている。/status でプランと組織を確認し、claude auth logout から claude auth login で現在のプランで入り直す。(3) メッセージが組織の管理者に連絡するよう言っていなければ、組織の HIPAA 構成がリモートコントロールと両立せず、/status の Compliance 行に HIPAA が出る。管理画面のトグルはグレーアウトで Owner も変えられないので、Anthropic サポートに相談する(v2.1.267 より前は「Remote Control isn't available for your organization due to its compliance policy」と出た)。(4) それ以外は Owner が有効にしていない。Team・Enterprise は既定でオフで、Owner が claude.ai/admin-settings/claude-code の「Remote Control」トグル(サーバー側の組織設定)をオンにする。v2.1.281 より前は、このマシンで組織のポリシーを読み込めていないとき(オフラインで起動した場合など)もこのメッセージが出た |
Remote Control was turned off by your organization's policy |
接続中に組織のポリシーがリモートコントロールを許可しなくなり、Claude Code が切断した。/remote-control・claude --remote-control・自動接続で始めたセッションは、リモートコントロールなしで動き続け、Claude Code が claude.ai 側でそのセッションをアーカイブする。claude remote-control で始めた場合は、サーバーが止まり、扱っていたセッションをアーカイブして終了する。アーカイブしたセッションは、アーカイブ済みで絞り込めば見つかる。自動では再接続しない。組織が再び許可したあと、セッションで /remote-control か、シェルで claude remote-control を実行して戻す。このマシンの Claude Code が変更後のポリシーを取得するまでは、どちらも Remote Control is disabled by your organization's policy で失敗する(開いているセッションはおよそ 1 時間に 1 回取得する) |
Couldn't verify your organization's policy for remote control |
組織のポリシーを取得できず、このマシンに保存したコピーもないので、組織が許可していると確認できるまでオフにしている。オフラインや VPN の接続前に起動した場合、プロキシの干渉、遅い回線で最初のリクエストが処理中の場合に起きる。形は2つで、/remote-control・claude remote-control・claude --remote-control からは Couldn't verify your organization's policy for remote control. Check your network connection and try again.、セッション開始時の自動接続からは couldn't verify your organization's policy — check your network connection and try again(通知は Remote Control failed、会話は Remote Control disconnected が頭に付き、セッションはオフのまま)。ネットワークを戻して /remote-control かコマンドを再実行する(毎回ポリシーを取り直すので、再起動は不要)。繰り返すなら claude doctor の Organization policy の行が、読み込めなかった理由を示す。v2.1.281 より前は Remote Control is disabled by your organization's policy と出た |
Remote credentials fetch failed |
接続を確立する短命の資格情報を Anthropic API から得られなかった。claude remote-control --verbose で全文のエラーを見る。主な原因は、サインインしていない(/login で claude.ai アカウントで認証。API キーは非対応)、ネットワークかプロキシ(ファイアウォールやプロキシが外向きの HTTPS を遮断している。ポート 443 の Anthropic API への接続が必要)、Session creation failed — see debug log も出ていればセットアップの前段で失敗している(サブスクリプションが有効か確認する) |
Couldn't reconnect to your Remote Control session |
claude --resume か claude --continue で会話を再開したとき、その会話に記録されたリモートコントロールのセッションへの再接続が、一時的かもしれない理由(ネットワーク中断やサーバーエラー)で失敗した。リモートセッションがまだあるか確認できない。/remote-control で再試行するか、claude --remote-control で新しいセッションを作る。その間もローカルのセッションはリモートコントロールなしで動き続ける |
Previous session is unavailable — run /remote-control to start a new one |
以前のリモートコントロールのセッションを戻せず、勝手に新しく始めずに止まった。claude --resume・claude --continue で再開した後や、切断後に自動で再接続した後に出る。/remote-control で現在のログインの新しいセッションを始める(ローカルのセッションは動き続ける)。関連する Remote Control could not verify the signed-in account — run /remote-control to reconnect も同じ対処。Claude Code を再起動せずに Previous session is unavailable の後で /remote-control を実行すると、新しいセッションに会話の過去のメッセージは含まれない |
Remote Control got an unexpected server response |
サーバーが、リモートセッションの作成か資格情報の取得中に、この版の Claude Code が読めない形式で応答した。同じ版で再試行しても同じ結果になる。claude update を実行してから /remote-control で再接続する |
Your organization requires Trusted Devices for Remote Control, but this device is not enrolled |
組織が Trusted Devices を有効にしていて、このマシンが未登録。Claude Code で /login を実行する(登録はサインインの一部で、別の登録コマンドはない) |
session expired for trusted-device check |
サインインが18時間より古い。/login を実行するか、claude.ai やモバイルアプリの確認で Face ID・Touch ID・Windows Hello・パスキーを使う |
公式ドキュメント(英語)
2026年10月5日時点の内容をもとに、日本語でまとめています。