Die eingebaute Meldung
Claude Code schickt eine Desktop-Meldung, wenn es fertig ist oder auf eine Erlaubnis wartet und du nicht da zu sein scheinst, aber nur in Ghostty, Kitty und iTerm2. In Windows Terminal, VS Code, Warp und den übrigen nimmst du stattdessen die Terminal-Glocke:
// ~/.claude/settings.json
{
"preferredNotifChannel": "terminal_bell"
}
Du nutzt tmux? Füg set -g allow-passthrough on zu ~/.tmux.conf hinzu, sonst kommt die Meldung nie im Terminal an.
Ein Ton, sobald es fertig ist
Ein Stop-Hook läuft, sobald Claude eine Antwort beendet. Nimm die Zeile für dein System:
// ~/.claude/settings.json
{
"hooks": {
"Stop": [
{ "hooks": [{ "type": "command", "command": "afplay /System/Library/Sounds/Glass.aiff" }] }
]
}
}
// Windows:
"command": "powershell -NoProfile -Command \"(New-Object Media.SoundPlayer 'C:/Windows/Media/chimes.wav').PlaySync()\""
// Linux:
"command": "paplay /usr/share/sounds/freedesktop/stereo/complete.oga"
Warum der Notification-Hook spät kommt
Das idle_prompt des Notification-Hooks kommt etwa eine Minute, nachdem Claude fertig ist, wenn du nichts getippt hast. Das ist eine Erinnerung, kein „fertig“. Nimm Stop für „fertig“ und Notification mit permission_prompt für „brauche dein OK“, das nach etwa sechs Sekunden Warten kommt.