Terminale w IDE VS Code, Cursor i JetBrains domyślnie nie dostają od Claude Code powiadomień na pulpicie, bo Claude Code wysyła je tylko do iTerm2, Ghostty i Kitty. Żeby dostawać alerty, ustaw "preferredNotifChannel": "terminal_bell" i pozwól IDE obsłużyć dzwonek albo dodaj do ~/.claude/settings.json hook Notification, który pokaże powiadomienie na pulpicie lub wyśle pusha. Hooki odpalają się zarówno w zintegrowanym terminalu, jak i w panelu czatu rozszerzenia VS Code, bo oba czytają ten sam plik ustawień.
01Dlaczego IDE milczy
Wbudowany alert Claude Code zależy od terminala, w którym działa. Przy domyślnym ustawieniu pokazuje powiadomienie na pulpicie tylko w iTerm2, Ghostty i Kitty, a dokumentacja terminali Anthropic wymienia zintegrowany terminal VS Code jako taki, który nie dostaje żadnego. Terminale JetBrains są w tej samej sytuacji. Poradnik o dzwonku terminala wyjaśnia każdą wartość preferredNotifChannel.
Claude Code w VS Code i Cursor można uruchomić na dwa sposoby i ta różnica ma znaczenie:
claude w zintegrowanym terminalu~/.claude/settings.json~/.claude/settings.json (ten sam plik)IDE od JetBrains (IntelliJ IDEA, PyCharm, WebStorm, GoLand, Android Studio i inne) działają jak w prawej kolumnie: plugin Claude Code uruchamia claude w zintegrowanym terminalu IDE i się z nim łączy.
02Opcja 1: dzwonek terminala
Jeśli claude działa w zintegrowanym terminalu, dodaj to do ~/.claude/settings.json:
{
"preferredNotifChannel": "terminal_bell"
}
Wtedy Claude Code wysyła znak dzwonka, gdy cię potrzebuje. Co dalej, zależy od IDE. VS Code i Cursor obsługują dzwonek terminala przez ustawienia sygnałów dostępności; wyszukaj w Settings „terminal bell”, żeby wybrać dźwięk. W IDE od JetBrains sprawdź ustawienia terminala dla swojej wersji. Dzwonek łatwo przegapić bez słuchawek albo gdy IDE jest w tle, więc większość osób przechodzi do opcji 2.
03Opcja 2: Notification hook
Hook uruchamia wybraną przez ciebie komendę i działa w każdym IDE, zarówno w terminalu, jak i w panelu czatu VS Code. Ten pokazuje powiadomienie na pulpicie w macOS:
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
}
]
}
]
}
}
Na Linux użyj notify-send 'Claude Code' 'Claude Code needs your attention', a na Windows komendy PowerShell; przetestowane wersje znajdziesz w poradniku dla Linux i poradniku dla Windows. Jeśli osascript nic nie pokazuje na macOS, otwórz System Settings > Notifications i zezwól na powiadomienia dla Script Editor — to z tej aplikacji pochodzą powiadomienia osascript.
W rozszerzeniu VS Code możesz przejrzeć hooki bez otwierania pliku: otwórz sekcję Customize i wybierz Hooks, żeby zobaczyć hooki załadowane w sesji, pogrupowane według zdarzeń (Claude Code v2.1.269 lub nowszy).
Jeśli chcesz dostać powiadomienie od razu, gdy Claude skończy, a nie gdy czeka, dodaj też hook Stop. Poradnik o powiadomieniach po zakończeniu pracy przez Claude pokazuje oba razem.
W rozszerzeniu VS Code timing jest inny
W terminalu powiadomienie permission_prompt czeka, aż prompt przez około sześć sekund nie dostanie żadnego klawisza, a każde naciśnięcie odsuwa je w czasie. W rozszerzeniu VS Code (i w Claude Desktop), według dokumentacji Anthropic, odpala się około sześć sekund po pytaniu Claude, bez odkładania podczas pisania, i wcale się nie pojawia, jeśli odpowiesz wcześniej. Jeśli przeszkadza ci to podczas pracy w panelu, ustaw zmienną środowiskową CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS=1, żeby je tam wyłączyć. Poradnik o Notification hook opisuje wszystkie typy powiadomień i kiedy się odpalają.
04Zdalne okna: SSH, WSL, dev containers i JetBrains Remote Development
To tutaj powiadomienia w IDE najczęściej się psują. Gdy okno VS Code lub Cursor jest połączone z hostem SSH, WSL albo dev containerem, Claude Code działa na tamtym systemie i czyta tamtejszy ~/.claude/settings.json, a nie ten z twojego laptopa. Hooki też tam się uruchamiają. Komenda pulpitowa jak osascript czy notify-send nie ma wtedy gdzie się wyświetlić i po cichu się wysypuje.
Z JetBrains Remote Development jest podobnie: plugin Claude Code musi być zainstalowany na zdalnym hoście i to tam działa Claude Code.
Co działa zamiast tego:
- WSL na Windows: hook może wywołać
powershell.exeprzez interop Windows, o ile jest wPATHwewnątrz WSL. - Hosty SSH i kontenery: wyślij alert przez sieć do czegoś, co do ciebie dotrze, np. ntfy albo webhook Telegram, Slack lub Discord. Opcje opisuje poradnik o SSH.
05Użyj zewnętrznego terminala z /ide
Jeśli chcesz wbudowane powiadomienie na pulpicie, uruchom Claude Code w iTerm2, Ghostty albo Kitty i połącz go z IDE komendą /ide. Podgląd diffów i udostępnianie zaznaczenia nadal działają przez IDE, a alerty przychodzą z zewnętrznego terminala. W iTerm2 musisz najpierw włączyć ustawienia alertów, jak opisano w poradniku o dzwonku terminala.
06Co jeszcze warto wiedzieć
- Shift+Enter: w VS Code i Cursor uruchom raz
/terminal-setup, żeby Shift+Enter wstawiał nową linię. W terminalach JetBrains to nie działa; użyj Ctrl+J albo\i Enter. - Remote Control: Remote Control od Anthropic możesz uruchomić z rozszerzenia VS Code komendą
/remote-controli śledzić sesję w mobilnej aplikacji Claude. Ma własne wymagania co do planu i logowania; zobacz porównanie. - Kilka okien: jeśli uruchamiasz Claude Code w więcej niż jednym oknie IDE, dodaj folder projektu do alertu, żeby wiedzieć, które cię potrzebuje. Wejście hooka zawiera
cwd. Zobacz uruchamianie kilku sesji.
07Gdzie pasuje Claude Code Notifier
Hook Notification z natywnym notifierem twojej platformy to dobre, darmowe rozwiązanie, jeśli siedzisz przy IDE. Nie pomoże, gdy odejdziesz od ekranu, i nie pozwala odpowiedzieć.
ccn od Claude Code Notifier to też hook, więc w terminalach IDE działa tak samo jak w każdym innym terminalu, na Macu, Windows i Linux. Sam w sobie pokazuje powiadomienie na pulpicie, gdy Claude skończy, potrzebuje uprawnienia albo zadaje pytanie. Ze sparowanym telefonem możesz zezwolić raz, zezwolić na całą sesję lub odrzucić prośbę o uprawnienie, wybrać odpowiedź na pytanie Claude i wysłać kolejne polecenie z telefonu. Jeśli pisałeś w ciągu ostatnich 30 sekund, terminal pyta jak zwykle i nic nie czeka na telefonie. Pushe na telefon idą przez relay, a nie przez lokalny pulpit, więc jeśli zainstalujesz ccn na zdalnej maszynie, z którą połączone jest okno IDE, telefon nadal dostanie powiadomienia. Claude Code Notifier to niezależny projekt, niezwiązany z Anthropic. Zobacz stronę ccn i parowanie telefonu.
08FAQ
Dlaczego Claude Code nie wysyła mi powiadomień w VS Code?
Zintegrowany terminal VS Code nie odbiera wbudowanego powiadomienia na pulpicie od Claude Code. Ustaw "preferredNotifChannel": "terminal_bell" albo dodaj hook Notification w ~/.claude/settings.json, a potem zacznij nową sesję.
Czy hooki działają w rozszerzeniu Claude Code dla VS Code?
Tak. Claude Code odpala w rozszerzeniach IDE te same zdarzenia hooków co w terminalu, a rozszerzenie i CLI korzystają z tego samego ~/.claude/settings.json. Sekcja Customize w rozszerzeniu pozwala podejrzeć i edytować hooki.
Czy to działa w Cursor?
Tak. W Cursor możesz zainstalować to samo rozszerzenie Claude Code, a claude działa w jego zintegrowanym terminalu tak jak w VS Code. Wszystko powyżej też tu obowiązuje.
Mój hook działa lokalnie, ale nie w oknie Remote SSH. Dlaczego?
W oknie zdalnym Claude Code i jego hooki działają na zdalnej maszynie, która nie ma pulpitu. Edytuj ~/.claude/settings.json na tej maszynie i zamiast polecenia desktopowego użyj sieciowego pusha, np. ntfy.