Claude Code ma wbudowane powiadomienie: gdy Claude skończy albo czeka na prompt o uprawnienia, a ty wyglądasz na nieobecnego, powiadamia cię przez terminal. Sposób określa ustawienie preferredNotifChannel. Domyślne "auto" wysyła powiadomienie systemowe w iTerm2, Ghostty i Kitty, a w większości innych terminali nic nie robi. Ustaw "terminal_bell", żeby w każdym terminalu wysyłać znak dzwonka – przez /config (gdzie nazywa się to Local notifications) albo w ~/.claude/settings.json.
01Szybka poprawka
Jeśli nic nie słyszysz, gdy Claude skończy, dodaj to do ~/.claude/settings.json:
{
"preferredNotifChannel": "terminal_bell"
}
Potem upewnij się, że terminal coś robi z dzwonkiem: odtwarza dźwięk, podskakuje ikoną w Docku, miga kartą albo pokazuje powiadomienie. To ustawienie jest w terminalu, nie w Claude Code. Na Macu, Windows i Linux większość terminali ma w preferencjach sekcję „bell” albo „alert”.
02Wszystkie wartości preferredNotifChannel
"auto" (domyślnie)Powiadomienie systemowe w iTerm2, Ghostty i Kitty. W Apple Terminal znak dzwonka, ale tylko gdy w danym profilu dźwiękowy dzwonek jest wyłączony. Gdzie indziej nic"terminal_bell"Wysyła znak dzwonka w każdym terminalu"iterm2"Wysyła powiadomienie systemowe iTerm2"iterm2_with_bell"Powiadomienie systemowe iTerm2 plus dzwonek"kitty"Wysyła powiadomienie systemowe Kitty"ghostty"Wysyła powiadomienie systemowe Ghostty"notifications_disabled"Nic nie wysyłaUstawienie może być w dowolnym pliku ustawień: użytkownika (~/.claude/settings.json), projektu (.claude/settings.json) albo lokalnym (.claude/settings.local.json). Starsze wersje trzymały je w ~/.claude.json i Claude Code nadal odczytuje pozostawioną tam wartość.
03Kiedy uruchamia się wbudowane powiadomienie
Według dokumentacji Anthropic wbudowany alert ma ten sam timing co hook Notification. W sesji terminala:
- Prompt o uprawnienia: gdy prompt czeka około sześciu sekund bez naciśnięcia klawisza. Każdy wciśnięty klawisz zaczyna odliczanie od nowa.
- Zakończenie: około 60 sekund po tym, jak Claude skończy, i tylko jeśli od tego czasu nic nie wpisałeś i żaden agent w tle już nie działa.
Wbudowany alert „zakończono” celowo nie jest natychmiastowy. Ma cię złapać, gdy odejdziesz od komputera, a nie pingować, kiedy patrzysz. Jeśli chcesz alert od razu po zakończeniu tury, użyj hooka Stop (zobacz poradnik o Stop hook).
04Terminal po terminalu
iTerm2 (macOS)
iTerm2 domyślnie dostaje powiadomienie systemowe, ale iTerm2 pokaże je dopiero, gdy na to pozwolisz:
- Otwórz Settings > Profiles > Terminal.
- Zaznacz Notification Center Alerts.
- Kliknij Filter Alerts i włącz Send escape sequence-generated alerts.
Sprawdź też, czy iTerm2 może wyświetlać powiadomienia w System Settings > Notifications.
Apple Terminal (macOS)
Apple Terminal nie dostaje powiadomień systemowych. Przy "auto" Claude Code wysyła cichy dzwonek tylko wtedy, gdy w profilu aktywnego okna Audible bell jest wyłączony. Dzwonek pojawia się wtedy jako mignięcie okna albo podskok ikony w Docku, gdy Terminal jest w tle – jeśli w profilu włączona jest opcja Visual bell lub podskakiwania w Docku.
Uważaj na jeden szczegół. Jeśli przy pierwszym uruchomieniu zaakceptowałeś prompt konfiguracji terminala w Claude Code, uruchomił on /terminal-setup, który wyłącza dźwiękowy dzwonek w profilu Apple Terminal. Żeby słyszeć dźwięk, ustaw "terminal_bell" i włącz z powrotem Audible bell w Settings > Profiles > Advanced.
Ghostty i Kitty (macOS i Linux)
Oba dostają powiadomienie systemowe bez żadnej konfiguracji i oba przekazują je do centrum powiadomień systemu.
Wszystko inne
Windows Terminal, GNOME Terminal, Konsole, Alacritty, WezTerm, Warp i terminale w IDE domyślnie nie dostają nic. Ustaw "terminal_bell" i włącz obsługę dzwonka w samym terminalu albo użyj hooka. Terminale w IDE mają własne dziwactwa, opisane w poradniku dla VS Code, Cursor i JetBrains.
05Przez SSH i w tmux
Powiadomienie na pulpicie to sekwencja escape, którą interpretuje terminal na twoim komputerze, więc dociera do ciebie nawet wtedy, gdy Claude Code działa na zdalnym serwerze przez SSH. Ghostty i Kitty przekazują je bez dodatkowej konfiguracji. iTerm2 wymaga opisanych wyżej ustawień alertów.
W tmux sekwencja jest połykana, dopóki nie włączysz passthrough. Dodaj to do ~/.tmux.conf i uruchom tmux source-file ~/.tmux.conf:
set -g allow-passthrough on
Odłączone sesje to inny problem: jeśli żaden terminal nie jest podłączony, nic nie wyświetli alertu. Zobacz poradnik dla tmux i powiadomienia przez SSH.
06Wbudowany alert i hooki razem
Hooki Notification działają obok wbudowanego alertu, a nie zamiast niego. Dokumentacja Anthropic jasno mówi, że hooki odpalają się nawet przy "notifications_disabled": to ustawienie zmienia tylko sposób, w jaki Claude Code cię powiadamia, a nie to, czy twój hook się uruchomi. Dzięki temu masz czysty podział:
- Zostaw
"auto"albo"terminal_bell"jako alert przy biurku. - Dodaj hook do wszystkiego innego, np. dźwięku systemowego, powiadomienia na pulpicie w terminalu, który go nie dostaje, albo pusha na telefon przez ntfy.
- Jeśli hook już wyświetla powiadomienie na pulpicie, ustaw
"notifications_disabled", żeby nie widzieć dwóch.
Na przykład ten hook odtwarza dźwięk na macOS za każdym razem, gdy Claude potrzebuje uwagi, w dowolnym terminalu:
{
"hooks": {
"Notification": [
{
"hooks": [{ "type": "command", "command": "afplay /System/Library/Sounds/Glass.aiff" }]
}
]
}
}
Odpowiedniki dla Linux i Windows znajdziesz w poradniku dla Linux i poradniku dla Windows.
07Ograniczenia wbudowanych opcji
- Działa tylko na komputerze. Dzwonek lub powiadomienie pochodzi z terminala na twoim ekranie. Pójdziesz do kuchni i je przegapisz.
- Zależy od terminala. Wiele popularnych terminali nie dostaje nic, dopóki nie zmienisz ustawień.
- Nie możesz na nie odpowiedzieć. Informuje, że Claude czeka, ale i tak musisz wrócić do klawiatury.
Remote Control od Anthropic razem z aplikacją mobilną Claude to oficjalny sposób na pushe na telefon. Porównanie omawia go obok innych opcji.
08Gdzie pasuje Claude Code Notifier
Jeśli pracujesz przy biurku, wbudowany alert plus "terminal_bell" może w zupełności wystarczyć. Claude Code Notifier jest na czas, gdy nie siedzisz przy biurku. Jego narzędzie wiersza poleceń, ccn, działa jako hook Claude Code, więc działa w każdym terminalu na Macu, Windows i Linux, niezależnie od ustawień dzwonka. Samo w sobie pokazuje powiadomienie na pulpicie, gdy Claude skończy, potrzebuje uprawnień albo zadaje pytanie. Po sparowaniu telefonu możesz z niego zezwalać na uprawnienia lub ich odmawiać, odpowiadać na pytania Claude i wysyłać kolejne polecenia, a jeśli pisałeś coś w ciągu ostatnich 30 sekund, na telefonie nic nie czeka. Zobacz stronę ccn.
09FAQ
Jak wyłączyć powiadomienia Claude Code?
Ustaw "preferredNotifChannel": "notifications_disabled" albo wybierz tę opcję w Local notifications w /config. Skonfigurowane hooki Notification nadal będą działać.
Dlaczego iTerm2 nie pokazuje powiadomień Claude Code?
iTerm2 wymaga zaznaczenia Notification Center Alerts i włączenia Send escape sequence-generated alerts w Profiles > Terminal > Filter Alerts, a do tego zgody na powiadomienia w ustawieniach macOS. W tmux ustaw też allow-passthrough on.
Dlaczego w Apple Terminal nie ma dzwonka?
Konfiguracja terminala w Claude Code wyłącza dźwiękowy dzwonek w Apple Terminal. Ustaw "terminal_bell" i włącz z powrotem Audible bell w zakładce Advanced profilu.
Czy dzwonek terminala działa w VS Code?
Domyślnie nie. Ustaw "terminal_bell" i sprawdź ustawienia dzwonka terminala w VS Code albo użyj hooka. Szczegóły znajdziesz w poradniku dla IDE.