macOS menu bar · Devin

Every Devin session, at a glance.

Perch sits in your menu bar and watches every Devin CLI session on your Mac — whether it’s working or waiting on you to type, which model it routed to, and how far through its checklist it is. One click takes you back to the terminal it’s running in.

Get Perch — $29One-time purchase · macOS 13 or later
The Perch panel open from the macOS menu bar, showing four agent sessions with live state, model, context window and spend

How it works

Zero setup, and a row that actually moves

Nothing to set up

It reads what Devin already keeps

Perch finds your sessions in Devin's own records on this Mac — no account to connect, no setting to switch on, and nothing of Devin's is modified to make discovery work. Sessions you ran before installing Perch are there too.

Live turn state

Working, and back to idle

A small reporter tells Perch when a turn starts and ends, so a Devin row goes to work and back rather than sitting at idle the whole time. It names the tool it's running and reads its to-do list as items get ticked off.

One finish per turn

No premature “done”

When a Devin turn delegates, it announces the end of the turn twice — the first time while the agent is still working. Taken at face value that fires a finished alert to your phone mid-run, so Perch tracks the outstanding delegation and lets only the real one through.

Devin routes across many model families rather than serving one, so which model a session is actually on is a real question with a different answer each time. Perch puts it on the row, under the name Devin itself uses.

Your config

The installer that checks its own work

Devin’s config file isn’t a hooks file. It holds your whole setup — your permissions, your MCP servers, your model choice. And its parser is all-or-nothing: a single event name it doesn’t recognise and it throws away the entire file rather than skipping the line it disliked.

So a careless write here doesn’t degrade Perch. It breaks Devin. Perch registers only the five events it has watched fire on a real machine — not the larger list Devin’s parser would accept — then reads the file back after writing and puts your backup back if what it reads doesn’t verify.

None of Perch’s other installers do that read-back, because no other agent punishes a bad write this way. Removing the integration takes the entry out and leaves everything around it exactly as it was.

Registered

SessionStart
UserPromptSubmit
PreToolUse
PostToolUse
Stop

Accepted, but never observed firing

PermissionRequest
SessionEnd
PostCompaction

Adding these “for symmetry” would risk your whole config for a capability nobody has proven exists.

Usage

Daily and weekly quota, and the plan you’re on

Both windows, as bars

Devin meters a daily and a weekly quota rather than the rolling windows other agents use. Both sit in the same strip as your other agents’ limits, with your plan name beside them.

Used, not remaining

Devin reports what you have left; every other bar in Perch shows what you’ve spent. Perch converts it, so you’re not reading one bar backwards against four others.

Its own login, untouched

Perch uses the credential Devin already stored here and never modifies it — and sends it only to one allow-listed host, never to the server address that same editable file happens to name.

On the phone and the watch

The same bars ride along to Perch Companion and the Apple Watch app, so you can check what’s left without opening the Mac.

What it doesn’t do

Devin says less about itself than the others. Here’s all of it

This is the longest list on any of these pages, and every item on it was measured against a running Devin rather than assumed. Better here than discovered after paying:

No remote approvals

Devin’s permission event exists in its event list and never fires — tested through a pty with a write held at the prompt for 70 seconds, under two matchers. With no signal that it’s asking a human, there is no “needs you” to send anywhere.

No live token count

The transcript isn’t written until the session exits, so while a row is on screen there is nothing on disk to read. The numbers don’t exist yet rather than being withheld.

Stats arrive on exit

Same reason. A Devin session joins the heatmap and the totals when it ends, not while it runs — and the first scan after installing backfills everything you ran before.

No per-session cost

Devin’s local records carry a cost column that reads zero; the real figure appears to be worked out server-side. Rather than print a zero that looks like a fact, Perch leaves it blank.

No alert on the daily quota

Both bars are shown, but the low-usage warning only watches the weekly one — and daily is usually the quota that binds first. Worth a glance at the strip rather than trusting the alert.

CLI only

The Devin IDE is a separate, uninstrumented surface. Assuming one install covers both is how bugs have shipped here before, so it’s carried as unknown rather than claimed.

Everything else is there: live state, the checklist, the model, Devin’s own mark on every row across Mac, phone and watch, jump-to-session, the finished notification (Devin gives no summary to put in it), quota bars, streaks and the heatmap, launch at login, and the same one-time license.

Stats

Sessions, streaks and a year of days

A contribution heatmap, current and longest streak, your longest session and busiest day, token totals and the model you reach for most. Filter to Devin alone, or read it against every other agent you run.

The first scan after installing reads your past Devin sessions in, so all-time totals jump and older days in the heatmap darken. It’s built from your own files on your own Mac — nothing is uploaded to produce it.

The Perch stats panel showing a contribution heatmap, streaks, and a per-model token breakdown

Pricing

Pay once, keep it

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
Buy 5 seats — $145

FAQ

Questions Devin users ask

Do I need to set anything up?
No account, no key, no configuration. Perch reads the session records Devin already keeps on your Mac, and installs a small reporter into your Devin config so rows show live turn state. Both happen without you doing anything.
Can I approve Devin permission prompts from my phone?
No — and this is an upstream limit rather than something unfinished. Devin's event list includes a permission event, but it never actually fires: it was tested both in print mode and interactively through a pty, with a pending write left sitting at the prompt for 70 seconds, under two different matchers. Nothing arrived. With no signal that Devin is asking a human, there's no “needs you” for Perch to send anywhere. Approvals from your phone work for Claude Code, Codex and OpenCode.
Why is there no token count on my running Devin session?
Devin doesn't write a session's transcript until the session exits, so while a row is on screen there is genuinely nothing on disk to read. It's not that the numbers are hidden — they don't exist yet. They're counted once the session ends, which is also why Devin sessions join Stats on exit rather than as they run.
Will installing Perch break my Devin configuration?
It's the thing the installer is built around. Devin's config file holds your whole setup — permissions, MCP servers, your model choice — and its parser is all-or-nothing: one event name it doesn't recognise and it discards the entire file. So Perch registers only the five events it has actually watched fire, reads the file back after writing it, and restores your backup if what it reads doesn't verify. No other agent's installer needs that check.
Does it work with the Devin IDE, or only the CLI?
The CLI. The Devin IDE is a separate surface that nobody has instrumented or measured, and assuming one install covers both is precisely how bugs have shipped here before — so it's carried as unknown rather than claimed. Everything on this page is about the command-line agent.
Where do the Devin usage bars come from?
The login Devin already stored on this Mac — Perch reads it, never changes it, and sends it only to one allow-listed host over HTTPS. Devin's own credentials file also names a server address, and Perch deliberately ignores that: a file you can edit must not be able to redirect a live credential somewhere else.
Does my code leave my Mac?
No. Session state and usage stay local. Data leaves only for features that require it: your paired iPhone (encrypted, over your LAN or your own tailnet), the push relay, and Polar for license checks.

Running Claude Code, Codex, Cursor or OpenCode too? Perch watches all 5 from one menu bar.