I do similar except I log into my office workstation and avoid the extra fees. I detailed my setup in an x post here https://x.com/bobjordanjr/status/1999967260887421130?s=20 and the TLDR is:
1.Install Tailscale on WSL2 and your iPhone 2.Install openssh-server on WSL2 3.Get an SSH terminal app (Blink, Termius, etc.). I use blink ($20/yr). 4.SSH from Blink to your WSL2’s Tailscale IP 5. Run claude code inside tmux on your phone.
Tailscale handles the networking from anywhere. tmux keeps your session alive if you hit dead spots. Full agentic coding from your phone.
Step 2: SSH server In WSL2:
sudo apt install openssh-server sudo service ssh start
Run tailscale ip to get your WSL2’s IP (100.x.x.x). That’s what you’ll connect to from your phone.
Step 3: Passwordless login In Blink, type config → Keys → + → create an Ed25519 key. Copy the public key. On WSL2:
echo "your-public-key" >> ~/.ssh/authorized_keys
Then in Blink: Hosts → + → add your Tailscale IP, username, and select your key. Now it’s one tap to connect.
Step 4: tmux keeps you alive iOS kills background SSH connections. tmux solves this.
sudo apt install tmux tmux claude
Switch apps, connection dies, no problem. Reconnect: I can just type `ssh dev` in blink and I'm in my workstation, then `tmux attach`, you’re right back in your session.
Pro tip: multiple Claude sessions Inside tmux: •Ctrl+b c — new window •Ctrl+b 0/1/2 — switch windows I run different repos or multiple agents in the same repo, in different windows and jump between them. Full multi-project workflow from my phone.