claude-code-notifier
so funktioniert's Guides faq
◐Deutsch
English العربية Deutsch Español Français עברית Italiano 日本語 한국어 Nederlands Polski Português (Brasil) Русский Türkçe Tiếng Việt 简体中文 繁體中文
Loslegen
Alle Guides

Claude Code-Benachrichtigungen funktionieren nicht? Eine Checkliste

Aktualisiert am 31. Oktober 2026 · 7 Min. Lesezeit
Auf dieser Seite 011. Prüfen, ob Claude Code den Hook geladen hat 022. Workspace-Trust akzeptieren 033. Sicherstellen, dass das Event dann ausgelöst wird, wann du denkst 044. Den Hook-Befehl selbst ausführen 055. Das Debug-Log lesen 066. Das Betriebssystem prüfen 07Wenn du Claude Code Notifier nutzt 08FAQ

Wenn Claude Code-Benachrichtigungen nicht mehr funktionieren, liegt es fast immer an einem von vier Dingen: Der Hook ist nicht geladen, der Hook läuft, schlägt aber fehl, das Event, auf das du dich verlässt, wird nicht dann ausgelöst, wann du es erwartest, oder das Betriebssystem blendet den Hinweis aus. Führ /hooks in Claude Code aus, um zu sehen, was geladen ist, starte eine Session mit claude --debug, um zu sehen, was jeder Hook tatsächlich gemacht hat, und prüf dann die Benachrichtigungseinstellungen auf deinem Computer oder Handy. Wenn du Claude Code Notifier nutzt, decken ccn doctor und ccn test das meiste davon mit zwei Befehlen ab.

Die Checkliste unten geht von der häufigsten zur seltensten Ursache. Sie gilt für Mac, Windows und Linux.

011. Prüfen, ob Claude Code den Hook geladen hat

Gib /hooks am Claude Code-Prompt ein. Das ist eine schreibgeschützte Übersicht aller Hooks, die Claude Code geladen hat, und zu jedem steht dabei, woher er kommt: User-Settings, Projekt-Settings, lokale Settings, ein Plugin oder die aktuelle Session. Wähl einen Hook aus, um den genauen Befehl und die Datei zu sehen, in der er definiert ist.

Wenn dein Hook nicht in der Liste steht:

  • Das JSON ist ungültig. Settings-Dateien sind striktes JSON. Ein abschließendes Komma oder ein //-Kommentar macht die Datei kaputt, und Claude Code meldet beim nächsten Start einen Settings Error. Führ claude doctor aus, um zu sehen, welche Einträge Claude Code abgelehnt hat.
  • Die Datei liegt am falschen Ort. Persönliche Hooks gehören in ~/.claude/settings.json (unter Windows %USERPROFILE%\.claude\settings.json). Projekt-Hooks gehören in .claude/settings.json im Projekt. Führ /status aus und schau in die Zeile Setting sources, um zu sehen, welche Dateien geladen wurden.
  • Der Event-Name ist falsch. Event-Namen unterscheiden Groß- und Kleinschreibung: Notification, Stop, PermissionRequest. Ein unbekannter Event-Name erscheint als Settings Warning und wird übersprungen.
  • Hooks sind abgeschaltet. "disableAllHooks": true in irgendeiner Settings-Datei schaltet alle Hooks ab. Wenn /hooks Only hooks from managed settings run here anzeigt, hat deine Organisation allowManagedHooksOnly gesetzt, und deine eigenen Hooks laufen nicht.
  • Die Änderung wurde nicht erkannt. Normalerweise lädt Claude Code die Settings selbst neu. Wenn der Hook nach ein paar Sekunden nicht auftaucht, starte die Session neu.

022. Workspace-Trust akzeptieren

In einer interaktiven Session hält Claude Code Hooks aus allen Settings-Dateien zurück, auch aus deiner eigenen ~/.claude/settings.json, bis du den Workspace-Trust-Dialog für den Ordner akzeptierst. Wenn du den Dialog weggeklickt hast oder in einem Ordner bist, in dem du Claude Code noch nie geöffnet hast, laufen deine Hooks dort nicht. Starte claude in diesem Ordner und akzeptier den Dialog.

033. Sicherstellen, dass das Event dann ausgelöst wird, wann du denkst

Viele „kaputte“ Benachrichtigungen sind in Wahrheit ein Timing-Problem. Aus der Hooks-Referenz von Anthropic:

HookWann er feuert
Notification mit permission_promptEin Permission-Prompt wartet seit etwa sechs Sekunden und du hast nichts getippt. Jeder Tastendruck setzt den Timer zurück.
Notification mit idle_promptEtwa 60 Sekunden, nachdem Claude fertig ist, sofern du nichts getippt hast und kein Hintergrund-Agent mehr läuft.
StopJedes Mal, wenn Claude mit einer Antwort fertig ist. Nicht bei einem Abbruch. Bei API-Fehlern wird stattdessen StopFailure ausgelöst.
PermissionRequestIn dem Moment, in dem Claude Code dich gleich um eine Berechtigung fragt.

