← Apps category

Tockk — A Notch Notification App for Claude Code, Codex CLI, and Gemini CLI

Tockk is an open-source macOS app that turns the notch into a Dynamic Island-style notification whenever your AI coding agent — Claude Code, Codex CLI, or Gemini CLI — finishes a task.

I built Tockk because I kept missing the moment my AI coding agent finished.

The setup is probably familiar. I have Claude Code open in one terminal, Codex CLI in another, sometimes Gemini CLI in a third. I hand off a multi-minute task — run the tests, refactor this module, fix the broken import — and switch to something else. Browser, messages, a call. The agent finishes. macOS flashes a small notification banner in the corner for two seconds. If my eyes weren’t there, I missed it. Ten minutes later I’d come back and the agent had been sitting idle, waiting for me.

So I looked at what existed. code-notify, CCNotify, agent-notify and similar hooks all route through the same small OS banner — the one that’s too quick and too peripheral to begin with. On the other side, notch apps like NotchNook and DynamicLake do beautiful things with the MacBook notch area, but they don’t expose a CLI hook a local AI agent can trigger. The combination I wanted — agent completion event lands in the notch — didn’t exist as a product. So I built it.


What Tockk is

Tockk is a small open-source macOS menu bar app. It listens on a local socket for a JSON event, and when one arrives, the notch slides open with a Dynamic Island-style notification.

┌─────────────────────────────────┐
│  ✅  site · build complete · 2m 14s  │
└─────────────────────────────────┘

Click it and it expands with the summary, duration, and a button to jump to the working directory.

That’s the whole loop. The repo ships hook scripts for Claude Code’s Stop event, Codex CLI’s notify callback, and Gemini CLI’s AfterAgent hook. Drop in the one for your agent, and the next time it finishes, the notch tells you.


Why the notch

The regular macOS notification banner is the wrong shape for long-running AI agent work. It’s small, fast, sits in the corner, and disappears whether you were looking or not. Notification Center preserves it, but by the time you check, you’ve already lost the context.

The notch sits at the edge of peripheral vision. You aren’t staring at it, but you notice instantly when it changes. That’s the right calibration for a “something finished” signal — it reaches you without demanding that you were already looking at that exact pixel.

A Dynamic Island-style animation also carries a different weight than a banner. A banner is one of many. A notch event, because the space is shared with almost nothing else, reads as intentional.


Who it’s for

Tockk is built for the specific shape of running AI coding agents in the background:

  • Parallel agents across repos. Claude Code refactoring one project, Codex CLI running tests on another, Gemini CLI fielding a question in a third. You can’t watch all three.
  • Long tasks. Anything that takes more than thirty seconds. That’s when the cost of “peeking at the terminal” starts adding up.
  • Agents waiting on you. The worst outcome isn’t that the agent finished — it’s that the agent is stuck on a prompt and you didn’t notice for ten minutes.

If you run one agent at a time with your eyes on the terminal, you don’t need Tockk. If any of the bullets above describe your day, it’s probably worth the two-minute install.


Install

  • Repo: github.com/somee4/tockk
  • Requirements: macOS 13 Ventura or later
  • License: Apache 2.0, free, no subscription, no paid tier planned
  • Distribution: DMG from GitHub Releases, or brew install --cask tockk once the cask lands

Hook scripts for Claude Code, Codex CLI, and Gemini CLI live in scripts/hooks/ in the repo. Copy the one that matches your agent, point it at the Tockk socket, restart the agent. That’s it.