Claude Code公式のRemote Control説明では、接続先はClaude Codeを実行しているコンピューターです。したがって、切断表示が示すのはコンピューターとの連絡が失われたことだけで、Claudeや子プロセスの停止ではありません。

症状:Remote Controlに切断・接続不可と表示される。
最短の対応:遠隔Mac上の会話とタスクを先に確認し、接続を復旧したあと、Xcodeのログと成果物で結果を判定します。

この記事は、Remote Control経由でXcodeを操作するiOS/macOS開発者向けです。
遠隔Macをビルドノードとして使うCI担当者や、アカウント・ネットワーク・ホストの復旧を担当するDevOpsエンジニアにも役立ちます。

01

切断表示から分かること、分からないこと

Remote Controlの表示だけでは、会話が実行中なのか、Xcodeの子プロセスが残っているのか、ビルドが成功したのかは分かりません。画面上の接続状態、Mac上のプロセス、ターミナルの終了状態、ログや成果物は、それぞれ別の証拠として扱います。

確認対象 分かること それだけでは分からないこと
Remote Controlの表示 クライアントとClaude Codeを動かすコンピューターの接続状態 会話やビルドプロセスが停止したか
Mac上の会話・プロセス Claude Codeや確認したプロセスが見える時点で動いているか ビルドが正常終了するか
ターミナルの終了状態 コマンドがどのような状態で終了したか 成果物が期待した内容か
ビルドログ・結果バンドル 記録されたエラー、テスト結果、出力物 記録がない場合の成功

切断後に接続を何度も作り直したり、同じ指示を新しい会話で再実行したりすると、処理の重複や成果物の上書きを招くことがあります。まず既存のセッションとタスクの証拠を残してください。

02

遠隔Macと会話の状態を先に確かめる

最初にホストへ接続できるかを確認します。SSHが使えるなら、ログインして稼働状態を調べます。SSHできない場合は、Macが停止中なのか、ネットワーク経路や認証に問題があるのかを切り分けます。SSHの失敗だけで、Mac上のタスクが停止したとは判断できません。

次に、Claude Codeを起動したターミナルや会話の状態を調べます。Remote Controlの画面に戻れる場合は、表示される案内を確認し、公式の再接続・セッション説明に沿って操作します。会話がまだ動いているなら、むやみに終了したり、同じ作業の新しい会話を作ったりしないでください。

Macにログインできる場合、プロセス一覧は現在の実行状況を確かめる手がかりになります。たとえば、次のようにビルド関連のプロセスを検索できます。

ps -axo pid,etime,command | grep '[x]codebuild'

該当行が見つかれば、その時点で一致するプロセスが見えているということです。表示がない場合も、すでに終了した、別の方法で起動した、検索条件に一致しない、といった可能性があります。プロセス一覧だけで成功・失敗を確定しないでください。

遠隔Macで長時間処理を扱うときは、接続セッションの切断とコマンド実行環境の終了を混同しないことが大切です。運用を組み直すなら、SSHと画面アクセスを含む遠隔Macの利用方法も確認し、作業の開始方法とログの保存先を先に決めておきましょう。

03

接続・会話・認証の原因を切り分ける

Claude Code Remote Controlが再接続できないときは、画面のメッセージを手掛かりに、ホスト、会話、接続、認証を別々に調べます。ネットワークが不安定な状態と、アカウントや認証情報に問題がある状態は、同じ「接続できない」表示でも対処が異なります。

  • ホストに到達できない場合: Macの電源、ネットワーク経路、SSHなどの別の管理経路を確認します。ホストが応答しない間、ビルド結果は未確認として扱います。
  • 会話が残っている場合: Remote Controlの画面やターミナルに出ている案内を読み、既存会話への再接続を優先します。新しい会話を作る前に、同じ作業が二重に走らないか確認します。
  • 会話が終了・整理されている場合: 既存の会話に戻れると決めつけず、ターミナル履歴、ログ、Gitの差分、ビルド出力を保存してから再開を判断します。
  • 認証エラーが明示される場合: ログイン中のアカウントと利用条件を確認し、Claude Codeの公式認証手順に従います。認証情報やトークンをチャット、チケット、公開ログへ貼り付けないでください。