Wenn du also einen Notification-Hook testest, während du im Terminal tippst, wird er womöglich nie ausgelöst. Wechsel in ein anderes Fenster und warte. Für einen Hinweis genau dann, wenn ein Turn endet, nimm Stop; mehr dazu im Guide zum Stop hook.

Prüf auch deinen Permission-Modus. Aktuelle Versionen von Claude Code starten interaktive Sessions im Auto-Modus, in dem ein Classifier die meisten Aktionen ohne Nachfrage genehmigt. Kein Prompt heißt: keine permission_prompt-Benachrichtigung und kein PermissionRequest-Hook. Um Permission-Hinweise zu testen, drück Shift+Tab, bis die Statusleiste den manuellen Modus anzeigt, und bitte Claude dann um etwas, das eine Genehmigung braucht. Details findest du unter Permission-Modi erklärt.

Auch Matcher unterscheiden Groß- und Kleinschreibung. Ein PermissionRequest-Matcher bash passt nicht auf das Tool Bash.

044. Den Hook-Befehl selbst ausführen

Kopier den Befehl aus /hooks und führ ihn mit Beispiel-Input im Terminal aus:

echo '{"hook_event_name":"Stop","cwd":"/tmp","last_assistant_message":"done"}' | ./my-hook.sh
echo $?

Typische Fehler:

  • command not found: Nutze einen absoluten Pfad zum Skript oder ${CLAUDE_PROJECT_DIR} für Skripte im Projekt.
  • Das Skript macht gar nichts: Mach es mit chmod +x ./my-hook.sh ausführbar.
  • jq: command not found: Installier jq oder parse das JSON mit Python oder Node.js.

055. Das Debug-Log lesen

Starte Claude Code mit claude --debug. Im Terminal erscheint nichts zusätzlich; das Log landet in ~/.claude/debug/<session-id>.txt. Um den Pfad selbst festzulegen, nutz claude --debug-file /tmp/claude.log und führ in einem anderen Terminal tail -f /tmp/claude.log aus. Läuft die Session schon, schaltet /debug das Logging ein und sagt dir, wo das Log liegt.

Such nach Zeilen, die mit Hooks: beginnen. Jede nennt das Event, den Befehl, wie er geendet hat (finished with status 0, timed out, failed to start) und wie lange er gedauert hat. Für mehr Details zum Matching setz CLAUDE_CODE_DEBUG_LOG_LEVEL=verbose.

