Claude Code の Remote Control は、手元のマシンで動くセッションをスマホやブラウザから操作する機能です。ただし公式仕様では、ターミナルや VS Code の終了で claude プロセスが止まればセッションは終了し、常駐させているマシン側がインターネットに約10分到達できないとプロセス自体が落ちます。本記事では launchd で常駐化し、再起動とネットワーク断の両方から自動復帰させる構成を、選定理由とともに整理します。
📖 この記事で分かること
- Remote Control が切れる2つの条件
- launchd で常駐化する構成と選定理由
- KeepAlive を選ばなかった理由
- 常駐前の前提確認と、確実な停止手順
💡 知っておきたい用語
- launchd:macOS が持つ常駐プログラムの管理役。起動時や一定間隔で処理を動かす仕組み
- Remote Control:手元のマシンで動く Claude Code を、スマホやブラウザ側から操作する機能
最終更新日: 2026年7月29日
▶ 公式ページ
- Remote Control 公式ドキュメント(Claude Code Docs)
- Using Claude Code Remote Control(Claude by Anthropic)

claude プロセスが止まった時点で、リモート操作は終わる
この記事のポイント
- Claude Code の Remote Control は研究プレビューとして Pro / Max / Team / Enterprise で使える(2026年7月時点)。
- 公式仕様上、ターミナルや VS Code の終了でプロセスが止まればセッションは終了し、常駐させているマシン側がインターネットに約10分到達できないとプロセス自体が落ちる。
- 筆者は常時稼働の Mac に launchd を組み、再起動と異常終了の両方から自動復帰する構成にした。
Remote Control は、手元のマシンで動いている Claude Code のセッションを、スマホや別のパソコンのブラウザから操作する機能です。実行と読み書きはあくまで自分のマシン側で起き、スマホは操作窓になります。ただし公式ドキュメントは制限事項として「Remote Control はローカルのプロセスとして動く。ターミナルを閉じる、VS Code を終了する、その他の方法で claude プロセスを止めれば、セッションは終わる」と明記しています。条件はターミナル固有ではなく、プロセスが生きているかどうかです。つまり素直に起動しただけでは「いつでもつながる」状態にはなりません。
なぜこの話題か
筆者は24時間稼働させている Mac を1台持っており、そこで定期タスクを走らせています。外出先から様子を見たい場面が増えたため Remote Control を有効にしたのですが、有効化した直後に「これは放っておくと必ず切れる」と気づきました。公式の制限事項を読むと、切れる条件が2つ明記されています。1つはプロセスの終了、もう1つはマシン側のネットワーク断です。この2つを潰さないと、いざ外出先で開いたときに緑のランプが消えている——という事故が起きます。同じ構成を組む人が確実に踏む部分なので、判断の理由ごと共有します。
やってみて分かったこと
構成自体は単純で、LaunchAgent を1枚置き、RunAtLoad(ログイン時に実行)と StartInterval(一定間隔で実行)の両方を有効にして、起動スクリプトを呼ばせるだけです。筆者は間隔を300秒にしました。
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>300</integer>
前提になるのは、呼ばれるスクリプトが冪等【べきとう】であることです。すでに生きていれば何もせず、落ちていれば起動し直す作りにしておく。ここが崩れると、5分ごとにセッションが増殖します。
KeepAlive ではなく間隔実行にした理由
launchd には落ちたら再実行する KeepAlive があり、一見こちらが正解に見えます。筆者が使わなかったのは、起動スクリプトが即座に終了する短命なプロセスだからです。常駐しているのは起動される側であって、スクリプト自身ではありません。KeepAlive を付けると「即終了 → 復活」を最小間隔で延々と繰り返し、ログが実質使い物にならなくなります。見張り役として間隔実行を使うほうが、実態に噛み合います。
端末多重化ツールを挟んだ理由
前提として、Remote Control をホストできるのはターミナルだけではありません。VS Code 拡張や Desktop アプリからも起動でき、公式ドキュメントにも Desktop がホストするセッションの記述があります。それでも筆者が CLI と tmux の組み合わせを選んだのは、複数セッションを受けるサーバーモードが CLI 側にあることと、後述するネットワーク断でプロセスが落ちたときに、GUI アプリを自動で起動し直す現実的な手段が無いためです。無人での復帰を前提にするなら、常駐管理の対象はコマンドで起動・確認・停止できるものに寄せたほうが噛み合います。
起動は tmux のセッション内で行っています。理由は2つあり、どちらも実利です。1つ目は生死判定が正確になること。セッションに直接コマンドを渡して起動すると、そのプロセスが終わった時点でセッションごと消えるため、セッションの有無がそのまま稼働状態の答えになります。2つ目は、起動・URL確認・停止という手作業の操作系がそのまま使えることです。なお公式ドキュメントも、SSH 接続を切った後もセッションを維持したい場合の方法として tmux や screen を挙げています。
ネットワーク断からの復帰が、実は一番の収穫だった
公式の制限事項には、マシンが起きていてもネットワークに約10分間到達できないとセッションがタイムアウトしてプロセスが終了し、claude remote-control を実行し直す必要がある、と書かれています。ここで判定されているのはマシン側がインターネットに到達できるかであって、スマホやブラウザから接続しているかどうかではありません。何日も操作しなくてもセッションは残ります。Remote Control 自体はスリープや一時的な回線断からは自動再接続しますが、この10分を超えた場合は「プロセスごと終わる」ため自動では戻りません。5分間隔の見張りを置くと、この再実行が自動化されます。当初は再起動対策のつもりで入れた仕組みが、結果的にネットワーク断からの復帰まで拾っていた形です。
常駐させる前に確認すること
つまずきやすい前提が3つあります。1つ目は認証で、claude.ai のサブスクリプションでのログインが必要です(API キーは対象外)。2つ目はワークスペースの信頼で、対象ディレクトリで一度 claude を起動して信頼ダイアログを通しておく必要があります。公式は「起動時の信頼ダイアログはホームディレクトリの信頼を保存しない」と説明しているため、ホームではなくプロジェクトのディレクトリから起動するのが素直です。3つ目は接続先で、api.anthropic.com 以外を向いていると利用できません。
セキュリティ面は正直に書いておきます。マシン側は外向きの HTTPS 通信だけを行い、受信ポートは開きません。この性質のおかげで VPN やポート開放は不要ですが、接続中はやり取りの記録が Anthropic 側に保存される仕様です。実行とファイルアクセスは手元に残るとはいえ、扱う内容によっては判断材料になります。
筆者はこう見ている
常時稼働のマシンで使うなら、常駐化は後から足す改善ではなく最初から入れる前提だと考えます。
- 根拠1:公式が「マシンがネットワークに約10分到達できないとプロセスが終了し、実行し直す必要がある」と明記している。手動での再実行を前提にした運用は、外出先でこそ破綻する。
- 根拠2:公式自身が、接続を切った後も維持したい場合の手段として tmux や screen を挙げている。素の起動が永続を意図していないことは、仕様として示されている。
- 根拠3:導入コストは設定ファイル1枚に対し、効果は「再起動」と「ネットワーク断」という頻度の高い2つの復帰の自動化に及ぶ。
この見方が変わる条件は、プロセス終了を含む復帰が公式側でカバーされた場合です。そうなれば見張りは不要になり、素直に起動するだけで済みます。
なお、常駐が向かないケースもあります。作業中のノートパソコンから一時的に手元を離れるだけなら、素の起動で十分です。常駐が効くのは、電源が入りっぱなしのマシンが別にある場合に限られます。
読者への提案
- まず常駐化を考える前に、プロジェクトのディレクトリで一度だけ手動で起動し、ログインと信頼ダイアログの要件を通してください。ここを飛ばすと、常駐化した後で原因の切り分けが難しくなります。
- 常駐させるなら、設定ファイルは起動時実行と間隔実行の組み合わせにし、呼ばれるスクリプトは必ず冪等にしてください。増殖の事故はここでしか防げません。
- 止め方を先に決めておいてください。見張りがある構成では、スクリプト側で停止しても次の巡回で復活します。常駐設定そのものを外す手順を、作った日にメモしておくのが安全です。
よくある質問
Q: VPN やポート開放、固定 IP は必要ですか
A: 不要です。公式ドキュメントは、ローカルのセッションは外向きの HTTPS 通信のみを行い、マシンに受信ポートを開くことはないと説明しています。通信は Anthropic の API を経由します。
Q: しばらくスマホから接続しないと切れますか
A: 切れません。約10分という判定の対象は、常駐させているマシン側がインターネットに到達できるかどうかであって、スマホやブラウザから接続していない期間の長さは関係ありません。何日も触らなくても、マシン側の回線が生きていればセッションは残ります。公式はマシンのスリープや一時的な回線断からは自動再接続すると説明しており、プロセスごと終わるのは「マシンは起きているのにネットワークへ到達できない」状態が続いた場合です。
Q: KeepAlive を使えば見張りは不要ではありませんか
A: 起動スクリプトがすぐ終了する作りの場合は噛み合いません。常駐しているのは起動される側なので、スクリプト自身の終了を失敗とみなす設定にすると、短い間隔で再実行が続きます。
Q: 常駐を完全に止めるにはどうしますか
A: 見張りの登録を先に解除してください。起動スクリプトの停止コマンドだけでは、次の巡回で自動的に立ち上がり直します。
まとめ
Remote Control は、スマホやブラウザから手元のマシンのセッションを操作できる機能ですが、プロセスの停止(ターミナルや VS Code の終了)と、マシン側が約10分インターネットに到達できないことの2つの条件で終わります。常時稼働のマシンで使うなら、起動時実行と間隔実行を組み合わせた常駐化を最初から入れておくと、この2つの復帰が自動化されます。設定ファイル1枚で足りる一方、呼ばれるスクリプトの冪等性と停止手順だけは先に決めておく必要があります。
【用語解説】
- LaunchAgent:ログインユーザー単位で launchd に登録する常駐設定ファイル。macOS の標準的な仕組み
- 冪等【べきとう】:同じ操作を何回実行しても結果が変わらない性質。見張り構成の前提になる
- tmux:端末を閉じた後もプロセスを残せる端末多重化ツール。公式も維持手段として挙げている
引用元:
- [1] Continue local sessions from any device with Remote Control(Claude Code Docs)
- [2] Using Claude Code Remote Control(Claude by Anthropic)
この記事について: AI 支援で執筆、編集部が事実確認・編集しています。誤りや追加情報があれば Contact よりお知らせください。
Previous Post
OpenAIが脆弱性検出CLIをOSS公開。コードは誰でも読めるが実行は承認制
Next Post
MCPのTasksは切断しても同じIDで再開。MCP Appsは会話内に操作画面を出す
15 年以上の開発経験を持つソフトウェアエンジニア / テクノロジーライター。AI エージェントの実務活用を研究し、現場や経営者向けセミナーでその知見を発信。本メディア tech-noisy.com では、一次情報に基づく最新ニュース・解説記事を執筆。また、音楽生成 AI による DJ パフォーマンスを企業イベントで行うなど、テクノロジーと表現の融合も探求している。