Moshiでモバイルバイブコーディング
外からバイブコーディングしたい
Mac で普段はコーディングしてます。
ガチガチ作業のときは家か職場で Macbook 広げたほうがいいんですが、
PC のない環境、ジムで有酸素してる時とか、そういう環境で
スマホから Claudecode いじりたいときとかがよくあります。
リファクタリングとかの時間がかかるけど簡易的な作業であれば
モバイルのほうが便利だよなと思い、
mosh と moshi でうまいこと行けるらしいのでやってみようと思います。
https://x.com/gunta85/status/2016100654536855650
Mosh を入れてみる
Mac のリモートログインが有効になってるか確認します。
なってなかったら、システム設定→一般→共有 から設定します。
# Remote Login: On になってればOK
sudo systemsetup -getremotelogin
したら、Mosh をインストールします
brew install mosh
mosh-server --version
たぶん、Mac 側でファイアウォールをオンにしてると思うので、
which mosh-server でパスを取ってから
システム設定→ネットワーク→ファイアウォール から
mosh-server を通します。
Tailscale で通す
今回、外出先から Mac へアクセスしたいので、Tailscale で VPN を通します。
とりあえず、Tailscale を入れんことには何も始まらないので公式に沿って入れていきます。
Tailscale | Secure Connectivity for AI, IoT & Multi-Cloud
ログインとかなんとかして簡単に入れれるので、これで通します。

僕の場合、VPN オンにすると他のアプリがインターネットアクセスできなくて死ぬっていう減少が発生したので、下記を使って直しました。
sudo networksetup -setdnsservers "A83B3_A1" 1.1.1.1 8.8.8.8
sudo networksetup -setdnsservers "Wi-Fi" 1.1.1.1 8.8.8.8
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
iPhone にアプリ入れる
iPhone に Tailscale と Moshi を入れます。
とりあえず入れて Tailscale でログインして、
自分の Mac が出てくれば OK です。
Mac とつなぐ
Mac の Tailscale の IP を取ったら、
iPhone の Moshi でその IP と PC のパスワードを使ってログインします。
したら、見慣れたターミナルが出てくれば勝ちです。
tmux でモバイルと PC のターミナルを同期させる
PC 側で tmux new -t main みたいな感じで新しいセッションを作ります。
わかりやすいようにここで claude でも売って claude code を出しときましょう。
次に、Moshi から tmux a -t main を打って tmux にアタッチします。
すると、PC で起動している Claude Code が表示されると思います。
モバイルから操作をすることで PC の Claude Code が動くのがわかると思います。
ショートカットを使って簡易化
とはいえ、Moshi は iPhone をスリープにすると接続が切れてしまうので、
毎回 tmux a -t main をしないといけないのは大変面倒です。
なので、iPhone のショートカットで起動時に tmux a -t main をクリップボードにコピーするのを作っておくと便利です。

これでジムで有酸素していてもバイブコーディングが可能になりました。
布団の中からでもバイブコーディングできるので便利ですよ。