Permissões do macOS (TCC)
As concessões de permissão do macOS são frágeis. O TCC associa uma concessão de permissão à assinatura de código do app, ao identificador do bundle e ao caminho em disco. Se qualquer um deles mudar, o macOS trata o app como novo e pode descartar ou ocultar 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 do bundle: alterar o ID do bundle cria uma nova identidade de permissão.
- App assinado: builds não assinadas ou assinadas ad hoc não persistem permissões.
- Assinatura consistente: use um certificado Apple Development ou Developer ID real para que a assinatura permaneça estável entre reconstruções.
Checklist de recuperação quando os prompts desaparecem
- Encerre o app.
- Remova a entrada do app em Ajustes do Sistema -> Privacidade e Segurança.
- Reinicie 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 de novo. - Algumas permissões só reaparecem após uma reinicialização completa do macOS.
Permissões de arquivos e pastas (Desktop/Documentos/Downloads)
O macOS também pode restringir Desktop, 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 iniciada por LaunchAgent ou processo SSH). Solução alternativa: mova os arquivos para o workspace do OpenClaw (~/.openclaw/workspace) se quiser evitar concessões por pasta.
Se você estiver testando permissões, sempre assine com um certificado real. Builds ad hoc
só são aceitáveis para execuções locais rápidas em que as permissões não importam.