TerminalsCodex Desktop

Every Codex conversation, one click away.

Perch keeps every Codex session on your Mac in the menu bar, the desktop app’s and the CLI’s. Click a Desktop one and the app opens that exact conversation.

Codex Desktop with Perch

Lands on
The exact conversation
How
Codex's own codex:// link
Permission
None
Needs
The Codex desktop app
CLI sessions
Their terminal pane

How the jump works

Codex has a link for every conversation

The conversation, not the window

The desktop app answers a codex://threads link by opening that thread. Perch uses the session's own thread, the one you started, rather than one of the helper agents working under it.

Known from Codex's own records

Codex writes down where each session came from. Perch reads it from the session's record and from its first hook event, so a Desktop session can be opened from its first moments, not only after a later scan.

Checked before it's opened

The thread id comes from a file Codex writes in your home folder, so Perch accepts plain hex and dashes only, and builds the link itself. An edited file can't turn a click into some other link.

On the row

Desktop and CLI, side by side

Labelled, every row

Each Codex row says whether it's the desktop app or the CLI, so you know before you click whether you're opening a conversation or a terminal pane.

Only your conversations

The desktop app runs short background threads of its own. Perch leaves them out, so they don't show up as extra idle Codex rows, some of them labelled “/”.

One strip of usage

The desktop app and the CLI share your account, so they share one set of rate-limit bars, your plan label and your credit balance in the strip.

How approving from your iPhone works, and every alert Perch can send you.

Worth knowing

The conditions, named

No app, no conversation

Perch only opens the link when macOS has an app to hand it to. Without the desktop app installed, a click shows the project's folder in Finder instead.

A session with nothing to open

A Desktop session that never wrote a conversation, like the app warming up a plugin, has no thread to open, so a click shows its folder. That's correct rather than a miss.

Codex in an editor isn't sent the link

Codex sessions started from another app, such as an editor extension, never get the desktop link, so a click can't open a conversation in the wrong app.

Claude Desktop raises the app

Claude Desktop has no link that focuses a running conversation: the one that exists imports a copy as a new one. So Perch brings Claude Desktop forward and goes no further.

Pay once for the fleet. Subscribe for the conversation.

Solo

$29one-time
  • Lifetime license — pay once, keep it
  • One Mac at a time; deactivate in-app to move
  • iOS companion, push alerts & Live Activities included
  • Notarized app with signed automatic updates
Buy Perch — $29

Team

$29per seat, one-time · 2+ seats
5
seats × $29 = $145
  • A license key for every teammate — not one shared key
  • Assign and revoke seats by email from your customer portal
  • Your seat is claimed on purchase; invite the rest by email
  • Same lifetime license and updates on every seat
  • Perch Pro is separate — each teammate who wants it subscribes in the iPhone app
Buy 5 seats — $145

Pro

Most popular
$4.99per month

or $29 a year

Launch price until 15 November, then $49 a year

  • A Mac app licence included, for as long as you subscribe — nothing separate to buy
  • Read your agents’ conversations from your iPhone, and reply straight back into the session
  • Works with your Mac locked, from anywhere your phone can reach it*
Get it on the App Store

Free to download. Pro is an in-app purchase.

* What Pro can reach depends on the agent and on where its session is running. Replying needs the session inside tmux, herdr or Rex (Droid, tmux or Rex) — Codex in its default mode and OpenCode use their own local servers instead — and it has to be switched on in Settings, because paying for Pro is not the same as consenting to remote input. Reading a conversation works wherever the session runs. Each agent’s own page says exactly what it supports, and what it doesn’t.

Questions

Codex Desktop and Perch, specifically

Does Perch work with the Codex desktop app?
Yes. Codex Desktop sessions show in Perch's menu bar beside your CLI sessions, each labelled, and a click opens that exact conversation in the app through Codex's own codex:// link.
Does clicking open a new conversation?
No. The link opens the existing thread — the one you started, not a helper agent's under it. Nothing is copied or restarted.
Do I need to give Perch any permission?
No. Opening a link is something any app may do, so there is no Automation prompt and nothing to switch on in System Settings.
What can Perch do for Codex beyond the jump?
Live state, rate-limit bars, your credit balance, an estimated cost per session, approvals from your phone and watch, and Stats. The Codex page covers all of it.

Perch lands precisely in Warp, iTerm2, Rex, Ghostty and Terminal.app too, and inside tmux, herdr and Zellij. Every terminal Perch supports.