Claude Media
Remote Controlに接続できない・切れるときの原因と対処

Remote Controlに接続できない・切れるときの原因と対処

Claude Code Remote Controlができない・切れるときの原因を、起動時に止まるか接続後に切れるかで分け、エラー文言別の対処を示します。

Remote Controlができない、または途中で切れるときは、まず「起動した瞬間に止まったのか、繋がったあとに切れたのか」で分けます。前者はサインイン・組織のポリシー・接続先の問題で、エラー文言が原因を名指しします。後者はログインの期限切れ、アカウントの切り替え、別端末への引き継ぎが中心です。本稿は文言別の原因と対処を、Claude Code v2.1.285で確認した出力とあわせて示します。アカウント切り替えで止まる場合はRemote Controlが「signed-in account changed」で止まる原因と戻し方を参照してください。

手元で確かめた「サインインしていない」ときの出力

サインインしていない状態で claude remote-control を実行すると、v2.1.285では次のエラーで止まります。確認は、空の設定ディレクトリ(CLAUDE_CONFIG_DIR を空のフォルダーに向けた状態)で行いました。

claude remote-control
Error: You must be logged in to use Remote Control.
 
Remote Control is only available with claude.ai subscriptions. Run `claude auth login` to sign in with your claude.ai account.

この状態では claude remote-control --help も同じエラーになり、ヘルプは表示されません。フラグの一覧を見たいときは、claude --help で --remote-control [name] と --remote-control-session-name-prefix <prefix> を確認できます。後者は自動生成されるセッション名の頭に付ける文字列で、既定はホスト名です。

サインインの状態そのものは claude auth status で見られます。同じ空の設定ディレクトリでは、次のJSONが返りました。

{
  "loggedIn": false,
  "authMethod": "none",
  "apiProvider": "firstParty"
}

apiProvider が firstParty なら、Bedrockなどのクラウド経由ではなくAnthropic APIを向いています。出力にはほかに analyticsDisabled などのキーもあります。claude doctor の説明文には「現在のディレクトリの設定ファイルを信頼確認なしで読む」とあり、セッション内の /doctor なら修復まで行える、とも書かれています。

切り分けの順番

手順

繋がらないときに見る順番

  1. 1

    状態を見る

    接続中はターミナルに /rc active の表示が出ます。ターミナルの幅が狭いと隠れますが、接続は生きています。/remote-control をもう一度実行するとステータスパネルが開き、セッションURLとQRコードが出て、パネルから切断もできます。切断してもローカルのセッションは止まりません。

  2. 2

    理由の文を読む

    接続に失敗すると、通知と会話への追記の両方に理由が出ます。「別の場所でセッションが変わった」系なら、再接続の前に次の節を読みます。

  3. 3

    文言の型で原因の層を決める

    requires ... や disabled ... はサインイン・組織設定(requires feature-flag evaluation だけは環境変数)、only available when using Claude via api.anthropic.com は接続先、Couldn't verify ... はネットワークです。

  4. 4

    詳細を出す

    理由の文で足りなければ claude remote-control --verbose で詳細ログを見ます。claude doctor は資格ごとのチェック結果を出します。

「セッションが他所に移った」と出たら再接続しない

接続失敗の理由が次の3つのどれかを指しているときは、すぐに /remote-control を実行しません。再接続の手順は、セッションが別の場所で変わったと理由に書かれていない場合に限って使えるものです。

理由

再接続の前に理由で分かれる3つの状態

  • 別の接続に引き継がれた

    別の端末や別のClaude Codeセッションがこのセッションを持っています。取り戻したいときだけ /remote-control を実行します。

  • 他の端末・アプリで終了かアーカイブされた

    復活させたいときだけ /remote-control を実行します。アーカイブ済みのセッションはClaude Codeが開き直します。

  • サーバーがセッションを報告しない

    他の端末やアプリから削除された可能性があります。

起動時に止まる: サインインと組織設定のエラー

起動時の可否判定は、サインインの種類・組織のプラン・管理者設定の順に見ます。主な文言と原因、対処は次のとおりです。

エラー文言(先頭)主な原因対処
requires a claude.ai subscription主な原因サインインしていない対処claude auth login でclaude.aiを選ぶ
requires claude.ai subscription auth主な原因サインイン済みだが、APIキーなど別の認証が優先されている対処メッセージが名指しする ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN / apiKeyHelper を外す
requires a full-scope login token主な原因claude setup-token や CLAUDE_CODE_OAUTH_TOKEN の長期トークンで認証している対処claude auth login でフルスコープのセッショントークンに切り替える
Unable to determine your organization主な原因キャッシュ済みのアカウント情報が古い、または不完全対処claude auth login で更新する
isn't enabled for this account主な原因プラン変更後にエンタイトルメントのキャッシュが古い対処claude auth logout → claude auth login。古いバージョンなら更新も
requires feature-flag evaluation主な原因フィーチャーフラグの取得を止める環境変数が設定済み対処メッセージが名指しする変数を外す
only available when using Claude via api.anthropic.com主な原因Bedrock・Google CloudのAgent Platform・Microsoft Foundry経由、または ANTHROPIC_BASE_URL が api.anthropic.com 以外を指している。/login で入ったenterprise cloud gatewayも対象外対処名指しされた変数を外して再起動する。gatewayサインインには外す変数がなく、非対応です
Couldn't verify ...主な原因フィーチャーフラグや組織ポリシーを取得できない(オフライン、プロキシなど)対処ネットワークを戻して /remote-control をやり直す
disabled by your organization's policy主な原因管理設定・別組織へのサインイン・HIPAA設定・Ownerの未有効化対処下で切り分ける

