Les autorisations macOS sont fragiles. TCC associe une autorisation à la signature du code de l’app, à l’identifiant de bundle et à son chemin sur le disque. Si l’un de ces éléments change, macOS considère l’app comme nouvelle et peut supprimer ou masquer les invites.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.
Exigences pour des permissions stables
- Même chemin : exécutez l’app 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.
- App signée : les builds non signés ou signés 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 entre les reconstructions.
Checklist de récupération lorsque les invites disparaissent
- Quittez l’app.
- Supprimez l’entrée de l’app dans Réglages Système -> Confidentialité et sécurité.
- Relancez l’app 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 restreindre Desktop, Documents et Downloads pour les processus terminal/arrière-plan. Si des lectures de fichiers ou des listages de répertoires se bloquent, accordez l’accès au même contexte de processus que celui qui exécute les opérations sur les fichiers (par exemple Terminal/iTerm, app 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.