permissões do macOS (TCC)
As concessões de permissão no macOS são frágeis. O TCC associa uma concessão de permissão à assinatura de código do app, ao identificador de bundle e ao caminho no disco. Se qualquer um desses mudar, o macOS trata o app como novo e pode descartar ou ocultar os prompts.Requisitos para permissões estáveis
- Mesmo caminho: execute o app a partir de um local fixo (para o OpenClaw,
dist/OpenClaw.app). - Mesmo identificador de bundle: alterar o ID do bundle cria uma nova identidade de permissão.
- App assinado: builds sem assinatura ou com assinatura ad-hoc não persistem permissões.
- Assinatura consistente: use um certificado real Apple Development ou Developer ID para que a assinatura permaneça estável entre rebuilds.
Checklist de recuperação quando os prompts desaparecem
- Encerre o app.
- Remova a entrada do app em Ajustes do Sistema -> Privacidade e Segurança.
- Reabra o app a partir do mesmo caminho e conceda as permissões novamente.
- Se o prompt ainda não aparecer, redefina as entradas do TCC com
tccutile tente novamente. - Algumas permissões só reaparecem após uma reinicialização completa do macOS.
Permissões de Arquivos e Pastas (Mesa/Documents/Downloads)
O macOS também pode restringir Mesa, Documentos e Downloads para processos de terminal/em segundo plano. Se leituras de arquivos ou listagens de diretórios travarem, conceda acesso ao mesmo contexto de processo que executa as operações de arquivo (por exemplo, Terminal/iTerm, app iniciado por LaunchAgent ou processo SSH). Solução alternativa: mova os arquivos para o workspace do OpenClaw (~/.openclaw/workspace) se você quiser evitar concessões por pasta.
Se você estiver testando permissões, sempre assine com um certificado real. Builds ad-hoc
são aceitáveis apenas para execuções locais rápidas em que permissões não importam.