macOS menu bar · Codex
Every Codex session, at a glance.
Perch sits in your menu bar and watches every Codex session on your Mac — the CLI and Codex Desktop both. It shows what each one is doing, how much of your rate limit is left, and taps you on the shoulder when one needs a decision.

How it works
Useful before you configure anything, live once you do
Two paths feed Codex support, and they degrade gracefully: if the hook half never gets set up, the scan half still carries the panel.
Rollout scan
Nothing to install to see something
Perch reads your Codex rollouts straight from ~/.codex, so the panel is populated the moment you launch it — including sessions that were already running. No hook, no config, no setup step between installing Perch and seeing your fleet.
Hooks
codex-report, for the live half
The hook is what turns a rollout history into a live view: state the instant it changes, a “needs you” the moment Codex asks, and Allow/Deny from the notification. Perch writes it into ~/.codex/hooks.json itself and chains onto hooks you already run.
Codex Desktop
Straight to the conversation
Codex is the one agent Perch can open by conversation rather than by window: a codex://threads link lands on the exact thread inside the desktop app. CLI sessions land in the exact terminal pane instead.
Hook trust
Codex won’t run a hook you haven’t trusted. Perch says so out loud
Codex requires every non-managed hook to be reviewed and trusted by hash before it will execute. Install an integration, change nothing else, and it sits there looking enabled while doing precisely nothing — no state changes, no alerts, no approvals. We know because it happened to us: on a live machine, none of Perch’s eight Codex hooks were trusted, and the integration read as on the whole time.
So Perch asks Codex directly which hooks it will actually run, and surfaces anything untrusted or stale-hashed in Settings with the fix attached. A silent no-op is the worst failure a menu bar app can have — you stop looking at it and never find out why.
Usage, limits and spend
Everything your account will tell you, on one strip
Credit balance
Your extra-usage credits, right beside the limit bars — so when the included allowance runs out you can see what’s left to spend instead of guessing.
Your plan, without a login
Codex reports your plan directly, so Perch can label it with no OAuth grant and no credential handling at all. It’s just there.
Rate-limit windows as bars
Both limit windows with their reset times, as a countdown or a clock. Perch warns you under ten percent and surfaces a rate limit the moment you hit one — on the Mac and as a push.
Per-model weekly bars
Opt in with a read-only OAuth grant and each model gets its own bar. Off by default, and everything above works without it.
Per-session cost is an estimate, derived from token counts, and Perch labels it as one rather than passing it off as a billed figure. Two things Codex doesn’t expose at all: lines changed per session, and a heads-up when a plan is ready for review.
Stats
A year of Codex, in one panel
Total tokens, sessions and active days; a contribution heatmap; current and longest streak; your longest session and busiest day; your favourite model and a full per-model breakdown. Filter to Codex alone, or set it against the other agents you run.
Codex sessions carry through to the iPhone and Apple Watch too — the fleet view, push alerts, Live Activities, and Allow/Deny from your wrist.

Pricing
Pay once, keep it
Solo
- 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
Team
- 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
FAQ
Questions Codex users ask
Why did Perch tell me my Codex hooks aren't trusted?
What still works if I never trust the hooks?
Do I have to edit ~/.codex/hooks.json myself?
Does it work with Codex Desktop as well as the CLI?
Is the cost figure exact?
Does my code leave my Mac?
Running Claude Code or Cursor too? Perch watches all three from one menu bar.