Permissions macOS (TCC)
Les autorisations macOS sont fragiles. TCC associe une autorisation à la signature du code de l’application, à son identifiant de bundle et à son chemin sur le disque. Si l’un de ces éléments change, macOS traite l’application comme nouvelle et peut supprimer ou masquer les invites.Exigences pour des permissions stables
- Même chemin : exécutez l’application depuis un emplacement fixe (pour OpenClaw,
dist/OpenClaw.app). - Même identifiant de bundle : changer l’identifiant de bundle crée une nouvelle identité de permission.
- Application signée : les builds non signées ou signées ad hoc ne conservent pas les permissions.
- Signature cohérente : utilisez un vrai certificat Apple Development ou Developer ID afin que la signature reste stable d’une reconstruction à l’autre.
Checklist de récupération lorsque les invites disparaissent
- Quittez l’application.
- Supprimez l’entrée de l’application dans Réglages système -> Confidentialité et sécurité.
- Relancez l’application depuis le même chemin et réaccordez les permissions.
- Si l’invite n’apparaît toujours pas, réinitialisez les entrées TCC avec
tccutilet réessayez. - Certaines permissions ne réapparaissent qu’après un redémarrage complet de macOS.
Permissions fichiers et dossiers (Desktop/Documents/Downloads)
macOS peut aussi protéger Desktop, Documents et Downloads pour les processus terminal/arrière-plan. Si les lectures de fichiers ou les listes de répertoires se bloquent, accordez l’accès au même contexte de processus qui effectue les opérations sur fichiers (par exemple Terminal/iTerm, application lancée par LaunchAgent ou processus SSH). Solution de contournement : déplacez les fichiers dans l’espace de travail OpenClaw (~/.openclaw/workspace) si vous voulez éviter des autorisations par dossier.
Si vous testez les permissions, signez toujours avec un vrai certificat. Les builds ad hoc
ne sont acceptables que pour des exécutions locales rapides où les permissions n’ont pas d’importance.