Codex
on your phone.

Codex on your phone runs through the ChatGPT app, paired from the desktop app on a Mac or PC. Here is how that works, where it stops, and the option for the Codex CLI.

bash
npx pushary@latest setup

Pick Codex when prompted. Installs the hooks and connects over MCP.

Hacker NewsFeatured on Hacker News
Claude Code, Codex, Cursor, Gemini CLI and more
iPhone, Android and Mac
Your code never leaves your machine

The ways to use Codex from your phone

OpenAI's own option comes first. It is set up from the ChatGPT desktop app; the Codex CLI has only an early pairing command, covered in the questions below.

Codex in the ChatGPT app

What it does
Follow and steer Codex running on your computer from the ChatGPT app on iOS or Android: start chats in your projects, answer questions, approve commands, review diffs, and get a notification when a task finishes or needs you.
What it needs
Codex access in your ChatGPT account, and the ChatGPT desktop app on a Mac or Windows PC, paired from Settings, Connections, Control this Mac or PC with a QR code. The same account and workspace on both; a workspace admin may need to allow it.
Where it stops
OpenAI says mobile setup starts in the desktop app, not the Codex CLI or the IDE extension, and that availability can vary by rollout. Linux is not listed as a host, though a Mac or PC host can reach one over SSH. The host has to stay awake and online, and closing the desktop app stops it.

SSH into your own computer

What it does
Open the terminal itself from an SSH app on your phone, usually over Tailscale or a VPN, with tmux keeping the Codex session alive between visits.
What it needs
A computer you can reach from outside, an SSH app and a little setup.
Where it stops
You get a full terminal on a small screen, and nothing tells you when Codex stops to ask for approval.

Pushary

What it does
Codex's own hooks send its approval requests and questions to your phone as push notifications, from the Codex CLI or from Codex in the ChatGPT desktop app. Approve from the notification once your phone is unlocked; deny is one tap. Claude Code, Cursor and Gemini CLI land in the same app.
What it needs
One setup command on your computer and the Pushary app. On the web: $9.99/mo after a 3-day free trial. Cancel anytime.
Where it stops
An approval request waits up to 180 seconds for you. After that your rule decides: Codex asks in its own prompt, the call is refused, or in Always mode a rule that approves on timeout lets it run. Hooks never see the desktop app's Computer Use cards; an experimental Pushary switch forwards those.

Which one to use

  • You work in the ChatGPT desktop app on a Mac or PC: start with Codex in the ChatGPT app.
  • You work in the Codex CLI, or you run Claude Code and Cursor as well and want one place to answer them: that is where Pushary fits.
  • You want the whole terminal on your phone: SSH and tmux.

Updated

Checked againstOpenAI: Remote connections (opens in a new tab)

Review a denied command from your phone.

Left alone, Codex can hand an escalated command to its own reviewer, which decides without you and tells the model the action was rejected. In auto-review mode, Pushary lets that reviewer decide first. After a supported shell command is denied, the Stop hook can ask you whether to approve a retry.

The Codex CLI alone, no remote
Sit at the terminal to catch an escalation
The reviewer can refuse without asking you
Walk away and the turn stalls on a question
No record of what was approved, or why
Nothing stops a run that has gone wrong
With Pushary on your phone
Codex runs on your machine, as it always did
Supported reviewer denials can reach your phone
Answer a question and the turn keeps going
Every decision lands in an audit trail
Kill switch stops it in one move

Let Codex run. Keep the last word.

One command to connect. Approve, answer, or stop from your phone.

Start your trial

$9.99/mo after a 3-day free trial. Cancel anytime.

Frequently asked questions

Is there a Codex mobile app?

Codex on mobile lives inside the ChatGPT app for iOS and Android rather than in an app of its own. It connects to Codex running in the ChatGPT desktop app on a Mac or Windows PC, which you pair with a QR code from the desktop app's settings.

Can I run Codex from my phone?

Yes. Codex in the ChatGPT app is OpenAI's own way to reach Codex on your computer. The Pushary app can also start Codex on a connected computer, send it an instruction, approve or deny an escalated command, answer a question, and stop a running session. The computer has to be awake, logged in, online, and running the Pushary background service. Codex itself never leaves your machine.

Does this work with the Codex CLI or the ChatGPT Codex app?

Both, on your own computer. Pushary installs Codex's native hooks and connects over MCP, so it reads the PermissionRequest and Stop events that the Codex CLI and Codex in the ChatGPT desktop app run. Cloud tasks you start inside ChatGPT run on OpenAI's infrastructure and do not run those hooks, so they are out of scope.

How is this different from Codex Remote in the ChatGPT app?

Codex Remote links the ChatGPT app on your phone to Codex in the ChatGPT desktop app on a Mac or Windows PC. You can follow a task, send instructions and approve its requests there. OpenAI's setup starts from that desktop app, not from the Codex CLI or the IDE extension. Pushary works through Codex's own hooks, so it covers the Codex CLI without the desktop app. It also lets a policy clear safe commands on its own, keeps an audit trail of every answer, and puts Claude Code, Cursor and Gemini CLI in the same app.

Can the Codex CLI pair with the ChatGPT app on its own?

Partly. The Codex CLI reference lists a codex remote-control command: codex remote-control start runs a local app-server daemon with remote control on, and codex remote-control pair prints a short-lived pairing code for the ChatGPT app. OpenAI's Remote connections page still says mobile setup starts from the desktop app, so treat the CLI path as early, and it only reaches the session while that daemon keeps running. Pushary works through the hooks the CLI already runs, with no extra daemon, and a policy can clear safe commands without asking you at all.

What happens to Codex's auto-reviewer when Pushary is connected?

In auto-review mode, Pushary lets Codex's reviewer decide first. If the reviewer denies a supported shell command, Pushary can ask you from the Stop hook. Your approval permits a retry of that exact command; it does not turn off review for future commands.

Does an escalated command really wait for my answer?

When Pushary asks for approval, the command waits for the hook's answer. In auto-review mode, the reviewer runs first; a supported denied command can then be offered for a phone-approved retry through the Stop hook. Silence does not approve that retry.

Does it work with codex exec in a script or CI?

Notifications and the audit trail do. Approvals do not gate it: codex exec reports bypassPermissions whatever approval policy is set, which is the correct headless answer. Use phone approvals for interactive sessions, and keep CI runs governed by the sandbox and the permissions you grant the job.

Do I need a separate setup if I also use Claude Code?

No. One run of the setup command lets you pick every agent on the machine, and one subscription covers them. Approvals, questions, and the audit trail work across Codex, Claude Code, Cursor, Gemini CLI, Hermes, VS Code, and MCP clients.