Developers
Know when the build actually finished
Notchy turns any long zsh command into a live island on the notch — the command, a running timer, then a ✓ or ✗ with how long it took. Go read something else while it runs.
A 10-second floor
Nothing appears until a command has been running for ten seconds. Your shell stays silent for everyday work and speaks up only for the things you were going to stare at anyway.
Exit status, not just “done”
The result island carries the exit code as a ✓ or ✗ and the elapsed time, so you know from across the room whether to switch back or keep reading.
One reversible line in your ~/.zshrc
The hook is a marker-bounded block, appended once and fully removed when you turn the toggle off. It no-ops if its dependencies are missing, so it can never break a shell that starts without Notchy running.
Next to the rest of your dev signal
The same island strip carries Claude Code approvals, PR and CI status and AI usage. One place for everything that finishes without you.
Everything Notchy does, for free
- Fluid Dynamic Island animations on the Mac notch
- Command palette (⌃⌥K) — every action one keystroke away
- Knock — double-tap a modifier key to open the notch
- AI usage tracker (Claude Code, Codex, Cursor, Copilot)
- Detach any tab into a menu-bar popover
- Now Playing music controls (Apple Music & Spotify)
- Time-synced karaoke lyrics under the notch
- Mac clipboard history shelf (password-manager safe)
- Searchable clipboard — filter by text, file name, or OCR'd words
- On-device OCR — copy a screenshot, get its text (Apple Vision)
- Window snapping — drag a window to the notch to tile it
- App Launcher — pin apps to the notch, open with one tap
- Text snippets — TextExpander-style pastes from the ⌘K palette
- One-tap screen capture to clipboard + shelf
- Color eyedropper — sample any pixel, hex auto-copied
- System-wide mic mute for every meeting app at once
- Keystroke HUD for demos & screencasts (secure-input safe)
- Keyboard cleaning lock with countdown island (⌘⎋ unlocks)
- Menu-bar icon hiding — Bartender-style separator & chevron
- Live CPU / memory / network stats flyout
- Open GitHub PR count in the notch (Keychain-stored token)
- iPhone-style call island — Answer/Decline FaceTime on the notch
- Notch Terminal — real VT100/xterm shell in a PTY, its own tab
- Privacy Indicator — pill when any app's camera or mic goes live
- Caps Lock HUD — brief island on every toggle
- Full Charge island with adjustable threshold + low-battery sound
- Alt HUD styles — edge-pinned bar or circular gauge off the notch
- Audio-reactive Now Playing visualizer (real FFT of system audio)
- Custom closed-notch idle animation — drop in your own Lottie JSON
- Drag-and-drop file drop shelf — persists across relaunches
- Zip & unzip files right from the shelf
- Image converter (HEIC, PNG, JPEG, TIFF, PDF) + video → GIF
- Run Apple Shortcuts with one tap
- Screenshots auto-staged on the shelf, ready to drag
- Download finished alerts with Reveal in Finder
- USB drive mount island with one-tap Eject
- Apple Reminders quick capture & due list
- macOS Pomodoro notch timer & stopwatch — streaks + 7-day chart
- Resizable expanded panel (width & height, live preview)
- System HUDs (volume, brightness, battery)
- Audio output switcher (speakers, AirPods, monitor)
- AirPods connection manager & battery
- Magic Mouse, Keyboard & Trackpad battery + low-battery alerts
- Quick notes & Calendar widgets
- Camera Mirror (check your appearance)
- Keep Awake (caffeine toggle)
- Teleprompter (Cuely) for Zoom calls
- Focus-aware alerts & native haptic feedback
- Lock screen widgets & hide-the-notch mode
- 133 languages, fully localized
- Native SwiftUI, tuned for Apple Silicon
Long command islands — FAQ
How does Notchy know a command finished?
Turning on Long Command Islands appends a small, marker-bounded zsh block to your ~/.zshrc. It reports the start and end of each command to Notchy over a local socket. Turn the feature off and the block is removed cleanly — the rest of your rc file is never rewritten.
Will short commands spam me?
No. A command has to still be running after 10 seconds before anything appears, so ls and cd never show. Builds, tests, deploys and installs do.
Does it work in bash or fish?
zsh only, which is macOS's default shell. bash has no built-in preexec hook, so there's nothing reliable to attach to.
Does it work in any terminal app?
Yes — Terminal, iTerm2, Ghostty, Warp, Kitty, VS Code's terminal. The hook lives in your shell, not in the terminal emulator, so whichever one you launch zsh from is covered.
Does the command text leave my Mac?
No. The event goes over a local Unix socket to the app running on the same machine. Nothing is uploaded, and Notchy has no analytics on what you run.