[Bug]: macOS permission onboarding is weak for local integrations (Peekaboo / Reminders)
Summary
On macOS, some integrations fail with a permission error but do not provide a reliable in-app permission request flow or recovery path. I hit this with both Peekaboo and Reminders.
This makes the first-run experience confusing: the feature appears broken, but the real issue is missing system permissions.
Affected areas
- Peekaboo UI automation
- Reminders integration
Peekaboo repro
Environment
- macOS
- ClawX desktop app
- Peekaboo installed and available in PATH
Steps to reproduce
- Use ClawX / OpenClaw to test Peekaboo automation.
- Run a minimal command such as:
peekaboo permissions peekaboo see --annotate --path /tmp/peekaboo-test/see.png - Observe the result when Screen Recording / Accessibility has not been granted yet.
Actual result
peekaboo permissionsreports:- Screen Recording: Not Granted
- Accessibility: Not Granted
peekaboo see ...fails immediately with:Screen recording permission is required. Please grant it in System Settings > Privacy & Security > Screen Recording.
- There is no clear ClawX-guided recovery flow, and the system did not surface a helpful approval prompt in this path.
Expected result
- ClawX should clearly detect missing permission state and guide the user before the command fails.
- Ideally, ClawX should provide a dedicated permission-recovery UX:
- detect which permission is missing,
- show why it is needed,
- deep-link or guide to the exact macOS settings page,
- ask the user to retry after granting access.
Reminders problem
I previously ran into a similar problem with Reminders permission flow on macOS.
Related issue: #609 ([Bug]: 无法申请macOS Reminders提醒事项权限)
The broader problem seems to be: when a local macOS capability depends on TCC permissions, ClawX does not consistently provide a robust, user-friendly permission onboarding / recovery flow.
Why this matters
For users, this feels like a feature failure rather than a permission setup issue. The app should make these permission blockers obvious and recoverable.
Suggested fix
- Add a reusable macOS permission status layer for local capabilities.
- Before invoking permission-dependent tools, preflight the required permissions.
- Show a targeted UI explaining:
- which permission is missing,
- which feature needs it,
- exact steps to enable it,
- how to retry afterward.
- If possible, centralize this for:
- Accessibility
- Screen Recording
- Reminders
- Calendar
- Full Disk Access (where relevant)
Notes
This issue is intentionally broader than Peekaboo alone because the same UX gap appears to affect multiple macOS integrations.
Source: ValueCell-ai/ClawX