Skip to content
Gabo's Blog
Go back

Running Claude Code on Mobile with Happy Engineering

I’ve been using Claude Code a lot lately and wanted to be able to use it from my phone as well — not just from my desk. Here’s how I set it up.

Architecture

The whole system is made up of a few components connected over Tailscale, so there’s no port forwarding or public exposure involved:

┌─────────────────────────────────────────────────┐
│                   Tailscale                      │
│                                                  │
│  ┌──────────┐    ┌──────────┐    ┌──────────┐   │
│  │ Claude   │    │ Happy    │    │          │   │
│  │ Code VM  │◄──►│ Server   │◄──►│  Phone   │   │
│  │ (Zellij) │    │ VM       │    │  (Happy) │   │
│  └────▲─────┘    └──────────┘    └──────────┘   │
│       │                                          │
│       │ Mutagen sync                             │
│       │                                          │
│  ┌────▼─────┐                                    │
│  │   Mac    │                                    │
│  │ (editor) │                                    │
│  └──────────┘                                    │
└─────────────────────────────────────────────────┘

How it works in practice

I can start a task on my phone via Happy, then pick it up on desktop — or the other way around. Happy handles the transition without any manual reconnection.

When I need full terminal access from my phone (to run bash commands or interact with Claude directly), I SSH into the Zellij session via Termius.

It’s a small setup but it makes Claude Code genuinely usable on the go.


Both the setup described here and this blog post were written with the help of Claude Code.


Share this post on:

Previous Post
Caribbean-Style Chicharrón in the Air Fryer
Next Post
Setting Up This Blog with AstroPaper and Cloudflare Pages