学習内容
このガイドでは、Anthropic の公式 Remote Control 機能から、tmux、mosh、Tailscale を使用した DIY SSH セットアップまで、Claude Code をリモートで使用するあらゆる方法を解説します。読み終える頃には、デスクトップでタスクを開始し、オフィスを離れてもスマートフォンからフルコントロールを維持できるモバイルコーディング環境が整っているはずです。
Claude Code Remote Control:2026年完全ガイド
2026年2月25日、Anthropic は Remote Control をリリースしました。これは、ターミナルでコーディングタスクを開始し、ラップトップをバッグに入れ、スマートフォンからフルコントロールを維持できる機能です。VPN、ポートフォワーディング、サードパーティ製ツールは一切不要です。 Source
しかし、公式機能は物語の一部に過ぎません。開発者コミュニティは、単純な SSH トンネルから、プッシュ通知や音声入力を備えた洗練されたマルチツールワークフローまで、Claude Code を中心としたモバイルコーディングセットアップのエコシステム全体を構築してきました。このガイドでは、そのすべてを網羅します。
パート 1: 公式 Remote Control
概要
Remote Control は、デバイスをまたいで Claude Code セッションを継続するための Anthropic 内蔵機能です。ローカルの Claude Code インスタンスを Anthropic API にサーバーとして登録し、承認されたクライアント(スマートフォン)がセッションに接続してリモートで制御できるようにすることで機能します。 Source
仕組みの裏側
セキュリティモデルはシンプルで保守的です。
デスクトップ (Claude Code) Anthropic API スマートフォン (Claude App)
│ │ │
├──── セッションを登録 ──────────►│ │
│ │ │
│◄─── セッション URL を割り当て ─┤ │
│ │ │
│ QR コードを表示 │ │
│ │◄──── QR スキャン / 認証 ──┤
│ │ │
│◄─── メッセージをルーティング ──┤──── メッセージをルーティング ──►│
│ │ │
│ (すべてのトラフィックは TLS 経由) │ │
主なセキュリティ特性:
- インバウンドポート不要 — ローカルマシンはアウトバウンドの HTTPS リクエストのみを送信します。
- 直接接続なし — スマートフォンがデスクトップに直接接続することはありません。
- TLS 暗号化 — すべてのトラフィックは TLS 経由で Anthropic API を通過します。
- セッションスコープ限定 — 各 Remote Control セッションには、期限切れになる固有の URL があります。
セットアップ手順
ステップ 1: Claude Code のアップデート
Remote Control には Claude Code v2.1.51 以降が必要です。
# バージョンを確認
claude --version
# 必要に応じてアップデート
npm update -g @anthropic-ai/claude-code
ステップ 2: セッションの開始
通常通りプロジェクトでの作業を開始します。
cd ~/projects/my-app
claude
ステップ 3: Remote Control を有効にする
Claude Code セッション内から、以下を実行します。
/rc
# または
/remote-control
これにより Remote Control サーバーが起動します。ターミナルに以下が表示されます。
Remote Control active
Session URL: https://code.claude.com/rc/abc123-def456
Press [space] to show QR code
Press [q] to stop Remote Control
ステップ 4: スマートフォンから接続
2つのオプションがあります。
- QR コード: ターミナルでスペースキーを押して QR コードを表示します。スマートフォンの Claude アプリを開き、スキャンします。
- URL: セッション URL をコピーし、スマートフォンの Claude アプリで開きます。
これで、スマートフォンから Claude Code セッションをフルコントロールできるようになります。メッセージの送信、ファイル変更の承認、出力の確認が可能で、会話は接続されているすべてのデバイス間で同期されます。 Source
デフォルトで Remote Control を有効にする
Remote Control を頻繁に使用する場合は、すべてのセッションで有効にできます。
/mobile
これにより、まだインストールしていない場合に Claude アプリをインストールするための QR コードが表示され、「すべてのセッションで Remote Control を有効にする」設定が true に切り替わります。有効にすると、すべての Claude Code セッションが自動的に Remote Control モードで開始されます。 Source
プラン要件
| プラン | 価格 | Remote Control |
|---|---|---|
| Free | $0 | 利用不可 |
| Pro | $20/month | 利用可能 |
| Max | $100–200/month | 利用可能 |
| Team | カスタム | 利用可能 |
| Enterprise | カスタム | 利用可能 |
Remote Control の制限事項
- Claude アプリが必要 — 一般的なブラウザは使用できません。Claude モバイルアプリが必要です。
- Anthropic への依存 — すべてのトラフィックは Anthropic のサーバーを経由します。API がダウンしている場合、 Remote Control もダウンします。
- オフライン非対応 — 両方のデバイスがインターネットに接続されている必要があります。
- セッションタイムアウト — 非アクティブなセッションは最終的に期限切れになります。
- シングルプロバイダー — Claude モデルでのみ動作します。OpenCode やその他のマルチプロバイダーツールを使用している場合は動作しません。
パート 2: SSH + tmux + mosh (DIY アプローチ)
完全なターミナル制御、マルチプロバイダー対応、または不安定なネットワークでの作業を望む開発者には、 SSH ベースのアプローチの方が堅牢です。開発者の Harper Reed は次のように書いています。「スマートフォンで Claude Code を使う方法を考えたとき、明らかな答えはスマートフォンからコンピュータに ssh し、 claude を実行することだった」 Source
なぜ3つのツールが必要なのか?
2つの異なるタイプの回復力が必要です。
- mosh は、 WiFi からセルラーへの切り替え、デッドゾーン、スマートフォンのスリープなど、不安定なモバイル接続を処理します。
- tmux は、セッションの永続化を処理します。スマートフォンの接続が完全に切断されても、 Claude Code セッションを維持します。
これらを組み合わせることで、モバイル開発が実際に実現可能になります。 Source
スタックのセットアップ
ステップ 1: Tailscale のインストール (プライベートネットワーク)
Tailscale は、デバイス間にプライベートな WireGuard メッシュを作成します。ポートフォワーディング、ルーター設定、ファイアウォールルールは不要です。
デスクトップの場合:
# macOS
brew install tailscale
# Linux
curl -fsSL https://tailscale.com/install.sh | sh
# Tailscale を開始
sudo tailscale up
スマートフォンの場合:
- アプリストアから Tailscale アプリをインストールします
- 同じアカウントでサインインします
- これで両方のデバイスが同じプライベートネットワーク上に配置されます
デスクトップには、デバイスがどの WiFi やセルラーネットワーク上にあるかに関係なく、スマートフォンから直接アクセスできる Tailscale IP (100.64.x.x のようなもの) が割り当てられます。 Source
ステップ 2: tmux のインストール (セッションの永続化)
tmux は、 SSH 接続とは独立してターミナルセッションを維持します。スマートフォンの接続が切断されても (画面ロック、ネットワークの切り替え、バッテリー切れなど)、 tmux セッションは実行され続けます。
# macOS
brew install tmux
# Ubuntu/Debian
sudo apt install tmux
モバイル利用に最適化された tmux 設定を作成します。
# ~/.tmux.conf
# スクロールバックバッファを増やす
set -g history-limit 50000
# マウスサポートを有効にする (モバイルで便利)
set -g mouse on
# レスポンシブなモバイル入力のために escape-time を短縮
set -sg escape-time 10
# 便利な情報を含むステータスバー
set -g status-right '#H | %H:%M'
# モバイルでの読みやすさのためにステータスバーを大きくする
set -g status-style 'bg=colour235 fg=colour136'
ステップ 3: mosh のインストール (接続の回復力)
mosh (Mobile Shell) は TCP ではなく UDP を使用し、ネットワークの切り替えをスムーズに処理します。スマートフォンが WiFi からセルラーに切り替わったり、トンネルを通過したりすると、 mosh は自動的に再接続します。
デスクトップの場合:
# macOS
brew install mosh
# Ubuntu/Debian
sudo apt install mosh
スマートフォンの場合:
- iOS: Blink Shell または Termius をインストールします。両方とも mosh をネイティブでサポートしています。
- Android: JuiceSSH または mosh パッケージを含む Termux をインストールします。
ステップ 4: 接続して Claude Code を開始
スマートフォンの SSH クライアントから:
# Tailscale 経由で mosh を使用して接続
mosh user@100.64.x.x
# tmux セッションを開始またはアタッチ
tmux new-session -s claude
# すでにセッションが存在する場合:
tmux attach -t claude
# Claude Code を起動
cd ~/projects/my-app
claude
これで、以下の特性を持つ Claude Code セッションが手に入ります。
- ネットワークの切り替えに耐える (mosh)
- スマートフォンの切断に耐える (tmux)
- Tailscale ネットワーク上のどのデバイスからもアクセス可能
- Claude だけでなく、あらゆる AI プロバイダーで動作
切断後の再接続
後でスマートフォンを手に取ったとき:
# セッションがまだ生きている場合、 mosh は自動的に再接続します
# mosh セッションが終了していた場合は、新しく開始します:
mosh user@100.64.x.x
# tmux セッションに再アタッチ
tmux attach -t claude
Claude Code セッションは、会話、ワーキングディレクトリ、保留中の変更など、中断したときと全く同じ状態のままです。
パート 3: ntfy によるプッシュ通知
Remote Control と SSH セットアップの両方の問題点は、 Claude Code がタスクを完了したかどうかを確認するためにスマートフォンをチェックし続けなければならないことです。解決策はプッシュ通知です。
ntfy とは?
ntfy は、シンプルでオープンソースのプッシュ通知サービスです。プライバシーのためにセルフホストすることも、 ntfy.sh の公開インスタンスを使用することもできます。 Source
Tailscale を使用したセルフホスト ntfy
最大限のプライバシーを確保するために、デスクトップで ntfy を実行し、 Tailscale 経由でアクセスします。
# ntfy をインストール
brew install ntfy # macOS
# または
sudo apt install ntfy # Linux
# ntfy サーバーを開始 (デフォルトで 8090 ポートをリスンするように設定)
ntfy serve --listen-http :8090
スマートフォンとデスクトップが同じ Tailscale ネットワーク上にあるため、スマートフォンは http://100.64.x.x:8090 で ntfy にアクセスできます。データがプライベートネットワーク外に出ることはありません。
Claude Code の hooks を構成する
Claude Code の hooks を使用すると、特定のイベントが発生したときにカスタムコマンドを実行できます。 Claude Code が入力を必要とするときに通知を送信するように hook を設定します。
// ~/.claude/settings.json
{
"hooks": {
"notification": {
"command": "curl -s -d 'Claude Code needs your attention' http://100.64.x.x:8090/claude-code",
"event": "stop"
}
}
}
ntfy モバイルアプリのセットアップ
- スマートフォンに ntfy アプリをインストールします (iOS または Android)
- セルフホストサーバーのトピック
claude-code(http://100.64.x.x:8090/claude-code) を購読に追加します - トピックのプッシュ通知を有効にします
これで、タスクの完了、エラーの発生、承認の必要性など、 Claude Code が停止して入力を必要とするたびに、スマートフォンにプッシュ通知が届きます。ターミナルを開いたままにしたり、頻繁にチェックしたりする必要はありません。
高度な通知設定
より文脈豊かな通知にするために、 Claude Code からの最後のメッセージを含めることができます。
#!/bin/bash
# ~/.claude/hooks/notify.sh
# Claude Code 出力の最後の数行を取得
LAST_OUTPUT=$(tail -5 /tmp/claude-code-output.log 2>/dev/null || echo "Task completed")
# 文脈付きで通知を送信
curl -s \
-H "Title: Claude Code" \
-H "Priority: high" \
-H "Tags: robot" \
-d "$LAST_OUTPUT" \
http://100.64.x.x:8090/claude-code
パート 4: Happy Coder (無料のオープンソース代替案)
Happy Coder は、 Claude Code をリモートで制御するための Web ベースのインターフェースを提供する無料のオープンソースツールで、プッシュ通知と音声入力が内蔵されています。 Source
主な機能
- 無料かつオープンソース — Claude Code プラン以外のサブスクリプションは不要です
- プッシュ通知 — 通知システム内蔵、 ntfy のセットアップ不要
- 音声入力 — 小さな画面でタイピングする代わりにコマンドを話せます
- マルチエージェント対応 — Claude Code と並行して Codex でも動作します
- Web ベース — あらゆるモバイルブラウザで動作、アプリのインストール不要
セットアップ
# Happy Coder をインストール
npm install -g happy-coder
# サーバーを開始
happy-coder start --port 3000
# Tailscale 経由でスマートフォンからアクセス
# http://100.64.x.x:3000
Happy Coder は、モバイルに最適化された Web インターフェースを提供し、 Claude Code の会話の表示、メッセージの送信、ファイルの変更確認などをすべてブラウザ経由で行えます。
パート 5: セットアップの完全比較
手法比較マトリックス
| 機能 | Remote Control | SSH + tmux + mosh | Happy Coder |
|---|---|---|---|
| セットアップの複雑さ | 最小限 (1 コマンド) | 中程度 (30 分) | 簡単 (5 分) |
| コスト | プランに含まれる | 無料 (Tailscale 無料版) | 無料 |
| ネットワークの回復力 | 中程度 | 非常に優れている (mosh) | 中程度 |
| セッションの永続化 | 良好 | 非常に優れている (tmux) | 良好 |
| プッシュ通知 | なし | ntfy 設定で可能 | 内蔵 |
| 音声入力 | なし | なし | あり |
| マルチプロバイダー | Claude のみ | あらゆるプロバイダー | Claude + Codex |
| オフライン機能 | なし | 部分的 (tmux が維持) | なし |
| 完全なターミナルアクセス | なし (チャットのみ) | あり | なし (チャットのみ) |
| スマートフォンアプリが必要 | Claude アプリ | SSH クライアント | ブラウザ |
ユースケース別の推奨セットアップ
たまにタスクを確認するユーザー: → Remote Control。 1つのコマンド、 1つの QR スキャンで完了。
日常的なモバイルコーダー (頻繁にスマートフォンからコーディングする): → SSH + tmux + mosh + ntfy。最大限の回復力と制御。
チームリーダー (複数のセッションを監視する): → Happy Coder。 Web ベースで複数のエージェントをサポートし、通知も内蔵。
マルチプロバイダー開発者 (Claude、 Codex、ローカルモデルを使用する): → SSH + tmux + mosh。ターミナルで動作するあらゆるツールに対応。
パート 6: 高度な設定
複数の Claude Code セッションを実行する
tmux を使用すると、複数の Claude Code セッションを並行して実行し、それらを切り替えることができます。
# プロジェクトごとに名前付きセッションを作成
tmux new-session -d -s project-api
tmux new-session -d -s project-frontend
tmux new-session -d -s project-tests
# 各セッションでディレクトリ移動して Claude Code を開始
tmux send-keys -t project-api 'cd ~/projects/api && claude' C-m
tmux send-keys -t project-frontend 'cd ~/projects/frontend && claude' C-m
tmux send-keys -t project-tests 'cd ~/projects/tests && claude' C-m
# スマートフォンからセッションを切り替える
tmux switch-client -t project-api
tmux switch-client -t project-frontend
ヘッドレス Linux VM セットアップ
専用のリモートコーディング環境を求めるチームのために、 Claude Code Remote Control は SSH + tmux を介してヘッドレス Linux VM 上で動作します。 Source
# クラウド VM (AWS, GCP など) 上で
# Claude Code をインストール
npm install -g @anthropic-ai/claude-code
# tmux セッション内で開始
tmux new-session -s remote-claude
# Claude Code を起動
claude
# Remote Control を開始
/rc
次にスマートフォンから QR コードをスキャンします。これにより、完全にモバイルから制御される強力なクラウドベースの開発環境が構築されます。
Remote Control と SSH の組み合わせ
柔軟性を最大化するために、両方の方法を組み合わせて使用できます。
- SSH + tmux: セッションの永続化と完全なターミナルアクセスのため
- Remote Control: tmux セッション内で、モバイルフレンドリーなチャットインターフェースを使用するため
# マシンに SSH 接続
mosh user@100.64.x.x
# tmux にアタッチ
tmux attach -t claude
# セッション内で Claude Code が実行中
# スマートフォンアクセスのために Remote Control を有効にする
/rc
これにより以下が得られます:
- tmux によるセッションの維持
- mosh による SSH 接続の安定
- Remote Control による洗練されたモバイルインターフェース
- 必要に応じた完全なターミナルアクセス
パート 7: モバイル環境でのアプリ構築
モバイル開発ワークフロー
Claude Code とリモートアクセスの組み合わせは、いつ、どこで生産性を発揮できるかを根本的に変えます。実践的なワークフロー例:
- 朝の通勤: スマートフォンで昨晩の CI 結果を確認し、 Remote Control 経由で修正タスクを開始する。
- ランチ休憩: ntfy 通知で進捗を確認し、変更を承認または指示する。
- 夜: ラップトップを手に取ると、 tmux セッションは中断したときの状態のまま。
モバイルコーディングが適している場面
Claude Code によるモバイルコーディングは、以下に最適です:
- タスクの開始 — 構築したい内容を説明し、外出中に Claude Code に作業を任せる
- コードレビュー — スマートフォンから diff を読み、変更を承認する
- バグのトリアージ — 問題を調査し、 Claude Code に修正を指示する
- 進捗監視 — 時間のかかるタスクの状況を確認する
以下にはあまり適していません:
- 複雑なデバッグ — 小さな画面ではスタックトレースを読むのが困難
- ビジュアル作業 — CSS やレイアウトの調整にはフルスクリーンが必要
- 大規模なリファクタリング — 広範な変更は適切なモニターで確認したい
どこからでも ZBuild で構築する
モバイル環境でアプリケーションを構築し、反復したい開発者にとって、 ZBuild のようなプラットフォームはリモート Claude Code ワークフローを補完します。 ZBuild は、タブレットでうまく機能するビジュアルアプリビルダーを提供し、より複雑なバックエンドロジックのために Claude Code と組み合わせることで、デスクトップワークステーションを必要としないフルスタック開発能力を実現します。
パート 8: トラブルシューティング
一般的な問題と解決策
問題: "Remote Control not available on your plan" (プランで Remote Control が利用できません) 解決策: Pro、 Max、 Team、 Enterprise のいずれかであることを確認してください。 Free ティアは Remote Control をサポートしていません。
問題: QR コードがスキャンできない 解決策: Claude アプリが最新バージョンにアップデートされているか確認してください。スキャンの代わりにセッション URL を直接試してください。
問題: mosh 接続が切れ、再接続されない
解決策: デスクトップで mosh-server が実行されているか確認してください (which mosh-server)。両方のデバイスで Tailscale が接続されていることを確認してください。 Tailscale を使用していない場合は、 UDP ポート 60000-61000 が開いていることを確認してください。
問題: 再接続後に tmux セッションが空白画面になる
解決策: 新しいセッションを作成するのではなく、 tmux attach -t claude を実行してください。セッションが終了していた場合は、 ~/.claude/logs/ を確認して Claude Code がクラッシュしていないかチェックしてください。
問題: ntfy 通知が届かない
解決策: ntfy サーバーが実行されているか確認してください (curl http://100.64.x.x:8090/health)。 ntfy アプリの購読 URL がサーバーアドレスと一致しているか確認してください。スマートフォンの Tailscale 接続がアクティブであることを確認してください。
問題: スマートフォンの切断中に Claude Code セッションが期限切れになった 解決策: これは長時間の非アクティブの後に Remote Control で発生します。数時間持続させる必要があるセッションには tmux ベースのセットアップを使用してください。 tmux セッションはクライアントの接続に関係なく無期限に維持されます。
問題: モバイルでのタイピングが遅い 解決策: 音声入力 (Happy Coder) を使用するか、メッセージを短くタスク指向に保ってください。または、メモアプリでプロンプトを準備し、ターミナルに貼り付けてください。
パート 9: セキュリティに関する考慮事項
Remote Control のセキュリティ
- すべてのトラフィックは Anthropic API を通じて TLS で暗号化されます。
- セッション URL は固有であり、使用後に期限切れになります。
- マシン上のインバウンドポートは開放されません。
- 認証情報やファイルがマシン外に出ることはありません (Claude Code のテキスト出力のみが送信されます)。
SSH セキュリティのベストプラクティス
モバイルアクセス用に SSH を公開する場合:
# キーベースの認証のみを使用する (パスワード認証を無効化)
# /etc/ssh/sshd_config 内:
PasswordAuthentication no
PubkeyAuthentication yes
# SSH を Tailscale インターフェースのみに制限
ListenAddress 100.64.x.x
# 非標準ポートを使用
Port 2222
Tailscale のセキュリティ
Tailscale の WireGuard ベースのメッシュネットワークは以下を提供します:
- デバイス間のエンドツーエンド暗号化
- Tailscale サーバーを経由しないデータルーティング (直接接続)
- 簡単なホスト名解決のための MagicDNS
- チームセットアップのためのアクセス制御リスト (ACL)
結論
2026年における Claude Code のリモート利用は、非常にシンプルなもの (/rc コマンド 1 つ) から、完全にカスタマイズされたもの (SSH + tmux + mosh + ntfy + Tailscale) まで多岐にわたります。適切なセットアップはワークフローによって異なります。
- Remote Control: セットアップなしで素早くモバイルからチェックインしたい場合。
- SSH スタック: ターミナルをメインに使い、最大限の回復力を必要とする開発者の場合。
- Happy Coder: 無料で機能豊富な中間的な選択肢。
実用的な影響は大きいです。開発はもはや、ラップトップを開いてデスクに座ることに縛られません。タスクを開始し、席を離れても、コントロールを維持できます。サイドプロジェクトの構築、チームのコードベース管理、 ZBuild でのアプリのプロトタイピングなど、モバイルからの Claude Code アクセスは、開発ワークフローがあなたに従うことを意味し、その逆ではありません。
ソース
- Claude Code Remote Control Documentation — Anthropic
- Remote Claude Code: Programming Like the Early 2000s — Harper Reed
- Claude Code from the Beach: mosh, tmux, and ntfy — Rogs
- Claude Code Remote Control: Code From Your Phone — Medium
- Claude Code on Your Phone — Builder.io
- Perfect Claude Code Notifications with Tailscale and ntfy — Felipe Elias
- 3 Ways to Run Claude Code from Your Phone — Zilliz
- Run Claude Code from Your iPhone — Pete Sena / Medium
- Claude Code Remote Control Launch Analysis — Blockchain News
- Remote Control on Headless Linux VM — GitHub Issue #29479
- Claude Code Mobile Setup with tmux and Bitvise — GitHub Gist
- How to Use Claude Code on Your Phone — FelloAI
- Claude Code Mobile Setup — Sealos Blog