Guides to coding agent hooks and notifications
How to know when Claude Code, Codex or Cursor has finished or needs you, using hooks, sounds and Mac notifications. Every fact is checked against the official docs, with the date on the page.
Claude Code notifications on Mac: 5 ways to know it's done
Set up Claude Code notifications on a Mac: desktop alerts in iTerm2, Ghostty and Kitty, the terminal bell, a sound when done, banners and tmux fixes.
Codex hooks explained: setup, events and notifications
Codex hooks run your own command when Codex starts, stops or asks for approval. Where hooks.json lives, how to trust it, and a working sound when done.
What these guides cover
Coding agents now run for minutes at a time. That is long enough to switch to another window and miss the moment the agent stops to ask for permission. These guides show the ways each tool can tell you it is done: the terminal bell, a sound, a macOS banner, or a hook that runs your own command.
- Claude Code: the built-in notification setting, the Stop and Notification hooks, and sounds for "done" and "needs you".
- Codex: where hooks.json lives, trusting hooks with /hooks, and a working example for Stop, Interrupt and PermissionRequest.
- Cursor: the hooks file and the two events IdlePal uses, on the Cursor setup page.
How we check them
Each guide lists its sources and the date we last checked them against the official documentation. Tools change quickly, so when a setting moves we update the guide and the date. Read more on the About page, or follow new guides through the RSS feed.