How to run Happier from your phone

Start and control Happier sessions from mobile, then continue the same session from desktop or the CLI.

I treat Happier like a coding companion: sessions run on a machine I trust (laptop / server / dev box), and my phone is where I keep the workflow moving — start sessions, send follow-ups, approve requests, and (when needed) review/edit changes without opening a remote desktop.

What I wanted was simpler:

Start a session from my phone, keep it running on a machine I trust, then hop back into the same session later from desktop or the CLI.

That’s what Happier is good at: doing the “check progress / send a follow-up / handle an approval” loop from your phone, while the session stays on the machine (laptop / server / dev box).

TL;DR

  1. Set up Happier on a machine you trust and connect your phone. (If you’re brand new, start with the GitHub “How it works” section and then this guide.)
  2. On your phone, start (or open) a session and pick the machine that should run it.
  3. Let it run on that machine while you’re away.
  4. Later, on the owning machine, continue the same session from the CLI:
    • use happier attach <session-id> if it’s still running
    • use happier resume <session-id> if it’s inactive and vendor-resumable

What “run from your phone” actually means

Your phone isn’t the place doing the heavy lifting. It’s the place where you:

  • read what the agent is doing
  • send new instructions
  • approve the occasional prompt/action
  • browse files/diffs and keep the session moving

The actual session still runs where the repo and tools live: your laptop, server, or dev box.

One important nuance: Happier isn’t a “mobile-only” product. The phone is one surface. The same session can also be continued from desktop web, the desktop app, or the CLI on the owning machine.

What I tried first (and what I kept bouncing off)

Before I landed on this workflow, I tried the usual options:

  • SSH + tmux: totally valid, but on a phone I find myself scanning long output, losing context, and doing too much “tiny terminal work.”
  • Remote desktop: fine when I’m desperate to use my exact desktop tools, but it’s heavy and fiddly on mobile.

What I ended up wanting was something that feels designed for a phone, while the session still runs on my machine.

  • Happier: gives me a phone-friendly way to start sessions, send follow-ups, and handle approvals while the session stays on my machine. Trade-off: you still need the owning machine online and connected.

If tmux already fits your workflow, keep using it — I just found I wanted a more comfortable way to do the “check progress / send one follow-up / handle an approval” loop from my phone.

If you’re self-hosting or using a custom Relay, make sure you have a reachable HTTPS URL for the UI (for example a *.ts.net URL via Tailscale Serve).

Why: browsers treat http://localhost as a secure context, but not a random LAN/Tailscale HTTP origin, and Happier relies on secure-context browser features.

Option B: use the native mobile app

If you’re using the mobile app, the three things that matter are:

  1. pick the correct Relay (Happier Cloud or your self-hosted Relay)
  2. sign in on that Relay
  3. make sure your machine/daemon is connected to the same Relay

If you’re new to Happier (what it is, and where to get it)

The thing that made this workflow click for me was using Happier to do the phone part (follow-ups, approvals, quick checks) without living in SSH.

It’s an open-source companion app (mobile/web/desktop) for AI coding agents: the session still runs on a machine you trust (laptop/server/dev box), and Happier is where you keep the workflow moving from your phone.

Get set up:

Start from your phone

From mobile (app or web UI):

  1. Create a new session and choose the machine you want it to run on.
  2. Send your task.
  3. Leave it running while you’re away from your terminal.

Continue from the CLI on the owning machine

On the machine that owns the session:

If the session is still running

Use attach:

happier attach <session-id>

If the session is inactive

Use resume (only works when the session is vendor-resumable):

happier resume <session-id>

Troubleshooting

Mobile web UI loads but can’t connect or shows “wrong Relay”

Double-check:

  • the UI is pointed at the same Relay as your daemon/machine
  • you’re signed into the same account on that Relay
  • if self-hosting, the URL you opened is HTTPS (not plain HTTP over LAN/Tailscale)
mobileremotesessions
Last updated: 2026-04-01