Codex from your phone: Codex Remote and Happier, compared
OpenAI put Codex inside the ChatGPT mobile app and calls the feature Remote: you pair a phone to a Mac or Windows PC and drive the Codex session running on it. Here is what that covers, the conditions OpenAI’s own documentation puts on it, and the workflow it was never built for.
OpenAI ships a remote for Codex, and it is good. Its own documentation calls it Remote, and describes it in one line: follow progress, approve actions and send instructions from your phone, while Codex runs each task on your connected computer. Setup is a QR scan — open the ChatGPT desktop app on your Mac or Windows PC, go to Settings → Connections → “Control this Mac or PC”, approve remote access, and scan the code with a phone signed in to the same account and workspace. From then on the four things OpenAI lists are all on the phone: start tasks, guide work as it happens, approve requested actions, review the result. Codex itself is included with ChatGPT subscriptions, so for most people none of this is a new bill. If Codex is the whole of your workflow and the computer holding your code is a Mac or a Windows PC, that is a complete answer, and nothing further down this page is an argument that it is not.
This page is about the rest of it: the conditions OpenAI’s documentation puts on Remote, the part of Codex that runs in OpenAI’s cloud rather than on a computer you own, and the 12 other agents neither surface was built to reach.
What Codex’s own remote does well, specifically
Every claim in this block restates OpenAI’s published documentation, including the part where their cloud does something Happier does not do at all. None of it is hedged, because a vague concession is not a concession.
- Start, guide, approve and review from your phone
- OpenAI’s Remote page lists what the phone is for: start tasks, guide work as it happens, approve requested actions, review the result. The work does not move — “Codex runs each task on your connected computer” — so the phone is a control surface rather than a second place your code ends up.
- Pairing is a QR scan from the ChatGPT desktop app
- Settings → Connections → “Control this Mac or PC” in the ChatGPT desktop app, approve remote access, scan the code. The phone has to be signed in to the same account and workspace, and OpenAI’s own step list ends with the honest one: keep your computer awake and online.
- It reaches the SSH hosts already in your ~/.ssh/config
- Per OpenAI’s remote-connections page, Codex reads concrete host aliases from `~/.ssh/config`, resolves them with OpenSSH, and ignores pattern-only hosts. A devbox you already have in your SSH config is discoverable rather than something you have to set up twice.
- Codex cloud runs tasks in parallel, in isolated environments
- Separately from Remote, Codex runs tasks in isolated cloud environments, in parallel, with per-repository setup steps, dependencies and variables — started from the web, from GitHub, from Linear or from Slack. Happier has no equivalent and is not going to pretend otherwise: every Happier session runs on a computer you own. Work on a repository you have not cloned anywhere is what a cloud environment is for.
- Codex is included with ChatGPT subscriptions
- OpenAI’s pricing page states that ChatGPT Work and Codex are included in the Free, Go, Plus, Pro, Business, Edu and Enterprise plans. Two things the same documentation adds: Remote availability depends on rollout and your workspace settings, and inside a managed workspace an admin may need to enable Remote Control access before a phone can connect at all.
The five conditions it runs under
These are not limitations we found by testing. Each one is a requirement OpenAI publishes, and one of them applies to Happier in exactly the same way — which is said below rather than quietly left out.
1. There is no Mac or Windows PC in the chain.
Per OpenAI’s docs, Remote supports hosts running the ChatGPT desktop app on macOS and Windows, and that desktop app is what the phone pairs with. A Linux computer is reachable from it as an SSH target — OpenAI’s remote-connections page asks you to confirm you can SSH to the host from the computer running the app, and that `codex` is on the remote host’s PATH — so the Mac or PC stays in the chain even when the code does not live on it.
The Happier CLI installs on macOS, Linux and Windows, and every computer you install it on becomes a machine a session can be started on directly. The Linux box in the corner is a machine in its own right rather than something reached through a laptop that also has to be awake.
2. You live in the terminal and want the session you already started.
Per OpenAI’s docs, mobile setup starts from the app: “you can’t set it up from the Codex CLI or IDE extension.” Pairing is a desktop-app flow.
Start a session with `happier codex` in a repository and it is already reachable from the app, the web and your phone — there is no second pairing step per session, because the pairing is between you and your own machines rather than between two apps.
3. Your computer is asleep.
OpenAI’s setup steps say to keep your computer awake and online, and the host must stay signed in to the same account and workspace.
Happier does not solve this, and a page that claimed otherwise would be lying to you: a session runs on a real computer, and a sleeping computer runs nothing. What changes is which computer has to be awake. Sessions are created against a machine, so the always-on box can hold the long run while the laptop in your bag is shut.
4. You are inside a managed ChatGPT workspace.
Per OpenAI’s docs: “If you use Codex through a ChatGPT workspace, your admin may need to enable Remote Control access before you can connect from your phone.”
The equivalent switch is one your organisation holds rather than one it asks for: `happier relay host install` puts the relay on hardware you own, gated by your GitHub org or OIDC groups, and the transcript is end-to-end encrypted before it reaches it.
5. You want to move a running task into the cloud, or back out of it.
Per OpenAI’s docs, “Handoff to a Codex cloud environment isn’t supported.” Remote drives the computer you connected; Codex cloud is a separate surface with its own environments.
Happier has no cloud environments to hand off to. What it moves is a live session between computers you own, keeping the same session id — which works for Claude Code and OpenCode, and is experimental on Codex.
Remote drives Codex. Happier drives 13 agents.
Remote drives Codex, and Codex cloud runs Codex. That is what a vendor remote is: every vendor that ships one ships it for its own agent, and there is nothing strange about that. The cross-vendor case gets built on an open protocol instead — Zed runs Claude, Codex, OpenCode, Copilot, Cursor and Pi Coding Agent in the editor over ACP, and Happier speaks ACP too, across your devices rather than inside one editor. Reaching one vendor’s agent from your phone and running 13 vendors’ agents out of one inbox are different jobs. Happier is built for the second one.
This is filed on its own rather than as a sixth entry in the list above, because it is a different kind of statement. The five conditions are requirements: meet them and the thing works. This one is the shape of the product, and no amount of meeting requirements changes it.
Will it run in your setup?
The eight facts that decide whether either thing works where you work. Three of them go to OpenAI. Those three are why the other five are worth reading.
| Fact | Codex Remote & Codex cloud | Happier |
|---|---|---|
| Agents it drives | Codex | 13 agents + any ACP CLI |
| Operating systems it runs the work on | macOS or Windows host app, plus its SSH targets (per OpenAI docs) | macOS, Windows and Linux, each on its own |
| Where the connection is set up | Desktop app; not the CLI or IDE extension (per OpenAI docs) | One install per computer, then `happier codex` in a repository |
| Remote SSH hosts | Discovered from `~/.ssh/config` (per OpenAI docs) | Install Happier on the host and it becomes a machine like any other |
| Running work in a hosted environment | Codex cloud: isolated cloud environments (per OpenAI docs) | Not offered — every session runs on a computer you own |
| Who holds the switch in an organisation | Workspace admin may need to enable Remote Control access (per OpenAI docs) | You do, on a relay you can self-host |
| Price | Codex included with ChatGPT subscriptions (per OpenAI docs) | Free and MIT-licensed |
| Made by the vendor of the agent | Yes — first-party | No — independent client |
What one client for 13 agents buys you
None of these are a vendor remote doing its job badly. They are the things that only become possible once the client is not tied to one vendor’s agent.
- Every agent in one inbox.
- Codex reaches your phone through the ChatGPT app. Claude Code’s remote opens in claude.ai/code or the Claude app. Each vendor’s remote lands inside that vendor’s product, which is fine right up until you use two of them and the approval you are waiting on is in the other one. Happier is a single inbox: every session, on every agent, on every computer you have connected, with one place to answer the permission requests they are all blocked on.
- Mix and match agents inside one workspace.
- A Codex session can hand the review to a delegate run on Claude Code while a third agent reads a stack trace, and you can steer any of them mid-run. Happier’s plan, review and delegate runs take an explicit list of provider targets rather than whichever provider you happen to be sitting in. A remote built by one vendor drives that vendor’s agent; that is what it is for.
- Pick the account a session runs on, or pool several to fall back.
- Connect more than one profile per service — a personal Codex subscription and a work one, an OpenAI key — and pick which one a session runs on when you start it. Pools are pools of accounts rather than of agents: the same Codex subscription is usable by any agent that runs on it, OpenCode included. Where the quota surface is enabled, Codex, Claude and Gemini profiles carry a usage snapshot in the auth picker, so you can see what is left before committing a long run to it. When a pool does move a running session to another account, it is bounded — at most once a turn and three times a session hour by default — and mid-session switching is Claude Code and Codex only.
- Switch between the terminal and the app, mid-session.
- Start a Codex session from your phone, then run `happier attach <session-id>` on that computer and you are in Codex’s own TUI, in the same session, with the history already there. Or start it in the terminal and pick it up in the app. Codex’s local control is exclusive, so while the TUI has the session a message from the app waits in the pending queue until that turn finishes, aborts or exits — Happier will not type into a running turn, because that is how you lose work you wanted.
- Start a session on any computer you own.
- Sessions are created against a machine, so a Codex session can start on the VPS while you are on the laptop, and a session on the laptop can message it and wait for it to finish. A live session can also move between computers under the same session id, carrying its provider state and project directory — supported for Claude Code and OpenCode, experimental for Codex.
- Mark the lines. Send them to any agent.
- Open a file or a diff — the changed-files review, or the diff the agent just wrote into the transcript — and leave a comment on the exact line. Happier saves the path, the line, a snippet and a hash of that line’s contents, so the note still finds its code after the file moves underneath it. Pick which comments to send and they go in as structured review context: back into the same session, or into a new one on a different agent, because the comments are held against the workspace and any session you open there finds them waiting.
The other difference is where the conversation lives. A Happier account is end-to-end encrypted by default — the sync server holds ciphertext it cannot read — and happier relay host install puts the relay itself on hardware you own.
Codex has its own page here, with the install path, the auth model and the quirks — Codex in Happier. The same question, asked about Anthropic’s remote, is answered on the Claude Code Remote Control page.
Trying it
Install on the computer that holds your code. Nothing on your phone matters until that computer is set up, which is why this is the first step rather than an app store badge.
curl -fsSL https://happier.dev/install | bashThen happier codex in a repository. The session is on your phone from the moment it starts, and it is still in your terminal — happier attach puts you back in Codex’s own TUI without starting a second one.