Zwei Probleme siehst du nur hier:

  • Dein Shell-Profil gibt etwas aus. Wenn ~/.bashrc oder ~/.zshrc ein echo ausführt und die Shell die Datei einliest, landet dieser Text vor der JSON-Ausgabe deines Hooks, und Claude Code behandelt die Ausgabe als reinen Text. Such im Log nach Hook output does not start with {. Pack Ausgaben im Profil in if [[ $- == *i* ]]; then ... fi, damit sie nur in interaktiven Shells laufen.
  • Kein Terminal zum Schreiben. Unter Mac und Linux laufen Command-Hooks ohne steuerndes Terminal. Ein Hook, der die Terminal-Glocke läuten oder Escape-Codes nach /dev/tty schreiben will, schlägt stillschweigend fehl. Nutz stattdessen einen Desktop-Benachrichtigungsbefehl oder die eigene preferredNotifChannel-Einstellung von Claude Code, beschrieben im Guide zur Terminal-Glocke.

066. Das Betriebssystem prüfen

Wenn das Debug-Log sagt, dass der Hook mit Status 0 beendet wurde und du trotzdem nichts gesehen hast, hat das Betriebssystem die Benachrichtigung unterdrückt. Prüfe, ob die App, die den Hinweis anzeigt, Benachrichtigungen senden darf, und ob Fokus (Mac), Nicht stören (Windows) bzw. der Nicht-stören-Schalter deines Linux-Desktops aus ist. Unter Linux muss außerdem ein Notification-Daemon laufen.

Plattformspezifische Befehle findest du in den Guides für macOS, Windows und Linux.

07Wenn du Claude Code Notifier nutzt

Claude Code Notifier ist ein unabhängiges Tool (nicht von Anthropic), das ein kleines Programm, ccn, als Claude Code-Hooks installiert. Alles oben gilt weiterhin, denn ccn ist ein Hook wie jeder andere. Fang mit den eingebauten Checks an:

  1. ccn doctor prüft die Hooks, die Zugangsdaten, die Verbindung zum Server und die Anwesenheitserkennung. Behebe zuerst alles, was dabei gemeldet wird.
  2. ccn test schickt eine Testbenachrichtigung. Kommt sie an, liegt das Problem am Event oder an einer Einstellung, nicht an der Übertragung.
  3. ccn devices listet die Smartphones auf, die mit diesem Rechner gekoppelt sind. Ist keins aufgeführt, koppel neu mit ccn pair; der Kopplungs-Guide führt dich durch.
  4. ccn config show zeigt die aktiven Einstellungen. Prüfe, ob notify_on_done, notify_on_permission und notify_on_question an sind und quiet_hours nicht die aktuelle Uhrzeit abdeckt. Auf dem Smartphone geänderte Einstellungen holst du mit ccn sync auf den Rechner.

Manches sieht nach einem Fehler aus, ist aber so gewollt:

  • Du sitzt an der Tastatur. Wenn du in den letzten 30 Sekunden getippt hast, wartet nichts aufs Smartphone und das Terminal fragt wie gewohnt. Mit quiet_when_present (Standard: an) bekommt das Smartphone nichts, solange du im Terminal bist, in dem Claude läuft, und nur eine Info-Karte, wenn du in einer anderen App aktiv bist.
  • Doppelte oder fehlende Hinweise auf dem Mac. Lass die ältere Mac-Menüleisten-App und ccn nicht gleichzeitig auf demselben Mac laufen.
  • Eine lange Pause. Wird ein Smartphone oder Rechner 60 Tage nicht genutzt, löscht der Server die Kopplung und du musst neu koppeln.

Prüfe auf dem Smartphone selbst, ob Benachrichtigungen für die App erlaubt sind und Fokus (iPhone) bzw. Nicht stören (Android) sie nicht stummschaltet. Unter Android kann die Akkuoptimierung Benachrichtigungen mancher Apps verzögern; kommen Hinweise verspätet an, erlaube der App in den Akkueinstellungen uneingeschränkte Ausführung. Wenn du settings.json von Hand bearbeitet hast, sagt dir ccn doctor, ob die Hooks noch da sind. ccn upgrade aktualisiert auf das neueste Release.

08FAQ

Warum feuert mein Notification hook nur manchmal?

Die Typen permission_prompt und idle_prompt sind darauf abgestimmt, wann du scheinbar weg bist. permission_prompt wartet etwa sechs Sekunden ohne Tippen, idle_prompt etwa 60 Sekunden, nachdem Claude fertig ist. Solange du tippst, werden sie verschoben. Für ein sofortiges Signal nimm PermissionRequest oder Stop.

Wo liegt das Debug-Log von Claude Code?

Starte claude --debug, dann wird das Log nach ~/.claude/debug/<session-id>.txt geschrieben. Mit claude --debug-file <path> legst du den Ort selbst fest, oder du nutzt /debug in einer laufenden Session.

ccn test funktioniert, aber echte Benachrichtigungen kommen nicht an. Warum?

Die Übertragung funktioniert, also schau dir Einstellungen und Timing an. Prüfe in ccn config show die Werte notify_on_* und quiet_hours, denk daran, dass mit quiet_when_present nichts gesendet wird, solange du am Terminal bist, und prüfe den Berechtigungsmodus in Claude Code.

Claude Code Notifier Bekomm einen Push aufs Handy, wenn Claude Code fertig ist oder dich braucht, und genehmige, lehne ab oder antworte direkt von dort. Das Kommandozeilentool ccn ist kostenlos für Mac, Windows und Linux.
Für iOS laden Für Android laden ccn installieren

Ähnliche Guides

  • Claude Code-Hooks erklärt: alle Events und wofür sie gut sindWas Claude Code-Hooks sind, wo sie in der settings.json stehen, wie Matcher, Input und Exit-Codes funktionieren und wofür jedes Hook-Event da ist.
  • Der Notification hook in Claude Code: wann er feuert und wie du ihn nutztWann der Notification hook von Claude Code feuert, was permission_prompt und idle_prompt bedeuten, welche Eingabe er bekommt und warum er vor dem Auslösen wartet.
  • Smartphone mit Claude Code auf Mac, Windows oder Linux verbindenKoppel dein Smartphone in einer Minute mit Claude Code: Installier ccn, dann scannst du einen QR-Code oder gibst einen 6-stelligen Code ein. Anleitung für Mac, Windows und Linux.
  • Ruhezeiten und Nicht stören für Claude Code-BenachrichtigungenSchalte Claude Code-Benachrichtigungen nachts oder in Meetings stumm: Ruhezeiten im Hook, Fokus und Nicht stören auf dem Smartphone und quiet_hours in ccn.
claude-code-notifier

Claude Code Notifier ist eine unabhängige Drittanbieter-Anwendung. Sie steht in keiner Verbindung zu Anthropic, PBC und wird von Anthropic, PBC weder unterstützt noch gesponsert. „Claude“ und „Claude Code“ sind Marken von Anthropic, PBC.

apps iOS-App Android-App ccn für macOS, Windows & Linux Alle Guides
rechtliches Datenschutzerklärung Nutzungsbedingungen Weitere Sprachen © 2026 touchtap. Alle Rechte vorbehalten. TouchTap Ltd ist in England und Wales eingetragen, Registernummer 13942589.