Šimon VepřekWorkshop
All apps
NotchPal icon

NotchPal

Your coding agents, live in the notch.

Free · macOS 26 or later · Source-available

Reading NotchController.swiftlines 40–99 · NotchPal4s

NotchPal puts what Claude Code and Codex are doing right now into the black space above your screen. Not “an agent is running” — the file, the command, the line range, the elapsed time. When nothing is running, it shows nothing at all.

A spinner tells you nothing

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

Quiet by default

Compact while working. It expands when a turn starts or ends, when the agent needs permission, or when you hover it — then it gets out of the way.

Both agents, one contract

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

Nothing leaves your Mac

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

Specs

Agents
Claude Code and OpenAI Codex — either, or both at once
Requires
macOS 26 or later
Hardware
Any Mac. Without a notch, the panel floats below the menu bar
Network
None. No calls of any kind, ever
Storage
None. Events live in memory and are forgotten on quit
Transport
A Unix domain socket in Application Support, mode 0600
Interface
A menu bar item. No window, no Dock icon, no preferences pane
Licence
Source-available — MIT with Commons Clause

Get it

Clone, build, run.

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

Terminal
$ git clone https://github.com/simonveprek/NotchPal.git
$ cd NotchPal
$ make install

Codex needs hooks switched on

Claude Code runs NotchPal's hooks as soon as they are registered. Codex does not — it deliberately ignores any new or changed hook until you have reviewed exactly what it 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 at all — so nothing reaches NotchPal to say the work ended, and the card keeps counting. Hover the card and click the ✕ to dismiss it. It clears the card, not the agent: hooks only travel one way, so there is no channel back.

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