Goedkeuringen
Toestemmingsverzoeken van Claude Code (en Codex) goedkeuren vanaf je telefoon
De gebruikelijke reden dat een agent geen voortgang meer boekt, is een toestemmingsverzoek dat niemand heeft gezien. Er zijn drie manieren om er een vanuit je broekzak te beantwoorden: de eigen pushmeldingen van Claude Code, een zelfgebouwde ntfy-hook, of een app met een inbox. Zo werkt elk voor Claude Code, dit verandert er voor Codex en andere agents, en dit kost elk je aan beveiliging.
Kort antwoord
Met een Pro-, Max-, Team- of Enterprise-abonnement start je Remote Control en zet je in /config Push when actions required aan. De Claude-app stuurt je dan een melding, en je beantwoordt het verzoek in de app. Als gratis, zelfgehost alternatief sturen open-source hooks zoals claude-remote-approver elk PermissionRequest naar ntfy, met knoppen om goed te keuren of te weigeren. Codex heeft dezelfde PermissionRequest-hook. Apps zoals Maude tonen verzoeken van meerdere agents in één inbox, met pushmeldingen die Sta toe/Weiger bevatten.
Wil Claude Code een commando uitvoeren of een bestand bewerken dat je niet vooraf hebt goedgekeurd, dan stopt het en vraagt het. Zit je achter de terminal, dan kost dat een seconde. Zo niet, dan wacht de sessie, wat kan betekenen dat er een uur op één toetsaanslag wordt gewacht. Elke opzet voor goedkeuring op afstand brengt het verzoek naar je telefoon en je antwoord terug naar de agent. Ze verschillen in hoe het verzoek wordt onderschept, welke weg het aflegt en wie het kan beantwoorden.
Hoe goedkeuring op afstand werkt
Er zijn twee mechanismen, en elke tool gebruikt er een van.
- Het eigen protocol van de agent voor op afstand. Remote Control van Claude Code stuurt het echte toestemmingsdialoog door naar de Claude-app. Remote Control van Antigravity en de app-server van Codex werken op dezelfde manier. Niets ertussen beslist iets: je beantwoordt het eigen verzoek van de agent.
- Hooks. Claude Code draait op vaste momenten een programma dat jij configureert. Een
PermissionRequest-hook gaat af wanneer er een toestemmingsdialoog op het punt staat te verschijnen, en kan voor jou antwoorden door een beslissing te printen zoals{"behavior": "allow"}of"deny". EenPreToolUse-hook gaat af vóór elke toolaanroep en kanallow,deny,askofdeferteruggeven. Een hook die een push stuurt en op je tik wacht, is hoe elke zelfgebouwde goedkeuringstool voor de telefoon werkt. De details staan in de referentie voor hooks.
Native push in Claude Code
De eigen route van Anthropic loopt via Remote Control:
- Start een sessie met
claude remote-control(servermodus) ofclaude --remote-control, of typ/remote-controlin een lopende sessie. - Log op je telefoon met hetzelfde account in bij de Claude-app en sta meldingen toe.
- Voer in de terminal
/configuit en zet Push when actions required aan, wat toestemmingsverzoeken en vragen dekt. Push when Claude decides dekt proactieve updates zoals “tests klaar”.
De documentatie noemt een paar dingen waar je tegenaan loopt:
- Abonnementen en authenticatie. Remote Control zit in Pro, Max, Team en Enterprise, en API-sleutels worden niet ondersteund. Bij Team en Enterprise moet een Owner het aanzetten.
- Verzoeken verlopen niet. Toestemmingsverzoeken en vragen blijven open tot je ze beantwoordt.
- Push pauzeert als je achter de terminal zit. Claude Code slaat push over terwijl je typt in de verbonden terminal of die in focus hebt.
CLAUDE_CLIENT_PRESENCE_FILEbreidt dat uit naar elk moment dat je achter de machine zit. - Het proces moet blijven leven. Het
claude-proces moet blijven draaien, dus start het op een server binnen tmux. - Sommige modi zijn vanuit de app taboe. Volgens de mobiele documentatie kun je in de app geen Bypass permissions kiezen, en ook geen Auto voor een Remote Control-sessie.
Heb je een Claude-abonnement en gebruik je alleen Claude Code, begin dan hier. Het is gratis bij je abonnement en wordt onderhouden door Anthropic.
Zelf bouwen met ntfy-hooks
ntfy is een open-source pushdienst. Je publiceert naar een topic met een gewoon HTTP-verzoek, en de ntfy-app op je telefoon toont het. Verschillende open-sourceprojecten combineren het met een PermissionRequest-hook. De hook post de wachtende toolaanroep met actieknoppen naar je topic, wacht op een tweede topic op je tik, en print de beslissing terug naar Claude Code. Eer wie eer toekomt:
| Project | Hook | Als je niet antwoordt | Opmerkingen |
|---|---|---|---|
| claude-remote-approver (yuuichieguchi) | PermissionRequest | Valt na 120 s (300 s voor planreviews) terug op het verzoek in de terminal | npm install -g claude-remote-approver; genereert een willekeurig 128-bit-topic; Approve / Always Approve / Deny |
| claude-push (coa00) | PermissionRequest | Valt na 90 s (instelbaar) terug op de terminal | Installatiescript voor de shell; Allow / Deny |
| claude-code-phone-notifications (ssarnecki) | PermissionRequest, PreToolUse, Stop | Wacht ongeveer 9 minuten en valt dan terug op de terminal | Wacht 30 s voor de push voor het geval je achter je bureau zit; pusht ook AskUserQuestion-verzoeken (zonder knoppen) |
| hookline (tsyche) | PreToolUse voor Claude; PermissionRequest voor Codex | Standaard 15 minuten, met een langer venster voor late antwoorden | Dekt ook Codex, Grok en OpenCode; ondersteunt een zelfgehoste ntfy met inloggegevens |
Alle vier hebben een MIT-licentie. De timeouts zijn hun gedocumenteerde standaardwaarden. Wil je alleen een seintje, zonder op afstand te antwoorden, dan volstaat de Notification-hook van Claude Code. De matcher permission_prompt gaat af wanneer er een dialoog verschijnt:
{
"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" }
]
}
]
}
}
Zet dat in ~/.claude/settings.json op de machine waarop Claude Code draait. Om te antwoorden moet je nog steeds naar een terminal. De projecten hierboven voegen de weg terug voor het antwoord toe.
De inbox van Maude
Maude kiest de eerste aanpak. De daemon op je server praat het eigen protocol van elke agent, dus een toestemmingsverzoek bereikt de app als het echte verzoek in plaats van als gok van een hook. Verzoeken uit elke sessie op elke server komen in één inbox terecht, naast fouten en afgerond werk. Je kunt daar inline antwoorden, of direct vanuit de pushmelding, die Sta toe en Weiger bevat. Een verzoek wacht tot je antwoordt; de sessie verloopt niet en gaat niet zonder jou verder. Het werkt voor Claude Code, Codex, OpenCode en Grok Build. Antigravity is de uitzondering: headless kan agy niet pauzeren voordat een tool draait, dus Maude toont de geweigerde actie achteraf en probeert hem opnieuw als je hem toestaat. Maude is een betaalde app, en elke agent heeft een eigen account nodig. Het is niet de enige app met een inbox en push: onder meer Happier heeft ze allebei.
Codex en andere agents
- Codex heeft ook hooks, standaard ingeschakeld. Een
PermissionRequest-hook kan antwoorden met"behavior": "allow"of"deny", enPreToolUsekan weigeren. Ze staan in~/.codex/hooks.jsonof onder[hooks]inconfig.toml. Dat gebruikt hookline voor Codex. De oudere instellingnotifyvan Codex draait een programma als een beurt klaar is. Beschrijvingen van derden melden dat die niet afgaat bij goedkeuringsverzoeken, dus gebruik hooks voor goedkeuringen. Voor de officiële telefoonroute van Codex en de beperkingen op Linux, zie Codex CLI op een VPS. - Antigravity beantwoordt verzoeken vanuit het Remote Control-dashboard als je het interactief of als daemon draait. Headless weigert
agyin plaats van te vragen. Zie Antigravity CLI op een server. - OpenCode en Grok Build worden gedekt door de plugin- en hookondersteuning van hookline, of door multi-agentapps.
Beveiliging van goedkeuring op afstand
Een goedkeuring vanaf je telefoon is zo sterk als de zwakste schakel tussen het verzoek en je tik.
- Op ntfy.sh is het topic het wachtwoord. De documentatie van ntfy zegt het direct: zonder registratie kan iedereen die een topicnaam kent het lezen en erin publiceren. Op een publieke server betekent een geraden topic dat iemand anders de commando's van je agent kan goedkeuren. Gebruik een lang, willekeurig topic, of host ntfy zelf met authenticatie.
- Lees het commando, niet de titel. Een push op het vergrendelscherm toont een samenvatting. Een
rm -rfin een lange Bash-regel mis je makkelijk op een scherm van 6 inch. Gebruik “altijd toestaan” voor alleen-lezen-tools, niet voorBash(*). - Ken je terugvaloptie. De zelfgebouwde hooks hierboven vallen na hun timeout terug op het verzoek in de terminal, dus een onbeantwoord verzoek blokkeert in plaats van automatisch goed te keuren. Schrijf je eigen hook met dezelfde regel. De documentatie van Claude Code waarschuwt dat een verlopen
PreToolUse-hook de toolaanroep niet blokkeert, die dan gewoon de normale toestemmingsflow doorloopt, dus reken niet op een vastgelopen hook als slot. - Beveilig het kanaal. Goedkeuringsverkeer verraadt wat je agent doet. Remote Control van Anthropic gaat via de servers van Anthropic, en de relay van Maude ziet alleen end-to-end versleuteld verkeer. Met een hook kies je zelf waar het heen gaat. De instelling Require trusted devices van Anthropic beperkt welke apparaten Remote Control mogen gebruiken.
- Goedkeuringen zijn een vangnet, geen sandbox. De agent draaien als gebruiker zonder root op een machine die je kunt herbouwen, doet er meer toe dan welke goedkeurings-UI ook. Zie agents veilig met volledige toestemmingen draaien.
Beantwoord ze vanuit Maude
Draaien je agents op een server en wil je één plek om ze allemaal te beantwoorden, probeer dan Maude met Claude Code of Codex. Voeg de server toe vanuit de app, log in met je eigen abonnement, en toestemmingsverzoeken komen binnen als pushmeldingen met Sta toe en Weiger. De inbox verzamelt alles wat op je wacht.
Veelgestelde vragen
Kan Claude Code pushmeldingen sturen?
/config Push when actions required aan (en optioneel Push when Claude decides). Het vereist een Pro-, Max-, Team- of Enterprise-abonnement; logins met een API-sleutel worden niet ondersteund.Kan ik vanaf het vergrendelscherm toestaan of weigeren?
Wat gebeurt er als ik niet antwoord?
PreToolUse-hook blokkeert de toolaanroep niet.Werkt dit voor Codex?
PermissionRequest-hook die kan toestaan of weigeren, en projecten zoals hookline gebruiken die om goedkeuringen van Codex naar ntfy te sturen. De instelling notify van Codex dekt volgens berichten van derden alleen afgeronde beurten, dus gebruik hooks voor goedkeuringen.Is het veilig om commando's vanaf mijn telefoon goed te keuren?
Wat is er veranderd
- — Eerste publicatie. Gedrag van Remote Control en hooks gecontroleerd aan de hand van de documentatie van Anthropic en OpenAI; repodetails en standaardwaarden op deze datum uit de README van elk project.