isn't enabled for this account は、v2.1.239より前は Remote Control is not yet enabled for your account でした。古いバージョンの情報を探すときの語です。この文言が出たとき、claude doctor はどの資格チェックが落ちたかまで示します。環境変数の衝突、確認不能、組織のRemote Control設定はそれぞれ別のメッセージになるため、この文言はアカウント単位のチェックが「オフ」を返したことを意味します。

DISABLE_TELEMETRY と DO_NOT_TRACK はバージョンで挙動が変わる

requires feature-flag evaluation の原因になる変数は、バージョンで扱いが違います。CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC と DISABLE_GROWTHBOOK は、今でも外す必要があります。

DISABLE_TELEMETRY と DO_NOT_TRACK は、v2.1.154からv2.1.282までは同じエラーの原因でした。v2.1.283以降は、DISABLE_GROWTHBOOK を外したPro・Max・Team・Enterpriseなら、組織がTrusted Devicesを要求していない限りRemote Controlが使えます。テレメトリー無効化を理由に繋がらず、まだ古いバージョンなら、変数を外す前に claude update を試す価値があります。

「disabled by your organization's policy」は4通りに分かれる

このメッセージは原因が4つあるため、次の順に確認します。

  1. メッセージに disableRemoteControl が含まれる: IT管理者が管理設定で、この端末のRemote Controlを個別に無効化しています。組織全体のトグルやサインイン方法とは無関係です
  2. Pro・Maxのはずなのに出る: 以前サインインしたTeam・Enterprise組織のポリシーを見ています。/status でプランと組織を確認し、claude auth logout してから入り直します
  3. メッセージが「組織の管理者に連絡」と言っていない: 組織のHIPAA設定がRemote Controlと両立しない状態で、/status の Compliance 行に HIPAA と出ます。管理画面のトグルはグレーアウトするため、Ownerでも変更できません。Anthropicサポートへの相談が案内されています
  4. 上のどれでもない: Team・Enterpriseでは既定でオフです。Ownerがclaude.ai/admin-settings/claude-codeの「Remote Control」トグルを入れる必要があります

v2.1.281より前は、起動時にオフラインで組織ポリシーを読み込めなかった場合もこのメッセージが出ました。それ以降は Couldn't verify your organization's policy for remote control に分かれています。古いバージョンで前者が出たときは、ポリシーではなくネットワークを疑う余地があります。

起動時に止まる: 接続そのものが失敗する

「Remote credentials fetch failed」は、接続用の短命な認証情報をAnthropic APIから取得できなかったサインです。詳細ログは次のコマンドで出ます。

claude remote-control --verbose

原因は3つ挙げられています。1つ目はサインインしていない場合で、APIキー認証はRemote Controlに対応しません。2つ目はファイアウォールやプロキシがポート443のHTTPS通信を塞いでいる場合です。3つ目はセッション作成が先に失敗している場合で、ログに Session creation failed — see debug log も出ていれば、サブスクリプションが有効かを確認します。

「Remote Control got an unexpected server response」は、サーバーが返した形式をこのバージョンのClaude Codeが読めなかったケースです。同じバージョンで再試行しても同じ失敗になるため、claude update のあとに /remote-control を実行します。

繋がったあとに切れる: ログインとアカウントの変化

接続中のRemote Controlは、保存済みのclaude.aiログインで更新される短命な認証情報で動いています。ログインが受け付けられなくなると、Claude Codeは接続を止め、警告と、Remote Control disconnected で始まる会話の追記行に理由を出します。ローカルのセッションは動き続けます。更新に失敗したときの挙動はcouldn't refresh your loginの解説にあります。

更新の問い合わせに応答がないだけなら、Claude Codeは接続を保ったまま再試行します。応答がないまま現在の認証情報が期限切れになると、OAuth token refresh failed で止まります。止まったあとの対処は、文言の末尾で分かれます。

くらべる

切断後にサインインし直したとき

末尾が run /login to restore Remote Control

自動で戻る

OAuth token unavailable と、Claude.ai login expired の一形がこの型です。/login でサインインすれば、Claude Codeが自分で再接続します。

上記以外の末尾

/remote-control が要る

Claude.ai login was rejected、Signed out of Claude、OAuth token refresh failed、JWT refresh failed: no OAuth token がこの型です。Claude.ai login expired も、末尾が run /login, then /remote-control の形ならこちらです。サインインのあと、/remote-control を実行して接続し直します。

