スマホからClaude Code・Codexを操作する方法を5つ比較

個人開発者のnoteを読んでいたら、開発環境の章にこう書いてありました。

移動中にスマホから、さっきの実装のここを直して、と送っておくと帰宅した頃には終わっています。

該当のnoteの筆者はcmuxというmacOS用ターミナルと、cmux-remoteというスマホアプリを使っていました。
出先でPCがさわれないときもスマホで指示を出しておくと、家に着く頃には終わっている。

同じことをやりたくなったので調べました。
結果、cmuxではなくherdrという別のツールで環境を実現することにしました。
そこに至るまでに5つの選択肢を比較したので、備忘録として残します。

前提:2つのエージェントを1か所で見たい

私はClaude CodeとCodexの両方を使っています。

なので条件は「スマホから指示が出せること」+ 「2つを1つの画面で見られること」 でした。

選択肢1:cmux公式のiOSアプリ

まずnoteに書いてあった通りのものを調べました。

cmux本体はGPL-3.0で、無料です。macOS用のネイティブターミナルで、
縦タブ・ペイン分割・組み込みブラウザを持っています。ここまでは問題ありません。

問題はスマホ側でした。公式の料金ページを見ると、
iOSアプリはProプラン(月$50)以上に含まれる機能です。TestFlight配布のベータで、
無料プランには入っていません。

有料ということで、これは一旦保留にしました。

選択肢2:非公式のiOSアプリ

cmuxのスマホ接続を無料で実現するアプリが、App StoreとGitHubにいくつかあります。

  • Cmux Remote(App Store・無料・MIT)
  • Telecmux(App Store・無料・SSH鍵認証なのでTailscale不要)
  • NewTurn2017/cmux-remote(GitHub・MIT・サイドロード必須)

どれも月額はかかりません。一番軽いのはTelecmuxで、SSH接続なのでVPNの設定も要りません。

ただし上記は、いずれも個人または小規模な開発者が作ったものでした。

選択肢3:VSCode Remote Tunnels

Microsoft公式で、無料です。Mac側で1つコマンドを打つと、
https://vscode.dev/tunnel/<マシン名>/<フォルダ名> というURLが払い出されます。

code tunnel service install

スマホのブラウザでそのURLを開くと、VS Codeがそのまま出てきます。
ブラウザ内にターミナルもあるので、そこでclaudeでもcodexでも動かせます。
アプリのインストールは要りません。GitHubかMicrosoftのアカウントで認証し、
トンネル上にSSH接続を張ってAES-256で暗号化されます。

条件は満たしていますが、
スマホのブラウザでVS Codeを操作することになります。
タップ対象が小さく、ソフトキーボードとも相性が悪い。
そう思って、こちらも保留にしました。

選択肢4:各社純正の機能

Claude CodeにはRemote Controlという公式機能があります。
Mac側でclaude remote-control(または実行中のセッションで/remote-control)を打ち、
出てきたQRコードをスマホのClaudeアプリで読むと使用できます。
写真の添付もでき、タスクの完了時にプッシュ通知も来ます。

ですが、こちらはclaudeセッションにしかつながりません。

Codex側ですが、Codex CLIのドキュメント
にモバイルはありません。

Desktop app / ChatGPT web / IDE extension / Codex cloud

つまりスマホからつながる先はCodexのデスクトップアプリかクラウドであって、Codex CLIではないということになります。

純正で揃えようとすると、スマホにClaudeアプリとChatGPTアプリが並び、
Mac側もclaudeとCodexデスクトップアプリで別々になります。
「1か所で見たい」という最初の条件が、満たせないということになります。

選択肢5:herdr

これはエージェントと繋げるのではなくエージェントの下にあるターミナルと繋げる方法です。

  • Apache-2.0のオープンソース
  • ターミナルマルチプレクサ(tmuxやzellijの系譜)で、22種のエージェントを自動検出する。
    Claude CodeもCodexもCursorもopencodeも同じ扱い
  • 各ペインを idle / working / blocked / done という状態として持っている
  • macOS / Linux / Windows で動く

スマホ側は、herdr-webというプラグインをTailscale越しに開きます。
App Storeのアプリは入れず、ブラウザでURLを開くだけです。
UIのソースもMITで公開されています。

常駐の仕方もcmuxとは違います。
cmuxはGUIアプリなので、開いていないと止まります。
herdrはバックグラウンドのサーバーがターミナルを持つので、
画面を閉じてもネットが切れても動き続け、Macを再起動するとレイアウトごと復元されます。

私の場合は、ブラウザだけで済むことと、常駐することの2点でherdrにしました。

5つを並べた結果

月額Claude CodeCodexスマホ側ソース
cmux公式iOS$50専用アプリ本体のみ公開
cmux+非公式アプリ¥0専用アプリ一部クローズド
VSCode Tunnels¥0ブラウザ非公開
各社純正¥0×アプリ2つ非公開
herdr+herdr-web¥0ブラウザ全部読める

組んだ構成

構築は半日かからずに終わりました。

iPhone (Safari / ホーム画面に追加)
   ↓ Tailscale(自分のネットワーク内だけ)
Mac :17930 (HTTPS)
   ↓ tailscale serve
herdr-web :7930(127.0.0.1限定)
   ↓ socket API
herdrサーバー(常駐・ログイン時に自動起動)
   ↓
Claude Code / Codex

Claude CodeとCodexを並べた状態で、herdrが返したのがこれです。

w3:p1  agent="claude"  status=idle  ✳ Claude Code
w3:p2  agent="codex"   status=idle  LIFE

同じワークスペースに2つのエージェントが並び、それぞれ別のものとして
状態を持っています。これをTailscale越しのHTTPSでスマホから見ています。

はまった点

herdr-webはmacOSではそのままでは起動しませんでした。2回失敗しています。

  • setsid: command not found — 起動スクリプトがLinux前提で、macOSにないコマンドを呼んでいた
  • nohup: node: No such file or directory — herdrをlaunchd経由で常駐させたため、
    最小限のPATHしか持たず、nvm管理下のnodeを見つけられなかった

どちらも起動スクリプトを2箇所直して解決しました。

まとめ

月額はゼロ、スマホには何も入れず、エージェントが増えても設定を足さずに済む構成になりました。

当初意図していた通りの使い方ができるかはまだわかりませんが、構築した環境を実際に使ってみて、また何かあれば改良できたらなと思います。

詳しい構築の手順は下記の記事に記載しました。

コメント

タイトルとURLをコピーしました