Claude-Code-Benachrichtigungen: hören, ob es wartet oder fertig ist
„Eine blockierte Sitzung sieht genauso aus wie eine fertige, also öffne ich zuerst die falsche.“ Dieser Satz aus einem Feature-Request für Claude Code bringt es auf den Punkt. So bekommst du für beides ein anderes Signal.
KURZE ANTWORT
Claude Code löst bereits eine Benachrichtigung aus, wenn es fertig ist oder auf eine Berechtigung wartet, während du weg bist, aber standardmäßig zeigen nur Ghostty, Kitty und iTerm2 sie als Desktop-Benachrichtigung an. Überall sonst setzt du "preferredNotifChannel": "terminal_bell". Für zwei unterschiedliche Töne verwendest du einen Notification-Hook mit dem Matcher permission_prompt für „braucht dich“ und einen Stop-Hook für „fertig“.
Was Claude Code von selbst macht
Wenn Claude eine Aufgabe beendet oder für eine Berechtigungsabfrage pausiert und du anscheinend nicht am Terminal bist, löst es ein Benachrichtigungs-Event aus. Standardmäßig wird daraus nur in Ghostty, Kitty und iTerm2 eine Desktop-Benachrichtigung. In Windows Terminal, dem VS-Code-Terminal, Warp und den übrigen passiert nichts Sichtbares, solange du es nicht einrichtest.
Die einfachste Lösung ist die Terminalglocke:
Was die Glocke macht, entscheidet dein Terminal. In Windows Terminal kann die Einstellung bellStyle den Wert audible (Standard), window, taskbar, all oder none haben. Mit all spielt Windows Terminal einen Ton ab und lässt das Taskleistensymbol blinken.
- iTerm2: Settings → Profiles → Terminal → „Notification Center Alerts“ aktivieren, dann unter Filter Alerts „Send escape sequence-generated alerts“ einschalten.
- tmux: Füge
set -g allow-passthrough onzu~/.tmux.confhinzu, sonst erreichen Benachrichtigungen das äußere Terminal nie. - Über SSH: Die Desktop-Benachrichtigung wird an deinen lokalen Rechner zurückgeschickt, also können dich auch Remote-Sitzungen benachrichtigen.
Der Feature-Request für Systembenachrichtigungen (#26581, 34 Upvotes) wurde als bereits verfügbar geschlossen, mit Verweis auf genau diese integrierte Benachrichtigung. Der Request für ein anderes Signal bei „wartet“ und „fertig“ (#94373) ist noch offen. Hier kommen Hooks ins Spiel.
Zwei Events: Notification und Stop
Notificationlöst aus, wenn Claude Code eine Benachrichtigung sendet. Der Matcher ist der Benachrichtigungstyp. Die beiden wichtigen sindpermission_prompt(Claude braucht deine Freigabe für eine Tool-Nutzung, und die Abfrage wartet seit etwa sechs Sekunden) undidle_prompt(Claude hat vor etwa 60 Sekunden fertig geantwortet, und du hast seitdem nichts eingegeben).Stoplöst aus, sobald Claude fertig geantwortet hat. Es löst nicht aus, wenn du unterbrichst; API-Fehler lösen stattdessenStopFailureaus.
Hooks laufen zusätzlich zur integrierten Benachrichtigung, statt sie zu ersetzen, du kannst also beides behalten.
Windows: zwei unterschiedliche Töne
Unter Windows laufen Hooks in Git Bash oder in PowerShell, wenn Git Bash nicht installiert ist. Mit "shell": "powershell" musst du nicht raten. Diese Konfiguration spielt einen hohen Doppelpiep, wenn Claude eine Berechtigung braucht, und einen tiefen Piep, wenn es fertig ist:
Console.Beep nimmt eine Frequenz in Hertz und eine Dauer in Millisekunden und wartet, bis der Piep vorbei ist. Anthropics Hooks-Guide zeigt auch ein Windows-Beispiel, das mit System.Windows.Forms ein Meldungsfenster öffnet; laut ihrem eigenen Hinweis ist das ein Dialog statt einer Benachrichtigung und kann sich hinter deinem Terminal öffnen.
macOS und Linux
Anthropics Doku verwendet unter macOS afplay:
Für einen sichtbaren Hinweis nimmst du unter macOS osascript -e 'display notification "Claude needs you" with title "Claude Code"' oder unter Linux notify-send "Claude Code" "Claude needs you".
Details, die dir einen Abend ersparen
- Stop löst oft aus. Es löst jedes Mal aus, wenn Claude fertig geantwortet hat, nicht nur, wenn eine ganze Aufgabe erledigt ist. Wenn dir das zu gesprächig ist, verwende stattdessen die Benachrichtigung
idle_prompt. Sie wartet etwa eine Minute und löst nur aus, wenn du nichts eingegeben hast. - Lies das Event, wenn du es brauchst. Die Notification-Eingabe enthält
message,titleundnotification_type, sodass ein Skript die eigentliche Anfrage anzeigen kann. - Agent view. Wenn du Hintergrundsitzungen mit
claude agentsausführst, benachrichtigt es dich über denselbenpreferredNotifChannel, wenn eine Sitzung Eingaben braucht, fertig wird oder fehlschlägt, und löst den Notification-Hook mit dem Typagent_needs_inputoderagent_completedaus. - Terminalstatus. Terminals, die das Statusprotokoll OSC 7501 umsetzen, können anzeigen, ob jede Claude-Code-Sitzung arbeitet, wartet oder fertig ist. Claude Code ab v2.1.295 meldet das automatisch.
- Hook löst unter Windows nicht aus? Sieh dir Claude-Code-Hooks funktionieren unter Windows nicht an. Fast immer liegt es an der Shell.
Sehen, welche Sitzung es ist, und antworten
Ein Ton sagt dir, dass etwas passiert ist. Er sagt dir nicht, aus welchem deiner drei Terminals er kam oder was Claude ausführen will. Pet Island gibt jeder Claude-Code-Sitzung einen Platz auf einer kleinen Insel oben auf deinem Bildschirm: arbeitet, wartet auf dich oder fertig. Eine Berechtigungsanfrage kommt mit dem Befehl oder dem Diff, und du erlaubst oder verweigerst sie direkt dort; Fragen und Pläne funktionieren genauso. Ein Klick bringt dich genau ins richtige Terminal, wenn du genauer hinsehen willst.
FAQ
Hat Claude Code Benachrichtigungen?
Ja. Wenn es fertig ist oder auf eine Berechtigung wartet, während du weg bist, löst es eine Benachrichtigung aus. Ghostty, Kitty und iTerm2 zeigen sie standardmäßig als Desktop-Benachrichtigung an; in anderen Terminals setzt du preferredNotifChannel auf "terminal_bell" oder fügst einen Notification-Hook hinzu.
Wie bekomme ich einen Ton, wenn Claude Code fertig ist?
Füge einen Stop-Hook hinzu, der einen Ton abspielt, zum Beispiel afplay unter macOS oder [Console]::Beep in PowerShell unter Windows.
Wie unterscheide ich „braucht eine Berechtigung“ von „fertig“?
Verwende einen Notification-Hook mit dem Matcher permission_prompt für den einen Ton und einen Stop-Hook für den anderen.
Warum bekomme ich in Windows Terminal oder VS Code keine Benachrichtigungen?
Claude Code sendet Desktop-Benachrichtigungen standardmäßig nur in Ghostty, Kitty und iTerm2. Setz preferredNotifChannel auf "terminal_bell" oder verwende einen Hook.
Funktionieren Benachrichtigungen in tmux?
Ja, nachdem du set -g allow-passthrough on zu ~/.tmux.conf hinzugefügt hast.
Quellen
Jede Einstellung und jedes Verhalten auf dieser Seite wurde am 26. Oktober 2026 mit diesen Seiten abgeglichen. Agenten ändern sich schnell; wenn etwas nicht mehr passt, gilt die offizielle Seite.
- Claude-Code-Doku: Configure your terminal (Benachrichtigungen)
- Claude-Code-Doku: Hooks guide
- Claude-Code-Doku: Hooks reference
- Claude-Code-Doku: Agent view
- Issue #26581: Systembenachrichtigungen, wenn Claude Aufmerksamkeit braucht
- Issue #94373: Unterschiedliche Benachrichtigung für wartend und fertig
- Issue #2427: Akustische Benachrichtigung bei abgeschlossener Aufgabe
- Microsoft Learn: Windows-Terminal-Profileinstellungen (bellStyle)
- Microsoft Learn: Console.Beep