接続中に切れる経路はほかにもあります。

  • 接続中にHTTP 403が返ると、Claude Codeは最大3分再試行してから切断します。理由には、拒否した相手としてネットワークのエッジか、自分のネットワーク側のプロキシ・VPN・ファイアウォールが出ます。後者ならその経路を確認します
  • could not reach the Remote Control server for about 30 minutes は、約30分サーバーに届かなかった場合です。/remote-control で接続し直します
  • claude remote-control のサーバーモードは、ネットワークが約10分切れるとプロセスごと終了します

別のターミナルで /login を使って別のclaude.aiアカウントや組織に切り替えた場合も、接続は止まります。/login 経由で始めたセッションは、そのときサインインしていたアカウントと組織に属するためです。claude.aiが切り替えを確認すると、Claude Codeはセッションを止め、新しいアカウントで /remote-control を実行するか、/login で元に戻してから /remote-control を実行するよう案内します。

v2.1.234より前は、この切り替えに気づけず、後の要求が Remote Control server rejected the request (HTTP 404) で失敗して初めて分かりました。切り替えの何時間も後に出ることがあった、と説明されています。

デスクトップアプリやIDEがセッションを持っている場合は、ログイントークンをそのアプリから受け取ります。アプリがサインアウトした、または別のアカウントに切り替わったと答えると、Claude Codeはセッションを終了します。アプリ側でサインインし直してRemote Controlをオンに戻します。別のアカウントに切り替わったときは、終了したセッションを新しいアカウントで続けられないため、新しいセッションを始めます。

claude remote-control を止めたあとに戻る

claude remote-control をCtrl+Cで止めると、そのサーバーが持っていたセッションはスマホやブラウザーから応答しなくなります。同じディレクトリで別の claude remote-control を動かしていなければ、また --no-create-session-in-dir を付けて起動していなければ、セッションはアーカイブされません。

同じディレクトリで素の claude remote-control を起動し直すと、サーバーが持っていた全セッションに戻れます。--continue は開始時のセッションだけ、--session-id は指定した1つだけを戻す指定です。使えるのは停止から約4時間で、それを過ぎたら新しく claude remote-control を始めます。セッションを途中でアーカイブしていた場合、--continue と --session-id はv2.1.228以降でアーカイブを解除します。

マシンが長くオフラインだったときは、サーバー側が環境ごと片付けることがあります。claude remote-control を動かしているターミナルに、次の形の行が出ます。

2 sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.

この場合、セッションは再開できません。行の下に残った作業ツリーが列挙されたら、未コミットの変更をそこから取り出し、claude remote-control で新しい環境を始めます。

resumeで再接続できないとき

claude --resume や claude --continue で会話を再開すると、Claude Codeはその会話に記録されたRemote Controlセッションへ再接続を試みます。「Couldn't reconnect to your Remote Control session」は、ネットワークの瞬断やサーバーエラーなど一時的な理由で失敗し、リモートセッションが存在するか確定できない状態です。/remote-control で再試行するか、claude --remote-control で新しいセッションを作ります。

サーバーが「前のセッションはもう無い」と答えたときは、このメッセージは出ません。Claude Codeが代わりのセッションを始めるか、Previous session is unavailable — run /remote-control to start a new one を出して何も始めないかのどちらかです。後者のあとに /remote-control を再起動なしで実行すると、その会話のそれまでのメッセージは新しいセッションに含まれません。Remote Control could not verify the signed-in account — run /remote-control to reconnect も、対処は同じ /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時間を超えた状態です。

前者はClaude Codeで /login を実行します。登録はサインインの一部として行われ、別の登録コマンドはありません。後者も /login で直りますが、claude.aiやモバイルアプリが求めたときにFace ID・Touch ID・Windows Hello・パスキーで本人確認しても更新されます。組織側の有効化手順はClaude Code Trusted Devicesで組織のRemote Controlを制限する、Remote Control固有の条件はRemote Control Trusted Devicesとはにまとめています。

関連する記事の使い分け

Remote Controlの基本的な起動方法や利用条件はClaude Code Remote Controlで作業を別デバイスに引き継ぐにあります。Amazon BedrockやカスタムAPIエンドポイントが原因のエラーはRemote Controlが使えない「requires the Anthropic API」の意味、ワークスペース信頼が原因の起動失敗はWorkspace not trustedエラーで扱っています。接続中のセッションが20分前後でエラーを出さずに切断される現象は原因が異なり、Remote Controlが20分放置で切断される原因と回避策にあります。全体像はClaude Code完全ガイドから辿れます。アーカイブを解除したセッションだけが「Sending…」で止まる症状はRemote Controlでunarchiveしたセッションが「Sending…」で止まるで扱っています。

まとめ

起動時のエラーは、名指しされた設定やサインインを直せば /remote-control だけで戻ります。接続後の切断は、文言の末尾が指示するコマンドまで実行して初めて戻ります。「別の場所で変わった」系の理由が出たときだけは、そのセッションを本当に取り戻したいかを先に決めます。

この記事を共有:XはてブLinkedIn