Open-source app for the Pi Coding Agent
Pi brings its own keys and no model of its own. Happier brings the phone, the browser and the desktop app, and no server in the middle.
How Happier runs Pi Coding Agent
Pi ships no model, which turns out to be the interesting fact about running it here: every agent credential Happier holds is one Pi will take. Claude-subscription profiles, Anthropic keys, Codex logins and OpenAI keys all work, so the accounts you pooled because you use Claude Code can drive this too — chosen when the session starts rather than decided by whatever that computer was last logged into.
The mechanism is worth a sentence because it explains what does and does not move. Before launch Happier writes the profile you picked into Pi’s own isolated credentials file, in the shape Pi expects: a subscription login becomes an OAuth credential, a setup token or an API key becomes a key. Pi then reads its own file and talks to the provider directly, with no request of yours routed through anything of ours. If several of your profiles fit, the app asks which one rather than picking for you.
There is no sign-in button for this one, and that is Pi rather than an omission: it exposes no interactive login for Happier to drive, so the provider page reports the environment-backed credentials that computer already carries and stops there. Steering does work — a message sent into a turn that is already running is taken by the agent instead of waiting behind it — while typing into a vendor terminal is not something this agent offers. Pi is an experimental provider in Happier, which is the state to read it in.
What Pi Coding Agent does, and what Happier adds
Pi is a bring-your-own-key terminal coding agent: it does not ship a model, it drives whichever provider you have credentials for. happier pi runs it in your repository with the environment your shell already has.
That fits the way Happier works, because Happier does not hold those keys either. The agent process reads them on your computer, talks to the provider directly, and the only thing that crosses the network is an encrypted transcript going to your own devices.
So the shape of a Pi session is: your keys, your computer, your repository, and a phone in your pocket that can read the conversation and answer it. Nothing in that list is rented from us, and the relay in the middle is one you can run yourself if you would rather not use ours.
happier piRead, approve and answer Pi Coding Agent from any device
The iOS and Android apps, the desktop app for macOS, Windows and Linux, and app.happier.dev are all clients onto the Pi Coding Agent process running on your computer — not read-only mirrors. Answer a permission request, send the next instruction, browse the repository, read the diff. The transcript is end-to-end encrypted before it leaves your computer, so the server carrying it holds ciphertext.
Happier can install Pi Coding Agent for you
Happier installs on the computer that already holds your repository, and happier pi starts Pi Coding Agent there as an ordinary subprocess, in the directory you point it at, signed in the way you signed it in. There is no gateway between the agent and Pi, and no copy of your source anywhere else.
Happier looks for pi on your PATH first and runs the copy you installed. If there is not one, it can install @earendil-works/pi-coding-agent into ~/.happier/tools/providers/pi/ — its own directory, not your global npm prefix. A copy you manage yourself is never replaced or upgraded behind your back.
Pi’s own install and sign-in guide is at github.com/badlogic/pi-mono. Happier does not mirror it, because a copy of someone else’s install instructions is a copy that goes stale.
Configuration reference for the Happier side — Pi Coding Agent in the Happier docs.
Which account Pi Coding Agent runs on
Pi Coding Agent is one of the agents Happier can point at a credential you connected once instead of at whatever that computer is logged into. It accepts a Codex subscription, an OpenAI API key, a Claude subscription or an Anthropic API key.
Connected services are keyed by the credential, not by the agent, so the same Codex subscription is selectable for every agent that can take it, on every computer you have connected — which is also what makes a pool of your own accounts useful across more than one of them. The credential is encrypted and decrypted on your own devices; the docs page carries the per-profile rules, because which kinds of profile each agent accepts is exactly the sort of detail that moves between releases.
One app for Pi Coding Agent and 12 other agents
Pi Coding Agent is one of 13 command-line coding agents Happier runs, and they share one session list, one permission inbox, one set of keyboard shortcuts and one MCP configuration.
You define an MCP server once, and because Pi Coding Agent does not consume MCP directly, Happier hands the same tool surface to it through the happier tools shell bridge instead — the same tools, delivered as commands it can run. The app previews the effective tool surface before a session starts, so which one you got is visible rather than inferred.
That matters most on the days you are running more than one: sessions from different vendors side by side, and a notification tap opening the session that raised the request rather than the app’s front door. The full list is here.
The same Pi Coding Agent session in your terminal and in the app
Typing happier pi in a terminal starts the session right where you are standing, and the same session is in the app at the same time. What you read in that shell is Happier’s own display of the session — the transcript, the permission prompts, the tool output — rather than Pi Coding Agent’s interface. Nobody has to give up the terminal to get a phone client.
There is no hand-off to Pi Coding Agent’s own TUI. That exists for Claude Code, Codex and OpenCode, and for Pi Coding Agent the session stays Happier’s on both ends. happier attach <session-id> lists the sessions on that computer and marks the ones it cannot reattach, rather than failing after you pick one.
The attach guide lists the cases instead of promising all of them.
Questions about running Pi Coding Agent through Happier
- How do I install Pi?
- From the
@earendil-works/pi-coding-agentpackage. Happier will use apialready on your PATH first and can otherwise install the package into~/.happier/tools/providers/pi/. - Where do my API keys live?
- In your own environment on your own computer, which is where Pi reads them. Happier starts the process and does not copy, store or forward provider keys.
- Is this the same as oh-my-pi?
- No — different project, different binary. oh-my-pi ships as
ompfrom its own repository, and Happier does not run it in the version you can install today. It is coming in the next version, so it is something we are working on rather than something we support; this page is aboutpi. - Can I switch models mid-session?
- Happier exposes the models the agent reports and asks it to switch rather than shipping a list of its own. Whether a change lands on the current turn or the next one is the agent’s behaviour, and the app tells you which it is before you commit to it.
- Does it work on an iPad?
- Yes — the iOS app runs on iPad, and app.happier.dev works in Safari if you would rather not install anything. Both are clients onto the session running on your computer.
Get Pi Coding Agent onto your phone in two commands
One command on the computer that holds your code, then happier pi in the repository you want to work in.
curl -fsSL https://happier.dev/install | bashWalkthroughs are in the guides. All of it is MIT-licensed, and the relay is one you can run yourself.

