Uitvoergoedkeuringen zijn de vangrail van de companion app / nodehost om een gesandboxte agent opdrachten op een echte host (Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
gateway of node) te laten uitvoeren. Een
veiligheidsvergrendeling: opdrachten zijn alleen toegestaan wanneer beleid + allowlist +
(optionele) gebruikersgoedkeuring allemaal overeenstemmen. Uitvoergoedkeuringen worden boven op
toolbeleid en verhoogde gating gestapeld (tenzij verhoogd is ingesteld op full, waarmee
goedkeuringen worden overgeslagen).
Effectief beleid is de strengere van
tools.exec.* en de standaardinstellingen voor goedkeuringen;
als een goedkeuringsveld wordt weggelaten, wordt de waarde van tools.exec
gebruikt. Hostuitvoering gebruikt ook de lokale goedkeuringsstatus op die machine — een
hostlokale ask: "always" in ~/.openclaw/exec-approvals.json blijft
vragen, zelfs als sessie- of configuratiestandaarden ask: "on-miss" aanvragen.Het effectieve beleid inspecteren
| Opdracht | Wat deze toont |
|---|---|
openclaw approvals get / --gateway / --node <id|name|ip> | Aangevraagd beleid, hostbeleidsbronnen en het effectieve resultaat. |
openclaw exec-policy show | Samengevoegde weergave van de lokale machine. |
openclaw exec-policy set / preset | Synchroniseer het lokaal aangevraagde beleid in één stap met het lokale hostgoedkeuringsbestand. |
host=node aanvraagt, rapporteert exec-policy show dat
bereik tijdens runtime als nodebeheerd in plaats van te doen alsof het lokale
goedkeuringsbestand de bron van waarheid is.
Als de UI van de companion app niet beschikbaar is, wordt elk verzoek dat
normaal om bevestiging zou vragen opgelost door de vraagfallback (standaard: deny).
Waar het van toepassing is
Uitvoergoedkeuringen worden lokaal afgedwongen op de uitvoeringshost:- Gateway-host →
openclaw-proces op de gateway-machine. - Node-host → node-runner (macOS companion app of headless nodehost).
Vertrouwensmodel
- Gateway-geauthenticeerde aanroepers zijn vertrouwde operators voor die Gateway.
- Gekoppelde nodes breiden die vertrouwde operatorcapaciteit uit naar de nodehost.
- Uitvoergoedkeuringen verminderen het risico op onbedoelde uitvoering, maar zijn geen authenticatiegrens per gebruiker.
- Goedgekeurde nodehost-runs binden canonieke uitvoeringscontext: canonieke cwd, exacte argv, env-binding wanneer aanwezig, en vastgezet pad naar uitvoerbaar bestand waar van toepassing.
- Voor shellscripts en directe interpreter-/runtimebestandaanroepen probeert OpenClaw ook één concreet lokaal bestandsoperand te binden. Als dat gebonden bestand na goedkeuring maar vóór uitvoering verandert, wordt de run geweigerd in plaats van gewijzigde inhoud uit te voeren.
- Bestandsbinding is bewust best-effort, geen volledig semantisch model van elk interpreter-/runtimeloaderpad. Als de goedkeuringsmodus niet precies één concreet lokaal bestand kan identificeren om te binden, weigert deze een door goedkeuring gedekte run aan te maken in plaats van volledige dekking te suggereren.
macOS-splitsing
- De nodehostservice stuurt
system.rundoor naar de macOS-app via lokale IPC. - De macOS-app dwingt goedkeuringen af en voert de opdracht uit in UI-context.
Instellingen en opslag
Goedkeuringen staan in een lokaal JSON-bestand op de uitvoeringshost:Beleidsknoppen
exec.security
deny— blokkeer alle hostuitvoerverzoeken.allowlist— sta alleen opdrachten op de allowlist toe.full— sta alles toe (equivalent aan verhoogd).
exec.ask
off— vraag nooit om bevestiging.on-miss— vraag alleen wanneer de allowlist niet overeenkomt.always— vraag bij elke opdracht. Duurzaam vertrouwen viaallow-alwaysonderdrukt vragen niet wanneer de effectieve vraagmodusalwaysis.
askFallback
Resolutie wanneer een prompt vereist is maar geen UI bereikbaar is.
deny— blokkeer.allowlist— sta alleen toe als de allowlist overeenkomt.full— sta toe.
tools.exec.strictInlineEval
Wanneer
true, behandelt OpenClaw inline code-eval-vormen als alleen met goedkeuring,
zelfs als het interpreterbinaire bestand zelf op de allowlist staat. Defense-in-depth
voor interpreterloaders die niet netjes naar één stabiel bestandsoperand
mappen.python -cnode -e,node --eval,node -pruby -eperl -e,perl -Ephp -rlua -eosascript -e
allow-always bewaart niet automatisch nieuwe allowlist-vermeldingen voor ze.
YOLO-modus (geen goedkeuring)
Als je hostuitvoering zonder goedkeuringsprompts wilt laten draaien, moet je beide beleidslagen openzetten — aangevraagd uitvoerbeleid in OpenClaw-configuratie (tools.exec.*) en hostlokaal goedkeuringsbeleid in
~/.openclaw/exec-approvals.json.
YOLO is het standaard hostgedrag tenzij je het expliciet aanscherpt:
| Laag | YOLO-instelling |
|---|---|
tools.exec.security | full op gateway/node |
tools.exec.ask | off |
Host askFallback | full |
--permission-mode bypassPermissions toe wanneer het door OpenClaw aangevraagde uitvoerbeleid
YOLO is. Overschrijf dat backendgedrag met expliciete Claude-argumenten
onder agents.defaults.cliBackends.claude-cli.args / resumeArgs —
bijvoorbeeld --permission-mode default, acceptEdits of
bypassPermissions.
Als je een conservatievere instelling wilt, zet dan een van beide lagen terug op
allowlist / on-miss of deny.
Permanente gatewayhostconfiguratie met “nooit vragen”
Lokale snelkoppeling
- Lokale
tools.exec.host/security/ask. - Lokale standaardwaarden van
~/.openclaw/exec-approvals.json.
openclaw approvals set --gateway of
openclaw approvals set --node <id|name|ip> om goedkeuringen van de gatewayhost of nodehost
op afstand te wijzigen.
Node-host
Pas voor een nodehost in plaats daarvan hetzelfde goedkeuringsbestand op die node toe:Beperkingen alleen lokaal:
openclaw exec-policysynchroniseert geen nodegoedkeuringen.openclaw exec-policy set --host nodewordt geweigerd.- Nodeuitvoergoedkeuringen worden tijdens runtime opgehaald van de node, dus nodegerichte updates moeten
openclaw approvals --node ...gebruiken.
Snelkoppeling alleen voor de sessie
/exec security=full ask=offwijzigt alleen de huidige sessie./elevated fullis een noodsnelkoppeling die ook uitvoergoedkeuringen voor die sessie overslaat.
Allowlist (per agent)
Allowlists zijn per agent. Als er meerdere agents bestaan, wissel dan in de macOS-app welke agent je bewerkt. Patronen zijn glob-overeenkomsten. Patronen kunnen opgeloste binaire padglobs zijn of kale opdrachtnaamglobs. Kale namen matchen alleen opdrachten die viaPATH worden aangeroepen, dus rg kan overeenkomen met
/opt/homebrew/bin/rg wanneer de opdracht rg is, maar niet met ./rg of
/tmp/rg. Gebruik een padglob wanneer je één specifieke binaire locatie
wilt vertrouwen.
Verouderde agents.default-vermeldingen worden bij het laden gemigreerd naar agents.main.
Shellketens zoals echo ok && pwd moeten nog steeds elk segment op topniveau
aan de allowlist-regels laten voldoen.
Voorbeelden:
rg~/Projects/**/bin/peekaboo~/.local/bin/*/opt/homebrew/bin/rg
| Veld | Betekenis |
|---|---|
id | Stabiele UUID gebruikt voor UI-identiteit |
lastUsedAt | Tijdstempel van laatst gebruik |
lastUsedCommand | Laatste opdracht die overeenkwam |
lastResolvedPath | Laatst opgeloste binaire pad |
Skill-CLI’s automatisch toestaan
Wanneer Skill-CLI’s automatisch toestaan is ingeschakeld, worden uitvoerbare bestanden waarnaar bekende Skills verwijzen behandeld alsof ze op de allowlist staan op nodes (macOS-node of headless nodehost). Dit gebruiktskills.bins via de Gateway-RPC om de
lijst met Skill-binaries op te halen. Schakel dit uit als je strikte handmatige allowlists wilt.
Veilige bins en goedkeuring doorsturen
Voor veilige bins (het snelle pad alleen via stdin), details over interpreterbinding en hoe je goedkeuringsprompts doorstuurt naar Slack/Discord/Telegram (of ze uitvoert als native goedkeuringsclients), zie Uitvoergoedkeuringen — geavanceerd.Bewerken in de Control UI
Gebruik de kaart Control UI → Nodes → Uitvoergoedkeuringen om standaardwaarden, per-agent-overschrijvingen en allowlists te bewerken. Kies een bereik (Standaardwaarden of een agent), pas het beleid aan, voeg allowlist-patronen toe of verwijder ze, en kies daarna Opslaan. De UI toont laatst-gebruikte metadata per patroon zodat je de lijst netjes kunt houden. De doelkeuze selecteert Gateway (lokale goedkeuringen) of een Node. Nodes moetensystem.execApprovals.get/set adverteren (macOS-app of
headless Node-host). Als een node nog geen exec-goedkeuringen adverteert,
bewerk dan rechtstreeks de lokale ~/.openclaw/exec-approvals.json.
CLI: openclaw approvals ondersteunt gateway- of nodebewerking — zie
Approvals CLI.
Goedkeuringsflow
Wanneer een prompt vereist is, broadcast de gatewayexec.approval.requested naar operatorclients. De Control UI en macOS-
app lossen dit op via exec.approval.resolve, waarna de gateway de
goedgekeurde aanvraag doorstuurt naar de nodehost.
Voor host=node bevatten goedkeuringsaanvragen een canonieke systemRunPlan-
payload. De gateway gebruikt dat plan als de gezaghebbende
command/cwd/session-context bij het doorsturen van goedgekeurde system.run-
aanvragen.
Dat is belangrijk voor asynchrone goedkeuringslatentie:
- Het node-exec-pad bereidt vooraf één canoniek plan voor.
- De goedkeuringsrecord bewaart dat plan en de bijbehorende bindingsmetadata.
- Na goedkeuring hergebruikt de uiteindelijk doorgestuurde
system.run-aanroep het opgeslagen plan in plaats van latere wijzigingen van de aanroeper te vertrouwen. - Als de aanroeper
command,rawCommand,cwd,agentIdofsessionKeywijzigt nadat de goedkeuringsaanvraag is aangemaakt, wijst de gateway de doorgestuurde run af als een goedkeuringsmismatch.
Systeemevents
De exec-levenscyclus wordt zichtbaar gemaakt als systeemberichten:Exec running(alleen als de opdracht de drempel voor de running-melding overschrijdt).Exec finished.Exec denied.
runId in deze
berichten voor eenvoudige correlatie.
Gedrag bij geweigerde goedkeuring
Wanneer een asynchrone exec-goedkeuring wordt geweigerd, voorkomt OpenClaw dat de agent uitvoer hergebruikt van een eerdere run van dezelfde opdracht in de sessie. De weigeringsreden wordt meegegeven met expliciete instructie dat er geen opdrachtuitvoer beschikbaar is, wat voorkomt dat de agent claimt dat er nieuwe uitvoer is of de geweigerde opdracht herhaalt met verouderde resultaten van een eerdere succesvolle run.Implicaties
fullis krachtig; geef waar mogelijk de voorkeur aan allowlists.askhoudt je betrokken en maakt toch snelle goedkeuringen mogelijk.- Per-agent allowlists voorkomen dat goedkeuringen van de ene agent naar andere agents lekken.
- Goedkeuringen zijn alleen van toepassing op host-exec-aanvragen van geautoriseerde afzenders. Niet-geautoriseerde afzenders kunnen geen
/execuitvoeren. /exec security=fullis een sessieniveau-gemak voor geautoriseerde operators en slaat goedkeuringen bewust over. Om host-exec hard te blokkeren, stel je approvals security in opdenyof weiger je deexec-tool via toolbeleid.
Gerelateerd
Exec-goedkeuringen — geavanceerd
Veilige bins, interpreterbinding en goedkeuringsdoorsturing naar chat.
Exec-tool
Tool voor het uitvoeren van shellopdrachten.
Verhoogde modus
Break-glass-pad dat ook goedkeuringen overslaat.
Sandboxing
Sandboxmodi en werkruimtetoegang.
Beveiliging
Beveiligingsmodel en verharding.
Sandbox versus toolbeleid versus verhoogd
Wanneer je elke besturing gebruikt.
Skills
Automatisch toestaan-gedrag ondersteund door Skills.