On this page
Tomorrow is my first trip abroad since I bought the Mac Mini. Here’s the remote setup checklist I ran through before leaving:
- Made sure Tailscale had every device on the tailnet connected and handshaking, with both Mosh and SSH getting through
- Kept the Mac Mini awake with a caffeinate command so it never sleeps
- Set up auto-reboot in case of an unexpected shutdown
- Kept Herdr running persistently, configured in machine mode so other devices on the LAN can connect into the same herdr server
- Set up Finder on the laptop and the Files app on my phone to reach the Mac Mini’s folders over the LAN
- Refreshed the Claude/Codex login tokens ahead of time
- Made sure the laptop and phone I’m carrying both have a remote desktop app installed, so I can connect home in an emergency
- Tried to teach my girlfriend, who’s staying home, how to reboot the computer and the router if something goes wrong (??)
Tested it the next day: tailscale plus herdr connected me back to the codex running at home, no problems at all. Genuinely a fun experience.
The reason for all this trouble: I’m heading out on a long trip, and my laptop doesn’t have the storage for it — the harness and the scheduled jobs all live on the Mac Mini at home.
Unlike the five-step SOP I wrote for letting Claude Code run in the background from a hotel room before dinner, that one was a short backup plan for stepping out for dinner while still in Taiwan; this time I’m leaving the whole country, and the Mac Mini has to hold up as home base for days.
Want AI working in your own job, not just in demos? See the 3-month 1-on-1 program →
Field Results and Pitfalls After Leaving
Test numbers from a random hotel Wi-Fi in Taiwan, connecting straight through Tailscale to the host in Bangkok: no noticeable lag in actual use. After checking from both Hanoi and Taipei, I’m confident that keeping the Mac mini at home in Bangkok and reaching it over mosh/ssh plus the Tailscale network is the stable, correct call. Extra data point: a Louisa Coffee in Taipei started out routed through a Hong Kong relay, then went direct after 1-2 minutes, with round-trip latency of 87-92 ms, about 89 ms on average.
The remote rehearsal before leaving also turned up a few pitfalls, all of which went into the runbook:
- The Mac mini has FileVault on: a power cut, an automatic update, or
sudo rebootleaves it stuck at the disk-unlock screen, and Tailscale, SSH, and AnyDesk all go dark. The only safe remote restart issudo fdesetup authrestart, which lands at the login screen, where you log in through AnyDesk, and AnyDesk takes a minute or two before it will connect. - After a restart, SSH sessions can’t read the login keychain (
User interaction is not allowed): git push asks for credentials, the gh token shows as invalid, and Claude Code wants a fresh /login. Runningsecurity unlock-keychainfrom my phone brought all three back, so it’s now a required step after every restart. - Remote typing from the laptop was laggy, and the mini’s Wi-Fi showed a latency spike of about 0.4 seconds every second. Turning off AirDrop and Handoff on the mini dropped the average from 130ms to 3.6ms on the spot.
- Over SSH I couldn’t read Desktop, Documents, or Downloads until I turned on “Remote Login → Allow full disk access for remote users.”
Flaky Networks: Switching to mosh and Moving Images Across Machines
Later I switched the protocol I use to reach Claude Code CLI on my home machine from SSH to mosh. On hotel Wi-Fi that drops packets like crazy, mosh is unbelievably smooth. I’m genuinely moved.
One catch: when I’m on the mini through mosh, Markdown links don’t get colored and can’t be clicked (official mosh doesn’t forward OSC 8).
The other problem is sending images. Here’s what I do (the mini is the machine being controlled, the Air is the one doing the controlling):
- Save the image on the Air’s clipboard as a png (with pngpaste)
- scp it over Tailscale to the mini’s /tmp/
- Put the file path on the mini back onto the Air’s clipboard
- Paste that path straight into Claude Code, and Claude can read the image
When I need to actually look at things, I still pair this with copyparty. It’s a handy web-based file manager that opens and previews all kinds of files inside the Tailscale network.
Clicking File Links Remotely and Weak Network Fallbacks
For the past two weeks I’ve been traveling, mostly working by remote-controlling Claude Code CLI on the Mac mini at home from my laptop and phone. Every time I clicked a file link, nothing happened. Then I’d remember the link is a local path, so clicking it only opens the file on the mini back home, and I’d have to hurriedly add: open it on my laptop/phone through tailscale.
Later I had an idea and built a switcher with a Claude Mod. When I’m on the laptop or phone, I flip the mode, and the Mod intercepts the local paths in the model’s output, rewrites them as LAN addresses, and injects a prompt: the user is currently on remote device XX; if the user asks to open a file, use tailscale to do it on that device.
Aren’t I clever!

I also stumbled on a nice side use of tailscale: when I accidentally bought a travel eSIM that routes through a China node and every AI service died, I could still ask AI over ssh.

Someone asked whether to route all traffic through an exit node. No need. With claude in particular, I worry there’s some device fingerprint I don’t know about, and if it doesn’t match the region of the VPN exit, the account gets flagged and banned. So I just keep the device fully hidden in the back.