Get notified when Claude Code or Codex finishes (macOS): every option, honestly compared
You started a long agent run, switched away, and now you're tab-checking every ninety seconds. Here is every way to stop doing that — from free built-ins to a full multi-agent watcher. Use the simplest one that fits.
Option 1 — the terminal bell (free, 30 seconds)
In Claude Code, run /config and enable the notification/bell preference; iTerm2 and Terminal.app can both post a system notification on a bell. Works for one session in one terminal. Falls apart the moment you run two agents.
Option 2 — a DIY Claude Code hook (free, 5 minutes)
Claude Code's official hooks can run any command when the agent needs input or stops. A minimal ~/.claude/settings.json that plays a sound:
{
"hooks": {
"Notification": [{ "hooks": [{ "type": "command",
"command": "afplay /System/Library/Sounds/Glass.aiff" }] }],
"Stop": [{ "hooks": [{ "type": "command",
"command": "afplay /System/Library/Sounds/Funk.aiff" }] }]
}
}
Honest limits: it can't tell a permission ask from a question, says nothing about which project finished, and you'll re-build it per agent (Codex, Cursor and Gemini each have different hook formats).
Option 3 — official pushes
Claude Code can send a mobile push when a long task finishes or needs a decision. The ChatGPT desktop app ships Codex Pets — an on-screen pet with Running / Needs-input states for Codex sessions. Both are good; both only cover their own agent.
Option 4 — one watcher for every agent
Sleepwing (free beta, this site) installs the official hook or plugin for seven surfaces — Claude Code, Cursor IDE/CLI, Codex/ChatGPT, OpenCode, Gemini CLI, TRAE, pi — and puts one pet on your desktop that:
- tells you which agent needs you and drops you back into the exact session on click;
- turns verified agent work time into small real breaks (water, stretch) — paused whenever an agent is waiting on you;
- optionally speaks the ask out loud, and lets you dispatch new work by holding the pet and talking;
- sends zero outbound network traffic — no account, no telemetry; the hooks strip prompts, code and paths locally before anything reaches the app. Grep the source.
⬇ Download the notarized beta (macOS 14+, Apple Silicon)
中文速览
想在 Claude Code / Codex 跑完或需要你时收到通知?最简单是终端铃声;进阶是自己写 hooks 放个音效(上面有可复制的配置);官方也有手机推送和 Codex 桌宠。但如果你每天并行两个以上 Agent,Sleepwing 用一只桌宠统一看管七个平台(含 TRAE 国内版):说清是谁在等你、一键跳回原会话、把等待时间换成喝水拉伸的小休息,还能按住桌宠说话直接派活。零外联、免费 Beta。