When Pi Coding Agent is running on your computer: how to monitor it from your phone

A provider-specific guide for Pi Coding Agent: install, env-based auth, connected services profiles, and a phone workflow for check-ins and follow-ups.

Based on
CLI
0.1.0
Preview ref
f36aa45

Pi Coding Agent is one of those tools that’s happiest running on a “real” computer:

  • the repo is local
  • tools are local
  • long sessions are normal

And then you hit the usual desire:

I want to check in from my phone.

Not to do a whole refactor.

Just to:

  • see what it’s doing
  • see if it needs input
  • send one correction

This guide is the provider-specific workflow that makes that feel sane.

What I tried first (and where I bounced off)

  • SSH from phone

  • remote desktop

  • waiting

  • Happier: it gives you a phone UI to check progress, handle approvals, and send one follow-up. Trade-off: it still depends on the computer running the session being online.

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 coding sessions.

Get set up:

TL;DR

  1. Install Pi (pi --version) on the computer that will run the session.
  2. Pi auth is env-based (no interactive login flow).
  3. If you’re using a system that supports connected credentials, pick a compatible profile (OpenAI Codex subscription OAuth, OpenAI API key, etc.).
  4. If Pi isn’t detected, set HAPPIER_PI_PATH to the absolute path of the pi binary.
  5. Use a phone-friendly session UI to monitor + approve + send follow-ups.

The problem

Pi is different from many providers because there isn’t a “log in” ceremony inside the app.

That’s not a bug.

It’s a credential model:

  • Pi reads supported credentials from environment-backed sources

So the phone workflow is not “log in from phone.”

It’s:

  • ensure the computer has the right credentials
  • then follow the session from your phone

Step 1: Install Pi Coding Agent

From provider docs:

npm install -g @mariozechner/pi-coding-agent
pi --version

Or via hstack:

hstack providers install pi
pi --version

(If you haven’t seen hstack before: it’s an optional helper in the Happier ecosystem that can install provider CLIs for you. You don’t need it — npm install -g ... is totally fine.)

Step 2: Auth model (env-only)

Pi is the clearest example of “credentials live on the computer, not in the chat UI.”

In source, Pi auth probing is marked as piEnvOnly.

That’s the behavior you should assume:

  • if the environment-backed credentials are present on that computer, Pi can run
  • if not, it can’t

A practical credentials checklist

On the computer that will run Pi:

  1. Confirm pi --version works.
  2. Decide which credential type you’re using:
    • OpenAI Codex subscription OAuth (connected)
    • OpenAI API key
    • Anthropic API key
    • Claude subscription setup-token profile (not OAuth)
  3. Start one tiny session and confirm you can send a follow-up.

If that works once, your phone workflow becomes simple: monitor + approve + nudge.

Step 3: Connected credentials profiles (when available)

Pi can reuse connected services profiles when spawned:

  • openai-codex (subscription OAuth)
  • openai (API key)
  • claude-subscription setup-token only (materialized token env)
  • anthropic (API key)

Important limitation from provider docs:

  • Pi does not accept Claude OAuth profiles; use a setup-token profile instead.

Step 4: Fix “pi not found” with HAPPIER_PI_PATH

If pi --version works in your terminal but the app can’t detect Pi, set:

  • HAPPIER_PI_PATH

This override is exercised in CLI tests.

Step 5: Phone workflow

The best phone workflow I’ve found is intentionally narrow.

  1. open the session
  2. check whether it’s waiting on approval
  3. send one follow-up
  4. leave

What I do from my phone (and what I don’t)

I’m comfortable doing this from a phone:

  • approvals
  • short constraints (“stop after next step”, “summarize first”)
  • quick diff sanity checks

I avoid doing this from a phone:

  • big refactors
  • anything that needs lots of copy/paste
  • anything where I can’t verify the path/command

Three copy/paste follow-ups that work well for Pi

  1. Checkpoint

Stop after your next step and summarize:

  • what you changed
  • what you didn’t change
  • what you want to do next
  1. Constraint

Don’t touch migrations/auth. If you think you need to, stop and ask.

  1. Verification

Before you keep going, paste the exact command you’re about to run and explain why.

If Pi needs a real terminal intervention, I wait for a keyboard.

If you’re new to Happier

If you haven’t seen Happier before: it’s an open-source companion app for running sessions like Pi on a computer and monitoring them from your phone.

Get set up:

Troubleshooting

Pi is not detected

  • verify pi --version
  • restart the app
  • set HAPPIER_PI_PATH

Pi says missing credentials

Treat it as a credentials issue on that computer:

  • confirm which profile you selected (if you’re using connected profiles)
  • confirm which env vars/tokens exist on that machine

I used Claude OAuth and Pi still can’t run

This is expected.

Pi can accept a Claude setup-token profile, but not Claude OAuth.

FAQ

Why can’t I just “log in from my phone”?

Because Pi uses an env-backed credential model.

The phone UI is not the credential store — the computer is.

pimobileworkflows
Last updated: 2026-04-03