Lange Agent-Läufe sind der Sinn von Claude Code: Du gibst eine Aufgabe ab und machst etwas anderes. Der Haken ist, zu wissen, wann du zurückkommen solltest. Schaust du zu oft nach, ist die gesparte Zeit weg; schaust du zu spät, wartet der Agent seit Minute zwei auf eine Freigabe.
Auf dem Mac gibt es drei Wege, das zu lösen – vom selbstgebauten Hook bis zur eingebauten Funktion.
Zwei Ereignisse, die du kennen solltest
Egal welche Methode du nutzt, du willst über zwei verschiedene Momente Bescheid wissen:
- Fertig. Der Agent hat seinen Durchgang abgeschlossen und wartet auf deine nächste Nachricht.
- Braucht eine Eingabe. Der Agent hat mitten in der Aufgabe angehalten, meist um zu fragen, ob er einen Befehl ausführen oder eine Datei bearbeiten darf.
Der zweite ist wichtiger. Ein Agent, der an einer Freigabeabfrage hängt, kommt überhaupt nicht voran.
Option 1: Claude Code Hooks
Claude Code kann bei bestimmten Ereignissen einen Shell-Befehl ausführen. Zwei Hook-Ereignisse decken die beiden Momente ab:
Stopläuft, wenn Claude mit seiner Antwort fertig ist.Notificationläuft, wenn Claude deine Aufmerksamkeit braucht, etwa bei einer Freigabeanfrage oder wenn er lange auf eine Eingabe wartet.
Trag sie in ~/.claude/settings.json (für alle Projekte) oder in .claude/settings.json eines Projekts ein. Dieses Beispiel nutzt osascript, das bei macOS dabei ist:
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Task finished\" with title \"Claude Code\" sound name \"Glass\"'"
}
]
}
],
"Notification": [
{
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Waiting for your input\" with title \"Claude Code\" sound name \"Funk\"'"
}
]
}
]
}
}Starte Claude Code neu und teste es mit einer kurzen Aufgabe. Beim ersten Mal fragt macOS eventuell, ob der Skripteditor Mitteilungen anzeigen darf.
Grenzen dieses Ansatzes: Die Benachrichtigung verrät nicht, aus welchem Projekt oder Terminal sie kommt, ein Klick bringt dich nicht dorthin, und für jeden anderen Agent brauchst du ein ähnliches Setup. Die aktuelle Liste der Ereignisse findest du in der Dokumentation zu Claude Code Hooks.
Option 2: Codex notify
Codex CLI kann nach jedem Agent-Durchgang ein Programm ausführen. Setz in ~/.codex/config.toml den Wert notify auf einen Befehl; Codex übergibt ihm eine JSON-Beschreibung des Ereignisses:
notify = ["osascript", "-e", "display notification \"Codex finished\" with title \"Codex\""]Neuere Codex-Versionen unterstützen außerdem Hooks, darunter ein Stop-Ereignis, konfiguriert in hooks.json oder in einer [hooks]-Tabelle in config.toml. Die Optionen ändern sich zwischen den Versionen – schau für deine in die Dokumentation zu Codex Hooks.
Option 3: Eingebaut in Vibe Console
Vibe Console behält jedes Agent-Terminal für dich im Auge, für alle acht unterstützten Agents, ganz ohne Konfiguration:
- Ein Statuspunkt auf jedem Tab zeigt, ob sein Agent arbeitet oder wartet – ein ganzes Raster voller Agents erfasst du so auf einen Blick.
- Ist ein Agent fertig, spielt die App einen Ton ab (standardmäßig „Glass“) und öffnet kurz die Notch des MacBooks auf dieser Session, mit Agent und Terminal.
- Hält ein Agent an, um auf dich zu warten, ertönt ein anderer Ton (standardmäßig „Funk“). So unterscheidest du „fertig“ von „blockiert“, ohne hinzuschauen.
- Beide Töne sind einstellbar, oder du schaltest sie ab.
Außerdem schickt die App eine macOS-Benachrichtigung, wenn deine Nutzung von Claude Code oder Codex 80 % und 100 % eines Zeitfensters überschreitet. Siehe Claude-Code-Nutzungslimits.
Am meisten bringt das, wenn du mehrere Agents gleichzeitig laufen lässt. Siehe wie du mehrere Claude-Code-Agents parallel laufen lässt.
Welche Lösung passt zu dir?
| Hooks / notify | Vibe Console | |
|---|---|---|
| Kosten | Kostenlos | In der App enthalten |
| Einrichtung | Pro Agent, JSON oder TOML | Keine |
| Unterscheidet fertig und blockiert | Ja, mit zwei Hooks | Ja, zwei Töne |
| Zeigt, welches Terminal | Nein | Ja, in der Notch |
| Funktioniert für alle acht Agents | Nur für die mit Hooks | Ja |
Lässt du immer nur eine Claude-Code-Session laufen, reichen Hooks. Arbeitest du mit mehreren Agents in mehreren Projekten, spart dir ein Workspace, der weiß, welches Terminal welches ist, am meisten Zeit.
FAQ
Warum löst mein Claude Code Hook nicht aus?
Prüf, ob das JSON gültig ist, ob die Datei am richtigen Ort liegt und ob du Claude Code neu gestartet hast. Führ den osascript-Befehl einzeln in einem Terminal aus, um zu prüfen, ob Mitteilungen erlaubt sind.
Bekomme ich die Benachrichtigung auch aufs Handy?
Hooks können jeden Befehl aufrufen, auch einen Push-Dienst. Claude Code unterstützt außerdem die Fernsteuerung über seine Mobile-App, sodass du eine Session auch abseits vom Schreibtisch prüfen kannst.
Teste die eingebauten Signaltöne 14 Tage kostenlos: Vibe Console herunterladen.
