Remote Controlに接続できないときの見分け方と対処
Claude Code Remote Controlが繋がらないときのエラー文言を原因別に整理し、確認手順と対処法をまとめました。
Remote Controlが繋がらないとき、原因はサインイン・組織のポリシー・ネットワーク・セッションの状態のどれかにほぼ集約されます。Claude Codeはエラーごとに理由をメッセージへ埋め込むため、文言を読み違えなければ切り分けは早く終わります。本稿では接続状態の確認方法と、エラー文言別の原因・対処をまとめます。
このTipsでできること
Remote Controlの接続失敗を、フッターの表示・エラー文言・再接続の挙動から切り分けられるようになります。
接続状態はどこで確認できるか
対話セッションでは、接続中は入力欄の下に /rc active のインジケーターが表示されます。ターミナルの幅が狭いと非表示になりますが、機能自体は動いています。下矢印キーでインジケーターを選んでEnterを押すか、/remote-control をもう一度実行すると、セッションURLとQRコードを含むステータスパネルが開きます。パネルには切断ボタンもあり、選んでもローカルのセッション自体は止まりません。
接続が失敗すると、Claude Codeは理由付きの通知を出し、インジケーターは失敗状態のままフッターに残ります。理由をもう一度読みたいときも、下矢印キーでインジケーターを選びます。
「セッションが他所に奪われた」系は再接続の前に理由を読む
接続失敗の理由が「別の端末やアプリでセッションが引き継がれた」「自分で終了・アーカイブした」「サーバーがセッションを見つけられない」のいずれかを指しているとき、Claude Codeは通常の「/remote-control を実行してください」という案内をあえて出しません。理由ごとに次のように動きます。
- 別の端末やClaude Codeセッションが引き継いだ: 取り戻したい場合だけ
/remote-controlを実行します - 自分で他の端末・アプリから終了かアーカイブした: 復活させたい場合だけ実行します。アーカイブ済みのセッションも開き直せます
- サーバーがセッションを見つけられない: 他の端末やアプリから削除された可能性があります
理由を確認せずに再接続すると、意図せず他端末のセッションを奪い直すことになりかねません。
サインイン・組織設定に起因するエラーの見分け方
Remote Controlの可否判定は、サインインの種類・組織のプラン・管理者設定の3つを順に見ています。主な文言と原因、対処は次のとおりです。
| エラー文言(先頭) | 主な原因 | 対処 |
|---|---|---|
| requires a claude.ai subscription | 主な原因ANTHROPIC_API_KEY 認証などclaude.aiにサインインしていない | 対処claude auth login でclaude.aiアカウントを選ぶ。APIキーが環境変数にあれば先にunsetする |
| requires a full-scope login token | 主な原因claude setup-token やAPIキー相当のトークンで起動した | 対処claude auth login でフルスコープのセッショントークンに切り替える |
| Unable to determine your organization | 主な原因キャッシュ済みのアカウント情報が古い | 対処claude auth login で再取得する |
| isn't enabled for this account | 主な原因プラン変更後にエンタイトルメントのキャッシュが古い | 対処claude auth logout → claude auth login。claude doctor で個別のチェック項目も確認できる |
| requires feature-flag evaluation | 主な原因DISABLE_TELEMETRY / DO_NOT_TRACK / CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC / DISABLE_GROWTHBOOK のいずれかが設定済み | 対処該当する変数をシェルかsettings.jsonのenvブロックから外す |
| only available when using Claude via api.anthropic.com | 主な原因Amazon Bedrock・Google CloudのAgent Platform・Microsoft Foundry経由か、ANTHROPIC_BASE_URLが別ホストを指している | 対処メッセージが名指しする変数を外して再起動する |
| disabled by your organization's policy | 主な原因管理設定・別組織へのサインイン・ポリシー未読込のいずれか | 対処下の段落で切り分け方を説明します |
「disabled by your organization's policy」だけは原因が4通りに分かれるため、順番に確認します。メッセージにdisableRemoteControlが含まれるなら、IT管理者が管理設定でこの端末のRemote Controlを個別に無効化しています。Team・EnterpriseのOwnerが有効化していない場合は既定でオフなので、claude.ai/admin-settings/claude-codeでOwnerがトグルを入れる必要があります。
Pro・Maxのはずなのにこのエラーが出る場合は、以前サインインしたTeam・Enterprise組織のポリシーを見ています。/statusでサインイン中のプランと組織を確認し、claude auth logoutしてから入り直します。それでも解決しないときはclaude doctorの「Organization policy」の行を見て、ポリシー自体が読み込めていないかを確認します。
「isn't available for your organization due to its compliance policy」は、データ保持や規制対応の設定がRemote Controlと両立しないケースです。管理画面のトグル自体がグレーアウトするため、Owner側でも変更できません。Anthropicサポートへの相談が唯一の経路です。
接続そのものが失敗する場合
「Remote credentials fetch failed」は、接続用の短命な認証情報をAnthropic APIから取得できなかったサインです。claude remote-control --verboseで詳細ログを見ます。
claude remote-control --verboseよくある原因は3つあります。サインインしていない(APIキー認証はRemote Controlに対応しません)、ファイアウォールやプロキシがポート443のHTTPS通信を塞いでいる、あるいはセッション作成自体が先に失敗している、のいずれかです。ログに「Session creation failed」も出ていれば、サブスクリプションが有効かを確認します。古くなったログイントークンが原因になることはありません。Anthropic APIがトークンを拒否した場合、Claude Codeは自動でリフレッシュして再試行します。
「Remote Control got an unexpected server response」は、サーバーは応答したもののこのバージョンのClaude Codeが解釈できない形式だったケースです。同じバージョンで再試行しても直らないため、claude updateで更新してから/remote-controlを実行します。
resumeで再接続できないときに何が起きているか
claude --resumeやclaude --continueで会話を再開すると、Claude Codeはその会話に記録されたRemote Controlセッションへ再接続を試みます。「Couldn't reconnect to your Remote Control session」は、ネットワークの瞬断やサーバーエラーなど一時的な理由で再接続に失敗し、リモートセッションが存在するかどうか確定できない状態です。/remote-controlで再試行するか、claude --remote-controlで新規セッションを作ります。ローカルのセッションはRemote Controlなしでそのまま動き続けます。
再開時にこのメッセージの代わりに起きることもあります。サーバーが「記録されたセッションは無い」と答えたとき、再接続の記録が自分のアカウントを指していれば、Claude Codeは自動生成名の代替セッションを作り、それまでのメッセージは新セッションに引き継がれません。記録が別アカウントを指していれば、メッセージ引き継ぎなしで新規セッションが始まります。記録自体が読めないときは「Previous session is unavailable」というメッセージに切り替わり、何も自動で始めません。/remote-controlを実行すれば現在のログインで新しいセッションを作れます。
Trusted Devicesが絡むエラーは端末登録の問題
「Your organization requires Trusted Devices for Remote Control, but this device is not enrolled」と「session expired for trusted-device check」の2つは、組織がTrusted Devicesを有効化している場合に限って出ます。前者はこの端末がまだ登録されていない状態、後者はサインインから18時間以上経過した状態です。どちらも/loginをClaude Codeで実行すれば解決します。組織側の有効化手順はClaude Code Trusted Devicesで組織のRemote Controlを制限する、Remote Control固有の条件はRemote Control Trusted Devicesとはにまとめています。
セッションURLをその都度探さなくていい仕組み
Remote Control接続中、Claude Codeは切り替えるタイミングが来ると入力欄の上にセッションURLを自動で出します。/remote-controlを打ち直して探す手間を省くための仕組みです。表示のタイミングは2つあります。
- ターンが長引いたとき: サーバー側で調整された閾値を超えると「Still working」通知とともに「Check in from your phone」リンクが出ます。ターンが終わると消えます
- 権限確認が繰り返されたとき: 権限プロンプトに何度か答えると「Approve tool calls from your phone」というリンク付き通知が出ます。次のターンが始まると消えます
この通知は、/configで常時接続をオンにしているセッションでも出ます。ただし毎回出るわけではなく、1セッションを通じて出現回数も数回に留まります。オン・オフの設定項目はなく、条件を満たさなくなると自動で消えます。
Remote Controlのエラーは3つの層に分けて読む
ここまでのエラーは、実は3つの層のどこで止まっているかで整理できます。サインインと組織ポリシーの層(claude.aiへの認証・プラン・管理設定)、経路の層(API接続先やネットワークの到達性)、セッション状態の層(誰がそのセッションを持っているか)です。同じ「繋がらない」でも、層が違えば直すべき場所が違います。認証エラーを経路の問題だと思い込んでANTHROPIC_BASE_URLを疑い続ける、逆に経路の問題を認証エラーだと誤認してサインインし直し続ける、といった遠回りはこの3層を意識するだけで避けられます。claude doctorは3層すべてを横断してチェックする数少ないコマンドなので、文言だけで判断が付かないときはまず実行する価値があります。
よくある質問
--verboseは普段から付けておくべきですか
不要です。詳細ログは通常のエラーメッセージより情報量が多いぶん読みにくくもなります。理由付きのメッセージで解決しない場合だけ付ける使い方が向いています。
エラーメッセージが英語のままなのはなぜですか
Remote Controlのエラー文言はClaude Code本体の出力で、日本語化はされていません。原因の特定には文言中の変数名やエラーコードがそのまま手がかりになるため、翻訳せず原文で確認するのが安全です。
まとめ
Remote Controlが繋がらないときは、まずフッターのインジケーターかステータスパネルで状態を確認します。エラーメッセージは原因を名指ししていることが多く、サインインの種類・組織のポリシー・API接続先・セッションの所有権のどこで止まっているかを読み分ければ、対処はほぼ一意に決まります。「セッションが他所で使われている」系の理由は、再接続する前に必ず読みます。Trusted Devicesが絡む2つのエラーは、組織側で端末登録が有効になっている場合にだけ出ます。組織側の設定条件はClaude Code Trusted Devicesで組織のRemote Controlを制限するにあります。
Remote Controlの基本的な起動方法や利用条件はClaude Code Remote Controlで作業を別デバイスに引き継ぐ、Amazon BedrockやカスタムAPIエンドポイントに起因するエラーの詳細はRemote Controlが使えない「requires the Anthropic API」の意味、ワークスペース信頼が原因の起動失敗はWorkspace not trustedエラーにまとめています。