Šimon Vepřek
NotchPal app icon

NotchPal

Your coding agents, live in the notch.

Free, macOS 26 or later, source available

TerminalShellEditViewWindow
Wed 9:41

NotchPal puts what Claude Code and Codex are doing right now into the black space above your screen. Not just that an agent is running, but the file, the command, the line range and how long it has taken. When nothing is running, it shows nothing at all.

◆Reading NotchController.swift

lines 40–99 · NotchPal

0:04

A spinner tells you nothing

Every tool gets its own reading. Reading a file names the file and the lines. Running a command shows the command. Patching says how many files it touched.

Running0:18

Quiet by default

Compact while it works. It opens when a turn starts or ends, when the agent needs permission, or when you point at it, and then gets out of the way.

Claude
Claude CodeandCodex

Both agents, one contract

Claude Code and Codex share nearly the same lifecycle hooks, so one decoder serves both. Run either, or both at once.

0 network calls

Nothing leaves your Mac

No network calls of any kind. Events travel over a Unix socket in Application Support, live in memory, and are forgotten when you quit.

Specs

Small on purpose. One menu bar item and a socket.

AgentsClaude Code and OpenAI Codex, either or both at once
RequiresmacOS 26 or later
HardwareAny Mac. Without a notch, the panel floats below the menu bar
NetworkNone, no calls of any kind, ever
StorageNone. Events live in memory and are forgotten on quit
TransportA Unix domain socket in Application Support, mode 0600
InterfaceA menu bar item. No window, no Dock icon, no settings pane
LicenceSource available, MIT with Commons Clause
Version1.1.1

Clone, build, run

There is no signed release yet, so the fastest way in is to build it yourself. It takes about a minute, and the app registers its own hooks on first launch.

git clone https://github.com/simonveprek/NotchPal.gitcd NotchPalmake install

Codex needs hooks switched on

Claude Code runs NotchPal's hooks as soon as they are registered. Codex waits until you have reviewed exactly what a new hook runs. In the Codex app, open Settings and allow Hooks. In the CLI, run /hooks and trust the NotchPal command. You only do this once.

If you stop an agent yourself, NotchPal cannot tell

Interrupting a turn, quitting the CLI or closing the terminal fires no hook, so nothing tells NotchPal the work ended and the card keeps counting. Point at the card and press the ✕ to dismiss it. That clears the card, not the agent, since hooks only travel one way.

If it saves you one alt tab, star it

NotchPal is built in the open. A star is the cheapest way to say it was worth building, and it helps other people find it.

Star on GitHub