How to monitor existing Claude Code or Codex sessions from your phone (Direct sessions)

Follow a provider-native session in Happier, then optionally take over (or take over + sync) when you want Happier to own it.

Based on
CLI
0.1.0
Preview ref
f36aa45

One of the most common “wait, do I have to start over?” moments is this:

You already have a Claude Code or Codex session running, and you want to monitor it from your phone.

The two obvious ways people try to solve this are:

  • start a brand-new session on the phone (simple, but you lose the already-running thread), or
  • remote into the machine that’s running the session (SSH/tmux/remote desktop)

What I wanted was a third option:

open the existing provider session first, then decide whether I want to “adopt” it into a more portable workflow.

Happier is one of the options I use for this. The feature is called Direct sessions.

TL;DR

  1. Set up Happier on the owning machine and connect your phone.
  2. Enable Direct sessions (experimental) if your server requires it.
  3. Open the provider session as a Direct session.
  4. If you want Happier to own it going forward, choose:
    • Take over (attach control), or
    • Take over + Sync (convert into a synced Happier-managed session).

What I tried first (and where I bounced off)

  • Start a new session in Happier: works, but you lose the already-running provider-native session context.

  • SSH in from my phone: works, but it turns into terminal work on mobile.

  • Happier (Direct sessions): lets me follow an existing session from my phone, then convert it only if/when I want. Trade-off: it’s experimental and capability-driven; some providers/backends support more handoff features than others.

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

If you haven’t seen Happier before: it’s an open-source companion app (mobile/web/desktop) for AI coding agents like Claude Code, Codex, and OpenCode.

The workflow here is: use Happier from your phone to monitor an existing session (and optionally take it over), while the session still runs on the machine that owns the workspace.

Get set up:

The mental model: Direct vs Synced

  • Synced session: created inside Happier; Happier owns the session metadata and can support resume/attach semantics when the provider supports it.
  • Direct session: a view onto a provider-native session that isn’t synced into Happier unless you explicitly convert it.

Direct sessions aren’t “unsaved”. They’re just not synced until you choose to sync.

Step-by-step: open an existing session as Direct

  1. Enable Direct sessions if needed (feature flag / experimental toggle).
  2. Open the provider session from the Direct sessions flow.
  3. Monitor from your phone (transcript, tool events, approvals).

Step-by-step: Take over vs Take over + Sync

Take over

Use this when you want to take control of the provider session.

Take over + Sync

Use this when you want to convert the provider session into a Happier-managed synced session.

A good rule of thumb: if you want the session to be resumable and shareable in the “Happier-native” way, you usually want Take over + Sync.

Troubleshooting

Symptom: I don’t see Direct sessions

Likely causes:

  • it’s disabled by feature flags
  • it’s not enabled on the server

Fix:

  • enable the Direct sessions experimental feature
mobilesessionsdirect-sessionsworkflows
Last updated: 2026-04-03