macOS companion app
macOS-machtigingen
macOS-machtigingen zijn kwetsbaar. TCC koppelt een machtiging aan de codehandtekening, bundel-ID en locatie op schijf van de app. Als een daarvan verandert, beschouwt macOS de app als nieuw en worden prompts mogelijk verwijderd of verborgen.
Vereisten voor stabiele machtigingen
- Hetzelfde pad: voer de app uit vanaf een vaste locatie (voor OpenClaw:
dist/OpenClaw.app). - Dezelfde bundel-ID: de bundel-ID van OpenClaw is
ai.openclaw.mac; als u deze wijzigt, ontstaat een nieuwe machtigingsidentiteit. - Ondertekende app: bij niet-ondertekende of ad-hoc ondertekende builds blijven machtigingen niet behouden.
- Consistente handtekening: gebruik een echt Apple Development- of Developer ID-certificaat, zodat de handtekening bij nieuwe builds hetzelfde blijft.
Ad-hochandtekeningen genereren bij elke build een nieuwe identiteit. macOS vergeet eerdere machtigingen en prompts kunnen volledig verdwijnen totdat de verouderde vermeldingen zijn gewist.
Toegankelijkheidsmachtigingen voor Node- en CLI-runtimes
Geef bij voorkeur toegankelijkheidstoegang aan OpenClaw.app, Peekaboo.app of een andere ondertekende helper met een eigen bundel-ID, in plaats van aan een algemeen node-binair bestand.
macOS TCC verleent toegankelijkheidstoegang aan de code-identiteit van het proces dat het waarneemt. Als een workflow met Homebrew, nvm, pnpm of npm ertoe leidt dat een gedeeld uitvoerbaar node-bestand toegankelijkheidstoegang krijgt, kan elk JavaScript-pakket dat via datzelfde uitvoerbare bestand wordt gestart, bevoegdheden voor GUI-automatisering overnemen.
Beschouw een vermelding voor node in System Settings als een brede machtiging voor die Node-runtime, niet als een machtiging voor één npm-pakket. Verleen geen toegankelijkheidstoegang aan node, tenzij u elk script en pakket vertrouwt dat via precies die Node-installatie wordt gestart.
Als u per ongeluk toegankelijkheidstoegang aan node hebt verleend, verwijdert u die vermelding via System Settings -> Privacy & Security -> Accessibility. Verleen de machtiging vervolgens aan de ondertekende app of helper die verantwoordelijk moet zijn voor UI-automatisering.
Herstelcontrolelijst wanneer prompts verdwijnen
- Sluit de app.
- Verwijder de appvermelding in System Settings -> Privacy & Security.
- Start de app opnieuw vanaf hetzelfde pad en verleen de machtigingen opnieuw.
- Als de prompt nog steeds niet verschijnt, stelt u de TCC-vermeldingen opnieuw in met
tccutilen probeert u het opnieuw. - Sommige machtigingen verschijnen pas opnieuw nadat macOS volledig opnieuw is opgestart.
Voorbeelden van opnieuw instellen (met de bundel-ID van OpenClaw, ai.openclaw.mac):
sudo tccutil reset Accessibility ai.openclaw.macsudo tccutil reset ScreenCapture ai.openclaw.macsudo tccutil reset AppleEventsMachtigingen voor bestanden en mappen (Bureaublad/Documenten/Downloads)
macOS kan ook de toegang tot Bureaublad, Documenten en Downloads beperken voor terminal- en achtergrondprocessen. Als het lezen van bestanden of weergeven van mapinhoud blijft hangen, verleent u toegang aan dezelfde procescontext die de 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 u machtigingen per map wilt vermijden.
Als u machtigingen test, moet u altijd ondertekenen met een echt certificaat. Ad-hocbuilds zijn alleen geschikt voor snelle lokale uitvoeringen waarbij machtigingen niet van belang zijn.