TL;DR
A developer runs multiple Claude Code agents from an iPhone using Termius and a cloud VM reachable only via Tailscale, with mosh and tmux providing session resilience. Push notifications via a PreToolUse hook and Poke webhook let the developer work asynchronously and only pay for the VM while active.
What happened
The author describes a mobile-first development setup that runs six Claude Code agents in parallel from a phone. A Vultr VM (vhf-8c-32gb) in Silicon Valley is started and stopped on demand to control costs; the instance is billed at $0.29 per hour. Access to the VM is limited to Tailscale’s private network; the VM’s public IP does not accept SSH. On the phone, Termius is used to connect and mosh keeps shell sessions alive through network changes and device sleep. The shell auto-attaches to tmux so windows and agent sessions persist between Termius launches. A PreToolUse hook in Claude Code triggers a script that extracts inspect questions and POSTs them to a Poke webhook, delivering push notifications to the phone so the developer can respond asynchronously. Branch-specific worktrees and deterministic port allocation allow multiple, isolated feature sessions running concurrently.
Why it matters
- Enables asynchronous development: long-running agent tasks can run while the developer does other things and respond only when prompted.
- Cost control: pay-per-use VM lifecycle limits exposure to runaway cloud costs.
- Resilient mobile workflows: mosh and tmux preserve sessions across network transitions and app restarts.
- Security-by-design: access restricted to a Tailscale private network and a disposable VM reduces risk to production systems.
Key facts
- Cloud VM: Vultr instance vhf-8c-32gb used as the development host.
- Cost: the VM runs at $0.29 per hour (about $7/day when continuously running).
- Network access: the VM does not accept public SSH; administration occurs over Tailscale private network.
- Session tools: Termius on iOS/Android plus mosh for network-resilient shells and tmux for session persistence.
- Push notifications: Claude Code’s PreToolUse hook triggers a shell script that sends questions to Poke’s webhook.
- Agent concurrency: six Claude Code agents run in parallel, each in its own tmux window.
- Port allocation for local services is deterministic and derived by hashing branch names to avoid conflicts.
- Defense-in-depth: cloud firewall limiting traffic to Tailscale coordination, plus local nftables and fail2ban on the VM.
What to watch next
- mosh not forwarding SSH agent: for git operations that require GitHub authentication, regular SSH inside tmux is used (confirmed in the source).
- Whether this single-developer pattern scales to team workflows and CI/CD integrations: not confirmed in the source.
- Potential limitations around device battery, mobile OS restrictions, or push-delivery reliability across carriers: not confirmed in the source.
Quick glossary
- mosh: A remote terminal application that maintains session connectivity across intermittent networks and roaming.
- tmux: A terminal multiplexer that lets users run multiple terminal sessions inside a single SSH connection and detach/reattach to preserve state.
- Tailscale: A mesh VPN that creates a private network among devices, enabling access to hosts without exposing services on the public internet.
- Webhook: A callback HTTP request triggered by an event, used to notify external services or trigger downstream actions.
- Virtual Machine (VM): A software emulation of a physical computer used to run operating systems and applications in isolated environments.
Reader FAQ
Do you need a laptop or desktop for this workflow?
No — the author runs everything from a phone using Termius plus a cloud VM.
How are push notifications delivered when Claude needs input?
A PreToolUse hook extracts the question and posts it to Poke’s webhook to send a notification to the phone.
Is the VM accessible from the public internet?
No — the VM’s public IP does not run an SSH listener; access is limited to Tailscale's private network and the cloud firewall restricts other traffic.
Can this setup access production systems or secrets directly?
The author says the VM is isolated and not given access to production systems; no broader access is confirmed in the source.
I run six Claude Code agents in parallel from my phone. No laptop, no desktop—just Termius on iOS and a cloud VM. The Setup Termius + mosh PreToolUse hook Push…
Sources
- Claude Code On-the-Go
- Run Claude Code From Your iPhone With Tailscale …
- Claude Code from Your Phone | Muhammad Azeez
- The Definitive Guide to Using Claude Code on Your Phone
Related posts
- taws: Keyboard-driven terminal UI for navigating and managing AWS
- OpenGitOps: Open Standards and Principles for GitOps Adoption
- NSFW Acronyms for Programmers — Free eBook ‘Naughty Words Every Programmer’