macOS companion app
macOS-machtigingen
macOS-toestemmingsverleningen zijn kwetsbaar. TCC koppelt een verleende toestemming aan de codehandtekening, bundel-ID en het pad op schijf van de app. Als een daarvan verandert, behandelt macOS de app als nieuw en kan het toestemmingsvragen verwijderen of verbergen.
Vereisten voor stabiele toestemmingen
- Zelfde pad: voer de app uit vanaf een vaste locatie (voor OpenClaw,
dist/OpenClaw.app). - Zelfde bundel-ID: het wijzigen van de bundel-ID maakt een nieuwe toestemmingsidentiteit aan.
- Ondertekende app: niet-ondertekende of ad-hoc ondertekende builds behouden toestemmingen niet.
- Consistente handtekening: gebruik een echt Apple Development- of Developer ID-certificaat zodat de handtekening stabiel blijft tussen rebuilds.
Ad-hoc handtekeningen genereren bij elke build een nieuwe identiteit. macOS vergeet eerdere verleningen, en toestemmingsvragen kunnen volledig verdwijnen totdat de verouderde vermeldingen zijn gewist.
Herstelchecklist wanneer toestemmingsvragen verdwijnen
- Sluit de app af.
- Verwijder de app-vermelding in Systeeminstellingen -> Privacy en beveiliging.
- Start de app opnieuw vanaf hetzelfde pad en verleen de toestemmingen opnieuw.
- Als de toestemmingsvraag nog steeds niet verschijnt, reset dan TCC-vermeldingen met
tccutilen probeer het opnieuw. - Sommige toestemmingen verschijnen pas opnieuw na een volledige macOS-herstart.
Voorbeeldresets (vervang de bundel-ID waar nodig):
sudo tccutil reset Accessibility ai.openclaw.mac
sudo tccutil reset ScreenCapture ai.openclaw.mac
sudo tccutil reset AppleEvents
Bestands- en maptoestemmingen (Bureaublad/Documenten/Downloads)
macOS kan ook Bureaublad, Documenten en Downloads afschermen voor terminal-/achtergrondprocessen. Als het lezen van bestanden of het weergeven van mappen blijft hangen, verleen dan toegang aan dezelfde procescontext die bestandsbewerkingen uitvoert (bijvoorbeeld Terminal/iTerm, een door LaunchAgent gestarte app of een SSH-proces).
Tijdelijke oplossing: verplaats bestanden naar de OpenClaw-werkruimte (~/.openclaw/workspace) als je toestemmingen per map wilt vermijden.
Als je toestemmingen test, onderteken dan altijd met een echt certificaat. Ad-hoc builds zijn alleen acceptabel voor snelle lokale runs waarbij toestemmingen er niet toe doen.