CLI commands
Aprovações
openclaw approvals
Gerencie as aprovações de execução para o host local, host do Gateway ou um host de Node. Sem uma opção de destino, os comandos leem/gravam o arquivo local de aprovações no disco. Use --gateway para direcionar ao Gateway ou --node <id|name|ip> para direcionar a um Node específico.
Alias: openclaw exec-approvals
Relacionados: Aprovações de execução, Nodes
openclaw exec-policy
openclaw exec-policy é o comando de conveniência exclusivo para uso local que mantém a configuração solicitada de tools.exec.* e o arquivo de aprovações do host local sincronizados em uma única etapa:
openclaw exec-policy showopenclaw exec-policy show --json openclaw exec-policy preset yoloopenclaw exec-policy preset cautious --json openclaw exec-policy set --host gateway --security full --ask off --ask-fallback fullAs predefinições (yolo, cautious, deny-all) aplicam host, security, ask e askFallback em conjunto. set aplica somente as opções que você informar; cada valor aceito é validado (--host auto|sandbox|gateway|node, --security deny|allowlist|full, --ask off|on-miss|always, --ask-fallback deny|allowlist|full).
Escopo:
- Atualiza em conjunto o arquivo de configuração local e o arquivo de aprovações local; não envia a política ao Gateway nem a um host de Node.
--host nodeé rejeitado: as aprovações de execução do Node são obtidas do Node em tempo de execução, portanto oexec-policylocal não pode sincronizá-las. Em vez disso, useopenclaw approvals set --node <id|name|ip>.exec-policy showmarca os escopos comhost=nodecomo gerenciados pelo Node em tempo de execução, em vez de derivar uma política efetiva do arquivo de aprovações local.
Para aprovações de hosts remotos, use diretamente openclaw approvals set --gateway ou openclaw approvals set --node <id|name|ip>.
Comandos comuns
openclaw approvals getopenclaw approvals get --node <id|name|ip>openclaw approvals get --gatewayget mostra a política de execução efetiva para o destino: a política solicitada de tools.exec, a política do arquivo de aprovações do host e o resultado efetivo combinado. Nodes com uma política nativa do host, como o aplicativo complementar para Windows, mostram essa política diretamente, em vez de aplicar a lógica de combinação da política do arquivo de aprovações do OpenClaw.
Para Nodes baseados em arquivo, a visualização combinada exige um instantâneo da política resolvido pelo host. Nodes mais antigos mostram a política efetiva como indisponível, em vez de presumir que a política solicitada pelo Gateway também se aplica ao host.
Precedência:
- O arquivo de aprovações do host é a fonte da verdade aplicável.
- A política solicitada de
tools.execpode restringir ou ampliar a intenção, mas o resultado efetivo é derivado das regras do host. --nodecombina o arquivo de aprovações do host de Node com a políticatools.execdo Gateway (ambos se aplicam em tempo de execução).- Se a configuração do Gateway estiver indisponível, a CLI usa como alternativa o instantâneo de aprovações do Node e informa que não foi possível calcular a política final de tempo de execução.
Substituir aprovações a partir de um arquivo
openclaw approvals set --file ./exec-approvals.jsonopenclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" } }EOFopenclaw approvals set --node <id|name|ip> --file ./exec-approvals.jsonopenclaw approvals set --gateway --file ./exec-approvals.jsonset aceita JSON5, não apenas JSON estrito. Use --file ou --stdin, mas não ambos.
Nodes Windows nativos do host usam seu próprio formato de política:
openclaw approvals set --node <id|name|ip> --stdin <<'EOF'{ defaultAction: "deny", rules: [{ pattern: "hostname", action: "allow" }]}EOFA CLI primeiro lê o hash atual do Node e o envia com a atualização, de modo que edições locais simultâneas sejam rejeitadas em vez de sobrescritas. rules é obrigatório porque essa operação substitui a lista completa de regras do Node; defaultAction é opcional. Um Node que informe sua política nativa como desativada não pode ser configurado remotamente; primeiro habilite ou configure a política nesse host. Políticas nativas do host não oferecem suporte aos auxiliares allowlist add|remove.
Exemplo de "nunca perguntar" / YOLO
Defina os padrões de aprovação do host como full + off para um host que nunca deve ser interrompido por aprovações de execução:
openclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOFPara Nodes que expõem um arquivo de aprovações do OpenClaw, use o mesmo corpo com openclaw approvals set --node <id|name|ip> --stdin. Nodes nativos do host exigem o formato específico do proprietário mostrado anteriormente.
Isso altera apenas o arquivo de aprovações do host. Para manter alinhada a política solicitada do OpenClaw, defina também:
openclaw config set tools.exec.host gatewayopenclaw config set tools.exec.security fullopenclaw config set tools.exec.ask offtools.exec.host=gateway é explícito aqui porque host=auto ainda significa "sandbox quando disponível; caso contrário, Gateway": YOLO diz respeito às aprovações, não ao roteamento. Use gateway (ou /exec host=gateway) quando quiser executar no host mesmo com um sandbox configurado.
Quando omitido, askFallback usa deny como padrão. Defina askFallback: "full" explicitamente ao atualizar um host sem interface que deve manter o comportamento de nunca solicitar confirmação.
Atalho local para a mesma finalidade, apenas na máquina local:
openclaw exec-policy preset yoloAuxiliares da lista de permissões
openclaw approvals allowlist add "~/Projects/**/bin/rg"openclaw approvals allowlist add --agent main --node <id|name|ip> "/usr/bin/uptime"openclaw approvals allowlist add --agent "*" "/usr/bin/uname" openclaw approvals allowlist remove "~/Projects/**/bin/rg"Opções comuns
get, set e allowlist add|remove oferecem suporte a:
--node <id|name|ip>(resolve ID, nome, IP ou prefixo do ID; usa o mesmo resolvedor deopenclaw nodes)--gateway- opções compartilhadas de RPC do Node:
--url,--token,--timeout,--json
Sem uma opção de destino, é usado o arquivo local de aprovações no disco.
allowlist add|remove também oferece suporte a --agent <id> (o padrão é "*", aplicando-se a todos os agentes).
Observações
- O host de Node deve anunciar
system.execApprovals.get/set(aplicativo para macOS, host de Node sem interface gráfica ou aplicativo complementar para Windows). - Os arquivos de aprovações são armazenados por host no diretório de estado do OpenClaw:
$OPENCLAW_STATE_DIR/exec-approvals.jsonou~/.openclaw/exec-approvals.jsonquando a variável não está definida.