Perch
Your coding agents, in the notch
Four coding agents running at once and no idea what any of them were doing, changing, or costing me.
Every AI coding agent you have running, in the notch: what it is doing right now, what it changed, what it has cost, and one click back to the terminal it lives in.
Opening it the first time
On a Mac
This build is ad-hoc signed by me, not notarised by Apple, so macOS will refuse to open it on a double-click. That is Gatekeeper doing its job with an app it has never seen, and you only have my word for it, so the source is there if you would rather read it or build it yourself.
- 1Open the .dmg and drag Perch to Applications. Worth doing rather than running it from Downloads: macOS moves a quarantined app to a random read-only path, which breaks things in ways that look like bugs.
- 2Right-click it, choose Open, then confirm at the prompt.
Or from a terminal, once:
xattr -dr com.apple.quarantine /Applications/Perch.appWhat it does
- Watch every session
- Agents appear the moment they start. Live tool feed — reads, edits, shell, subagents — with lines added and removed per session.
- Approve without leaving the notch
- Tool calls surface with a real diff preview. ⌘Y allows, ⌘N denies, esc hands the decision back to the agent's own prompt. Read-only tools can auto-allow, so you are only asked about things that change something.
- Read the plan before it runs
- When an agent finishes planning, the plan renders in the notch as real Markdown. Approve it, or send feedback and it keeps planning — you never touch the terminal.
- Jump back to the exact pane
- One click returns you to where the agent is running. Perch walks the process tree to find the app that owns the terminal, so even a terminal it has never heard of gets focused.
- See the bill before it lands
- Reads the session transcript and shows tokens and dollars per session and in total. A runaway loop is visible while it is still cheap.
- Knows more than one agent
- Claude Code gets the full treatment through hooks. Codex is watched through its session transcript instead, since it has no approval hook — live feed and cost, but nothing to approve. Antigravity shows as present only, because it exposes nothing to read.
- Three island styles
- Notch grows out of the hardware notch, flush with the top edge. Floating detaches into a card below the menu bar. Compact merges but drops the label when collapsed. Macs without a notch default to Floating.
Specifics
- Platform
- macOS 14+
- Built with
- Swift 6 · SwiftUI
- Account
- None
- Telemetry
- None
- Network
- Local only
Shortcuts
- ⌘Y
- Allow the tool call
- ⌘N
- Deny the tool call
- esc
- Hand the decision back to the agent