02/Documentation
tmuxやHerdrでClaude Codeを実行し、スマートフォンから制御する
SSHが切断されてもtmuxやHerdrでClaude Codeを実行したままにします。セッションの管理、プロンプトの承認、EscキーやCtrlキーの送信を、プッシュ通知機能付きでスマートフォンから行えます。
SSH接続が切断されると、Claude Codeも終了します。スマートフォンの端末キーボードにはEscキーやCtrlキーがありません。1時間後に戻ると、Claude Codeは承認待ちプロンプトのまま停止していました。
このガイドでは、これら3つの問題をすべて解決します。Claude CodeをtmuxまたはHerdrで実行し、接続切断後もプロセスを維持します。さらにCollieを導入して、スマートフォン上で入力待ちセッションを優先表示し、不足しているキーを入力できるようにします。
tmuxでClaude Codeを実行し続ける
tmuxセッション内でClaude Codeを起動します。接続が切断されても、ホスト上で実行が継続されます。
tmux new -s claude # start a session named claude
claude # run Claude Code inside itCtrl+b、続いてdを押してデタッチします。後から別のマシンからログインして再アタッチできます:
tmux attach -t claudeセッションはSSHログインではなくtmuxサーバーが保持するため、接続が切断されてもClaude Codeは停止しません。ホスト上のセッション一覧を表示するにはtmux lsを実行します。
Herdr
Herdrはコーディングエージェント向けに構築された端末ワークスペースマネージャーです。同様に動作します。
curl -fsSL https://herdr.dev/install.sh | sh # or: brew install herdr
herdr # start Herdr, or reattach to it
claude # in the pane Herdr opensCtrl+b、続いてqを押してデタッチするか、端末を閉じます。HerdrサーバーがペインとClaude Codeを実行し続けます。再アタッチするには、再度herdrを実行します。
zellij
zellij -s claudeを実行し、claudeを起動し、Ctrl oに続いてdでデタッチし、zellij attach claudeで再アタッチします。Collieがミラーリングできるzellijセッションは1つのみです。zellijに関する注意事項を参照してください。
複数のClaude Codeセッションを同時に実行する
2つのエージェントが同じファイルを編集しないよう、セッションごとに個別のウィンドウとチェックアウトを割り当てます。
# a second checkout, on its own branch
git worktree add ~/src/app-review -b review
tmux new-window -t claude -n review -c ~/src/app-review
claude # in the new windowtmux内では、Ctrl+bに続いてcを押すとウィンドウが開き、Ctrl+bに続いてwを押すと一覧が表示されます。Ctrl+bに続いて%を押すとペインを左右に分割し、Ctrl+bに続いて"を押すと上下に分割します。
Herdrでは、Herdrの実行中に各エージェントへ個別のワークスペースを割り当てます:
herdr workspace create --label review --cwd ~/src/app-review複数のセッションを実行すると、入力待ちプロンプトが複数発生します。Collieは入力を待っているペインをダッシュボードの最上部に配置し、残りのペインをワークスペースごとにグループ化します。行を長押しすると、そのペインを最上部に固定できます。tmuxとzellijでは、この並べ替えにステップ3のbeacon hooksが必要です。
Collieを使ってスマートフォンから操作する
Collieはホスト上で動作し、Herdr、tmux、またはzellijのペインをスマートフォンのブラウザにミラーリングします。Codex、OpenCode、その他の端末エージェントでも同じ手順で動作します。ペイン内で実行するコマンドが変わるだけです。
注。 Collieは仕様としてマシンへのリモートシェルアクセスを提供します。インストールする前にセキュリティをお読みください。
- Claude Codeはホスト上のHerdr、tmux、またはzellijのペインで実行されます。スマートフォン上ではエージェントのコードは動作しません。
- スマートフォンからは、tailnet経由でブラウザからCollieを開きます。ダッシュボードにペインが一覧表示され、入力待ちのセッションが先頭に並びます。
- Keysトレイから、出力の確認、返答の送信、Esc、Tab、矢印キー、修飾キーの送信を行えます。SSHクライアントは不要です。
- エージェントが入力を必要とするときに、オプションのプッシュ通知で知らせます。
必要な環境
- Claude CodeがインストールされたLinuxまたはmacOSホスト。
- 端末マルチプレクサー: Herdr、tmux、またはzellij。Herdrはエージェントを直接検出します。tmuxとzellijではCollieがbeacon hooksを使用するため、Linuxが必要です。
- iPhoneまたはAndroidスマートフォン。
1. Collieのインストール
curl -fsSL https://colliepwa.dev/install.sh | shHerdrではプラグインを直接インストールできます: herdr plugin install AltanS/collie。両方の手順はインストールに記載されています。
2. 起動
collie start初回の実行時にHerdr、tmux、zellijの有無を確認し、選択した設定を.envに書き込みます。tailscale serveを起動してtailnetのURLを出力します。詳細は起動するを参照してください。
3. ペインでのClaude Codeの実行
Herdrでは、ペインを開いてclaudeを実行します。HerdrはそのペインをエージェントとしてCollieに通知します。
tmuxまたはzellijでは、ホストごとに一度ビーコンフックをインストールします。これによりCollieがエージェントと通常のシェルを区別できるようになります。次に、Collieがミラーリングしているセッション内でウィンドウまたはタブを開き、Claude Codeを起動します:
collie hooks install claude # once per host, Linux only
tmux new-window -n claude # or: zellij action new-tab --name claude
claudeCOLLIE_MUX_ENDPOINT_TMUXを設定しない限り、Collieはデフォルトのtmuxサーバーをミラーリングします。上記のclaudeセッションは自動的に表示されます。
実行中のClaude Codeインスタンスは設定を自動で再読み込みしません。フックをインストールした後にClaude Codeを再起動してください。詳細はCollie は Claude 自身の設定にフックを書き込みますを参照してください。
4. スマートフォンで開く
コードをスキャンするにはホスト上でcollie qrを実行するか、collie urlのリンクを開きます。スマートフォンは同じtailnet上に接続しておいてください。
- スマートフォンをペアリングします。 ホスト上で
collie pairを実行し、QRコードをスキャンします。ペアリングにより、スマートフォンにペインへの書き込み権限が付与されます (デバイスをペアリングする)。 - ホーム画面に追加します。 Androidでは「設定」の上部にあるインストールをタップします。iPhoneではSafariの共有シートをタップします。
5. Claude Codeへの応答
- ダッシュボードでは、入力待ちのペインが最上部に並びます。タップして開きます。
- コンポーザーには標準のテキストフィールドを使用しているため、スマートフォンの音声入力が利用できます。
- キーボード上のアクション行にあるキーをタップします。トレイにはEsc、矢印キー、Enter、Tab、Space、修飾キー、数字、F1からF12が含まれます。EscやCtrlのキーコンビネーションはスマートフォンのキーボードに依存しません。
6. 通知の受信 (任意)
collie push-keys # writes the VAPID keys to your .env
collie restartスマートフォンのCollieの「設定」で通知を有効にします。入力待ちはデフォルトで有効になっています。iPhoneでは、あらかじめCollieをホーム画面に追加してください。SafariではWeb Pushがホーム画面のウェブアプリに限定されています。詳細はWeb Pushを参照してください。
スマートフォンからClaude Codeにアクセスするその他の方法
- Claude Code Remote ControlはClaudeアプリまたはclaude.ai/codeをマシンのClaude Codeセッションに接続し、そのトラフィックはAnthropic APIを経由します (Anthropicのドキュメント)。Collieは代わりにターミナルペインをミラーリングするため、マルチプレクサ内の任意のエージェントで動作し、通信はtailnet内にとどまります。
- Termius、Moshi、TermuxなどのSSHアプリはターミナル全体を表示します。動作はしますが、モバイルキーボードでのターミナル操作には難があります。Esc、Ctrl、矢印キーの入力には回避策が必要です。