Zatwierdzanie
Zatwierdzanie próśb o uprawnienia Claude Code (i Codexa) z telefonu
Najczęstszy powód, dla którego agent przestaje robić postępy, to prośba o uprawnienie, której nikt nie zauważył. Są trzy sposoby, by odpowiedzieć na nią z kieszeni: własne powiadomienia push Claude Code, samodzielnie zbudowany hook z ntfy albo aplikacja ze skrzynką. Oto jak każdy z nich działa z Claude Code, co się zmienia w przypadku Codexa i innych agentów oraz ile każdy kosztuje Cię pod względem bezpieczeństwa.
Krótka odpowiedź
W planie Pro, Max, Team lub Enterprise uruchom Remote Control i w /config włącz Push when actions required. Aplikacja Claude będzie Cię wtedy powiadamiać, a na prośbę odpowiadasz w aplikacji. Jako darmową alternatywę na własnym serwerze możesz użyć hooków open source, takich jak claude-remote-approver, które wysyłają każde PermissionRequest do ntfy z przyciskami Approve/Deny. Codex ma ten sam hook PermissionRequest. Aplikacje takie jak Maude pokazują prośby od kilku agentów w jednej skrzynce, z powiadomieniami push z przyciskami Zezwól/Odmów.
Gdy Claude Code chce uruchomić polecenie albo edytować plik, który nie został wcześniej zatwierdzony, zatrzymuje się i pyta. Jeśli jesteś przy terminalu, zajmuje to sekundę. Jeśli nie, sesja czeka, a to może oznaczać godzinę czekania na jedno naciśnięcie klawisza. Każda konfiguracja zdalnego zatwierdzania przenosi prośbę na Twój telefon, a Twoją odpowiedź z powrotem do agenta. Różnią się tym, jak prośba jest przechwytywana, którędy wędruje i kto może na nią odpowiedzieć.
Jak działa zdalne zatwierdzanie
Są dwa mechanizmy i każde narzędzie korzysta z jednego z nich.
- Własny protokół zdalny agenta. Remote Control w Claude Code przekazuje prawdziwe okno uprawnień do aplikacji Claude. Remote Control w Antigravity i app-server w Codexie działają tak samo. Nic pośrodku niczego nie rozstrzyga: odpowiadasz na prośbę samego agenta.
- Hooki. Claude Code uruchamia skonfigurowany przez Ciebie program w określonych momentach. Hook
PermissionRequestodpala się, gdy ma się pojawić okno uprawnień, i może odpowiedzieć za Ciebie, wypisując decyzję taką jak{"behavior": "allow"}lub"deny". HookPreToolUseodpala się przed każdym wywołaniem narzędzia i może zwrócićallow,deny,asklubdefer. Hook, który wysyła push i czeka na Twoje dotknięcie, to sposób działania każdego samodzielnie zbudowanego narzędzia do zatwierdzania z telefonu. Szczegóły są w dokumentacji hooków.
Natywne push w Claude Code
Własna droga Anthropic prowadzi przez Remote Control:
- Uruchom sesję przez
claude remote-control(tryb serwera) lubclaude --remote-controlalbo wpisz/remote-controlw działającej sesji. - Zaloguj się do aplikacji Claude na telefonie tym samym kontem i zezwól na powiadomienia.
- W terminalu uruchom
/configi włącz Push when actions required, co obejmuje prośby o uprawnienia i pytania. Push when Claude decides obejmuje proaktywne aktualizacje, takie jak „testy zakończone”.
Dokumentacja wspomina o kilku rzeczach, na które trafisz:
- Plany i uwierzytelnianie. Remote Control jest dostępny w Pro, Max, Team i Enterprise, a klucze API nie są obsługiwane. W Team i Enterprise musi go włączyć właściciel (Owner).
- Prośby nie wygasają. Prośby o uprawnienia i pytania pozostają otwarte, dopóki na nie nie odpowiesz.
- Push wstrzymuje się, gdy jesteś przy terminalu. Claude Code nie wysyła push, gdy piszesz w podłączonym terminalu lub ma on fokus.
CLAUDE_CLIENT_PRESENCE_FILErozszerza to na każdą sytuację, w której jesteś przy maszynie. - Proces musi działać. Proces
claudemusi cały czas działać, więc na serwerze uruchom go w tmux. - Niektóre tryby są niedostępne z aplikacji. Według dokumentacji mobilnej w aplikacji nie wybierzesz Bypass permissions ani, w sesji Remote Control, trybu Auto.
Jeśli masz plan Claude i używasz tylko Claude Code, zacznij od tego. Jest darmowe w ramach planu i utrzymywane przez Anthropic.
Zrób to sam z hookami ntfy
ntfy to usługa push open source. Publikujesz w temacie zwykłym żądaniem HTTP, a aplikacja ntfy na telefonie to wyświetla. Kilka projektów open source łączy ją z hookiem PermissionRequest. Hook publikuje oczekujące wywołanie narzędzia w Twoim temacie z przyciskami akcji, czeka na Twoje dotknięcie w drugim temacie i zwraca decyzję do Claude Code. Oddajmy autorom, co im się należy:
| Projekt | Hook | Gdy nie odpowiesz | Uwagi |
|---|---|---|---|
| claude-remote-approver (yuuichieguchi) | PermissionRequest | Po 120 s (300 s dla przeglądu planów) wraca do prośby w terminalu | npm install -g claude-remote-approver; generuje losowy 128-bitowy temat; Approve / Always Approve / Deny |
| claude-push (coa00) | PermissionRequest | Po 90 s (konfigurowalne) wraca do terminala | Skrypt instalacyjny w powłoce; Allow / Deny |
| claude-code-phone-notifications (ssarnecki) | PermissionRequest, PreToolUse, Stop | Czeka około 9 minut, potem wraca do terminala | Czeka 30 s przed wysłaniem push, na wypadek gdyby ktoś był przy biurku; wysyła też pytania AskUserQuestion (bez przycisków) |
| hookline (tsyche) | PreToolUse dla Claude; PermissionRequest dla Codexa | Domyślnie 15 minut, z dłuższym oknem na spóźnione odpowiedzi | Obsługuje też Codexa, Groka i OpenCode; wspiera własną instancję ntfy z danymi logowania |
Wszystkie cztery mają licencję MIT. Limity czasu to ich udokumentowane wartości domyślne. Jeśli chcesz tylko dostać sygnał, bez zdalnego odpowiadania, wystarczy hook Notification w Claude Code. Matcher permission_prompt odpala się, gdy pojawia się okno:
{
"hooks": {
"Notification": [
{
"matcher": "permission_prompt",
"hooks": [
{ "type": "command",
"command": "curl -s -d 'Claude Code is waiting for approval' https://ntfy.sh/your-long-random-topic" }
]
}
]
}
}
Umieść to w ~/.claude/settings.json na maszynie, na której działa Claude Code. Żeby odpowiedzieć, nadal musisz dotrzeć do terminala. Powyższe projekty dodają ścieżkę odpowiedzi.
Skrzynka w Maude
Maude stosuje pierwsze podejście. Jego demon na Twoim serwerze rozmawia z własnym protokołem każdego agenta, więc prośba o uprawnienie trafia do aplikacji jako prawdziwa prośba, a nie jako domysł hooka. Prośby ze wszystkich sesji na wszystkich serwerach trafiają do jednej skrzynki, obok błędów i ukończonej pracy. Możesz odpowiedzieć tam w treści albo prosto z powiadomienia push z przyciskami Zezwól i Odmów. Prośba czeka, aż odpowiesz; sesja nie wygasa i nie idzie dalej bez Ciebie. Działa to dla Claude Code, Codexa, OpenCode i Grok Build. Wyjątkiem jest Antigravity: agy bez interfejsu nie potrafi się zatrzymać przed uruchomieniem narzędzia, więc Maude pokazuje odrzuconą akcję po fakcie i ponawia ją, jeśli na nią zezwolisz. Maude to płatna aplikacja, a każdy agent wymaga własnego konta. Nie jest jedyną aplikacją ze skrzynką i push: ma je m.in. Happier.
Codex i inne agenty
- Codex też ma hooki, domyślnie włączone. Hook
PermissionRequestmoże odpowiedzieć"behavior": "allow"lub"deny", aPreToolUsemoże odmówić. Znajdują się w~/.codex/hooks.jsonlub w sekcji[hooks]wconfig.toml. Z tego korzysta hookline w przypadku Codexa. Starsze ustawienienotifyw Codexie uruchamia program po zakończeniu tury. Według opisów firm trzecich nie odpala się przy prośbach o zatwierdzenie, więc do zatwierdzania używaj hooków. Oficjalną drogę Codexa przez aplikację na telefon i jej ograniczenia na Linuksie opisuje Codex CLI na VPS-ie. - Antigravity odpowiada na prośby z panelu Remote Control, gdy uruchamiasz go interaktywnie lub jako demona.
agybez interfejsu odmawia zamiast pytać. Zobacz Antigravity CLI na serwerze. - OpenCode i Grok Build obsługuje hookline przez plugin i hooki albo aplikacje wieloagentowe.
Bezpieczeństwo zdalnego zatwierdzania
Zatwierdzenie z telefonu jest tak mocne, jak najsłabsze ogniwo między prośbą a Twoim dotknięciem.
- W ntfy.sh temat jest hasłem. Dokumentacja ntfy mówi to wprost: bez rejestracji każdy, kto zna nazwę tematu, może go czytać i w nim publikować. Na publicznym serwerze odgadnięty temat oznacza, że ktoś inny może zatwierdzać polecenia Twojego agenta. Używaj długiego, losowego tematu albo własnej instancji ntfy z uwierzytelnianiem.
- Czytaj polecenie, nie tytuł. Push na ekranie blokady pokazuje skrót.
rm -rfw długiej linii Bash łatwo przeoczyć na 6-calowym ekranie. Używaj „zawsze zezwalaj” dla narzędzi tylko do odczytu, a nie dlaBash(*). - Znaj swoje zachowanie awaryjne. Opisane hooki po upływie czasu wracają do prośby w terminalu, więc prośba bez odpowiedzi blokuje, a nie zatwierdza automatycznie. Pisząc własny hook, stosuj tę samą zasadę. Dokumentacja Claude Code ostrzega, że hook
PreToolUse, który przekroczy limit czasu, nie blokuje wywołania narzędzia — przechodzi ono normalną ścieżką uprawnień — więc nie traktuj zawieszonego hooka jak bramki. - Zabezpiecz kanał. Ruch związany z zatwierdzaniem zdradza, co robi Twój agent. Remote Control od Anthropic przechodzi przez serwery Anthropic, a przekaźnik Maude widzi wyłącznie ruch szyfrowany end-to-end. Przy hooku sam wybierasz, dokąd trafia. Ustawienie Require trusted devices od Anthropic ogranicza, które urządzenia mogą korzystać z Remote Control.
- Zatwierdzanie to siatka bezpieczeństwa, a nie sandbox. Uruchamianie agenta jako użytkownik inny niż root na maszynie, którą da się postawić od nowa, ma większe znaczenie niż jakikolwiek interfejs zatwierdzania. Zobacz bezpieczne uruchamianie agentów z pełnymi uprawnieniami.
Odpowiadaj z Maude
Jeśli Twoje agenty działają na serwerze i chcesz jednego miejsca, by odpowiadać im wszystkim, wypróbuj Maude z Claude Code lub Codexem. Dodaj serwer z aplikacji, zaloguj się własnym planem, a prośby o uprawnienia przyjdą jako powiadomienia push z Zezwól i Odmów. Skrzynka zbiera wszystko, co na Ciebie czeka.
Najczęściej zadawane pytania
Czy Claude Code może wysyłać powiadomienia push?
/config. Wymaga to planu Pro, Max, Team lub Enterprise; logowanie kluczem API nie jest obsługiwane.Czy mogę zezwolić lub odmówić z ekranu blokady?
Co się stanie, jeśli nie odpowiem?
PreToolUse, który przekroczy limit czasu, nie blokuje wywołania narzędzia.Czy to działa z Codexem?
PermissionRequest, który może zezwolić lub odmówić, a projekty takie jak hookline używają go, by kierować zatwierdzenia Codexa do ntfy. Według relacji firm trzecich ustawienie notify w Codexie obejmuje tylko zakończone tury, więc do zatwierdzania używaj hooków.Czy zatwierdzanie poleceń z telefonu jest bezpieczne?
Co się zmieniło
- — Pierwsza publikacja. Działanie Remote Control i hooków sprawdzone w dokumentacji Anthropic i OpenAI; szczegóły repozytoriów i wartości domyślne z README każdego projektu z tego dnia.