Możesz zatwierdzać żądania uprawnień Claude Code z telefonu, bo Claude Code uruchamia hook PermissionRequest tuż przed pokazaniem promptu uprawnień, a ten hook może sam zwrócić decyzję. Narzędzie, które wysyła żądanie na telefon, czeka na twoje kliknięcie i odsyła allow lub deny, pozwala odpowiadać z dowolnego miejsca. Claude Code Notifier robi to za pomocą małego narzędzia CLI, ccn, na Macu, Windows i Linux, oraz aplikacji na iPhone lub Android.
01Dlaczego prompty uprawnień wstrzymują twoją pracę
W domyślnym trybie uprawnień Claude Code pyta, zanim uruchomi większość poleceń powłoki, edytuje pliki lub pobierze stronę. Prompt czeka w terminalu, aż ktoś odpowie. Jeśli poszedłeś zrobić kawę, całe zadanie stoi na tym pytaniu, a ty dowiadujesz się o tym dopiero po powrocie.
Masz trzy sposoby, żeby to obejść:
- Zatwierdzaj rzadziej. Dodaj reguły allow dla poleceń, którym ufasz, albo użyj bardziej liberalnego trybu. To sprawdza się przy rutynowej pracy i opisuje to Tryby uprawnień Claude Code w praktyce.
- Dostajesz powiadomienie i wracasz do biurka. Hook z powiadomieniem daje znać, że czeka prompt. Nadal musisz wrócić do klawiatury.
- Odpowiadasz zdalnie. Hook
PermissionRequestprzesyła pytanie na twój telefon i zwraca twoją odpowiedź do Claude Code.
Ten poradnik dotyczy trzeciej opcji.
02Jak hook PermissionRequest odpowiada za ciebie
Claude Code wywołuje PermissionRequest, gdy wywołanie narzędzia wymaga decyzji o uprawnieniach. Hook dostaje na standardowe wejście JSON z tool_name i tool_input (np. komendą Bash) oraz opcjonalną listę permission_suggestions z regułami, które Claude Code zaproponowałby do zapisania.
Hook odpowiada, wypisując JSON w takiej postaci:
{
"hookSpecificOutput": {
"hookEventName": "PermissionRequest",
"decision": {
"behavior": "allow"
}
}
}
behavior to allow albo deny. Przy odmowie możesz dodać message, które wyjaśnia Claude powód, oraz interrupt: true, które całkiem zatrzymuje Claude. Przy zgodzie updatedPermissions może zastosować reguły uprawnień, żeby nie pytać cię ponownie. Jeśli hook nic nie zwróci, Claude Code pokaże zwykły prompt.
Hook do zdalnego zatwierdzania ma więc trzy zadania: wysłać prośbę tam, gdzie ją zobaczysz, poczekać na odpowiedź i wypisać właściwy JSON, zanim minie timeout hooka. Pełną listę pól i działający skrypt znajdziesz w Odpowiadanie na prośby o uprawnienia z hooka.
Rejestracja hooka
Hooki definiujesz w ~/.claude/settings.json (dla wszystkich projektów) lub .claude/settings.json (dla jednego projektu):
{
"hooks": {
"PermissionRequest": [
{
"matcher": "*",
"hooks": [
{ "type": "command", "command": "/path/to/your-approval-script" }
]
}
]
}
}
Matcher filtruje po nazwie narzędzia, więc "Bash" wysyłałby na telefon tylko komendy powłoki. Hooki typu command mają domyślny timeout 600 sekund, co ogranicza, jak długo hook może na ciebie czekać.
03Zrób to sam
Własna wersja jest jak najbardziej możliwa. Typowe rozwiązanie wysyła prośbę do usługi push, np. ntfy, z dwoma przyciskami akcji, które wywołują mały endpoint webowy, a hook odpytuje ten endpoint, aż przyjdzie odpowiedź albo skończy się czas. Część z wysyłaniem opisuje Powiadomienia push z Claude Code przez ntfy.
Najwięcej czasu zajmują przypadki brzegowe:
- Siedzisz przy klawiaturze. Jeśli hook zawsze czeka na telefon, nie odpowiesz w terminalu, póki czeka. Dobry hook zauważa, że jesteś, i schodzi z drogi.
- Timeouty. Hook musi się poddać przed timeoutem Claude Code i czysto wrócić do domyślnego zachowania.
- Zaufanie. Każdy, kto dotrze do twojego endpointu, może zatwierdzać komendy na twoim komputerze. Potrzebne jest uwierzytelnianie.
- Wiele sesji. Każda prośba musi trafić do właściwej sesji i do niej wrócić.
Jeśli lubisz takie rzeczy, to dobry projekt na weekend. Jeśli chcesz, żeby działało już dziś, gotowe narzędzie oszczędzi ci pracy.
04Korzystanie z Claude Code Notifier
Claude Code Notifier to niezależne narzędzie stworzone przez TouchTap Ltd. Nie jest tworzone przez Anthropic ani z nim powiązane. Składa się z dwóch części: ccn, darmowego narzędzia wiersza poleceń na Maca, Windows i Linux, oraz aplikacji na iPhone i Android.
1. Zainstaluj ccn
Na Macu i Linux:
curl -fsSL https://claudecodenotifier.com/install.sh | sh
Na Windows, w PowerShell (wsparcie dla Windows jest w becie):
irm https://claudecodenotifier.com/install.ps1 | iex
Instalacja przez Homebrew, npm i jako plugin jest opisana na stronie ccn. Instalacja dodaje siedem wpisów hooków do ~/.claude/settings.json, każdy uruchamia ccn hook, i zachowuje kopię zapasową pliku. Jednym z nich jest hook PermissionRequest. ccn działa kilka milisekund, gdy wywoła go Claude Code, po czym kończy pracę. Nic nie działa w tle, a całość działa w każdym terminalu, także w terminalach IDE.
2. Sparuj telefon
Uruchom ccn pair i zeskanuj kod QR albo wpisz 6-cyfrowy kod z aplikacji. Instrukcję krok po kroku dla każdego systemu znajdziesz w Połącz telefon z Claude Code.
3. Odpowiedz z powiadomienia
Gdy Claude potrzebuje uprawnienia, a ciebie nie ma, telefon pokazuje, co chce zrobić, np. jaką komendę uruchomić. Możesz:
- Zezwolić raz, tylko dla tego wywołania.
- Zezwolić na sesję, żeby ten sam rodzaj prośby w tej sesji nie pytał ponownie.
- Odmówić, a Claude działa dalej, wiedząc, że odmówiłeś.
Hook zwraca twoją odpowiedź i Claude kontynuuje.
Co się dzieje, gdy siedzisz przy biurku
ccn sprawdza, czy jesteś obecny. Jeśli pisałeś w ciągu ostatnich 30 sekund, nic nie czeka: terminal pyta jak zwykle, a telefon dostaje co najwyżej informację. Jeśli cię nie ma, terminal czeka na odpowiedź z telefonu, maksymalnie tyle, ile ustawisz, i przestaje czekać, gdy tylko dotkniesz klawiatury. Zawsze możesz więc odpowiedzieć tam, gdzie masz bliżej.
Limit ustawiasz w konfiguracji:
ccn config set hold_ceiling_seconds 900
Przyjmuje wartości od 30 do 3600 sekund, domyślnie 600. presence_threshold_seconds zmienia 30-sekundowe okno. Większość ustawień możesz też zmienić osobno dla każdego komputera z aplikacji na telefonie.
Sprawdzenie, czy działa
ccn doctor # checks hooks, credentials, server connection and presence detection
ccn test # sends a test notification
Aplikacje na telefon można pobrać za darmo, a do korzystania potrzebna jest subskrypcja lub zakup dożywotni. Zobacz cennik. Bez telefonu ccn i tak za darmo pokaże powiadomienie na komputerze, gdy Claude potrzebuje uprawnienia.
05Zatwierdzaj też mniej rzeczy
Zdalne zatwierdzanie działa najlepiej w połączeniu z rozsądnymi regułami allow. Jeśli zatwierdzasz npm test dwadzieścia razy dziennie, dodaj regułę typu Bash(npm test *) do permissions.allow, a telefon zostaw na prośby, które naprawdę warto obejrzeć. Zanim zatwierdzisz coś na małym ekranie, przeczytaj polecenie. Co sprawdzić, opisuje Czy zatwierdzanie akcji Claude Code z telefonu jest bezpieczne?
06FAQ
Czy Claude Code może prosić o zgodę na telefonie bez dodatkowego narzędzia?
Funkcja Remote Control od Anthropic pozwala w obsługiwanych planach kontynuować lokalną sesję z aplikacji Claude lub claude.ai/code, łącznie z odpowiadaniem na prompty. Narzędzie oparte na hookach, takie jak Claude Code Notifier, działa inaczej: nie wymaga włączonego Remote Control i wysyła tylko te momenty, w których jesteś potrzebny. Porównanie znajdziesz w Korzystanie z Claude Code na telefonie.
Co się stanie, jeśli nie odpowiem na telefonie?
Z ccn hook czeka maksymalnie tyle, ile ustawisz w hold_ceiling_seconds. Jeśli wrócisz i najpierw dotkniesz klawiatury, przestaje czekać i odpowiadasz na prompt w terminalu.
Czy „allow for the session” zmienia mój settings.json?
Nie. Dotyczy tylko tej sesji. Żeby zezwolić na coś na stałe, dodaj regułę allow w /permissions albo w pliku ustawień.
Czy to działa na Windows i Linux?
Tak. ccn działa na Macu, Windows i Linux, a aplikacja na telefon współpracuje ze wszystkimi trzema. Obsługa Windows jest w becie.
Czy mogę używać tego z więcej niż jednym komputerem?
Tak. Jeden telefon można sparować z kilkoma komputerami, a komputer może mieć kilka telefonów. ccn devices wyświetla sparowane telefony lub odbiera im dostęp.