接続が戻ったことは、タスクが成功した証明ではありません。再接続後も、会話の識別、作業ディレクトリ、Gitの状態、ビルド記録を個別に照合してください。

復旧のために認証情報を削除・再設定する場合も、まず実行中の作業への影響を考えます。理由の分からないサインアウトやプロセス終了は、残っている証拠を失わせたり、進行中の処理を妨げたりするおそれがあります。

04

Xcodeビルドはプロセス・終了状態・成果物で判定する

Remote Controlの状態と、Xcodeのビルド結果は別々に確認します。次の順で記録を集めれば、遠隔MacのClaude Code会話が止まったように見える場合でも、実行中・完了・失敗を混同しにくくなります。

  1. 実行中か確認します。 SSHなどでMacに入り、xcodebuildなど該当するプロセスが見えるか調べます。残っているなら、負荷やログの更新も確認し、二重実行は避けます。
  2. 終了状態を確認します。 コマンドを起動したシェルがまだ使えるなら、保存された終了状態と実行コマンドを照合します。シェルが切れて終了状態を取得できない場合は、成功扱いにせず、ほかの証拠で補います。
  3. ビルドログを読みます。 最後の出力だけでなく、エラーや警告、対象のスキーム、構成、出力先を確認します。Appleのxcodebuildコマンドライン資料を参照し、実際に使ったオプションと照らし合わせてください。
  4. 結果バンドルや生成物を確認します。 作成先が分かる場合は、想定したファイルやテスト結果が存在するか、更新時刻や内容が今回の実行と一致するかを確認します。存在するだけで内容が正しいとは限りません。
  5. テスト結果を別に判定します。 ビルド完了とテスト合格は同じ意味ではありません。AppleのXcodeテスト結果の読み方やテスト自動化資料を参照し、失敗テストや未実行の項目を確認します。

設定やコンパイルのエラーが出ている場合は、成功・失敗だけで終わらせず、Appleのビルドと構成に関するトラブルシューティングとログを突き合わせます。結果バンドルがない、ログが途切れている、終了状態が取得できない場合は「未確認」と記録し、成功として扱わないのが安全です。

05

再接続後に作業を続ける判断

再接続できたら、表示された会話が想定したものかを確認し、作業ディレクトリとGitの状態を調べます。意図しないブランチ変更、未コミット差分、生成物の更新があれば、再実行より先に状態を保存してください。

  • 続行する: 会話、作業ディレクトリ、差分が意図した内容と一致し、対象プロセスも把握できています。
  • 再実行する: タスクが終了しており、ログや成果物から失敗を確認でき、同じ処理を安全に繰り返せます。
  • 保留する: 終了状態、ログ、生成物のいずれかが不足し、既存処理との重複を排除できません。まず証拠を保存してから復旧計画を決めます。

Mac miniを自分で用意する方法は、物理機器を継続管理でき、手元のネットワークや周辺機器を直接使える点が利点です。一方で、初期購入、保守、設置場所、障害時の復旧は自分で担います。Mac miniを日本向けに手配する選択肢と、必要な期間だけ利用する遠隔環境を比べ、管理責任まで含めて判断してください。

切断表示だけでなく、Mac上の会話・プロセスとXcodeのログ・成果物を揃えてから、作業を続けるか決めましょう。自前のMacを維持するより、独立して使えるmacOS環境を一時的に確保したい場合は、KVMNODEの遠隔Mac環境を選択肢に加えられます。常時高負荷で使う機器や、物理ポートへの直接接続が必要な用途では、自前のMacのほうが適することもあります。