macOS 权限授权与应用的代码签名、Bundle ID 和磁盘路径绑定。任何一项变化都会导致 macOS 将应用视为新应用,可能丢失权限。

稳定权限的要求

  • 固定路径:从固定位置运行应用(dist/OpenClaw.app)
  • 固定 Bundle ID:更改 Bundle ID 会创建新的权限身份
  • 已签名应用:未签名或 ad-hoc 签名的构建不会持久化权限
  • 一致签名:使用真实的 Apple Development 或 Developer ID 证书

Ad-hoc 签名每次构建生成新身份,macOS 会忘记之前的授权,提示可能完全消失。

权限丢失恢复步骤

  1. 退出应用
  2. 在 System Settings → Privacy & Security 中移除应用条目
  3. 从相同路径重新启动应用并重新授权
  4. 如果提示仍不出现,用 tccutil 重置 TCC 条目后重试
  5. 某些权限只有在完整重启 macOS 后才会重新出现
# 重置特定权限(替换 Bundle ID)
sudo tccutil reset Accessibility ai.openclaw.mac
sudo tccutil reset ScreenCapture ai.openclaw.mac
sudo tccutil reset AppleEvents

文件和文件夹权限

macOS 可能对 Desktop/Documents/Downloads 目录设置访问限制。如果文件读取或目录列表挂起,将文件移到 OpenClaw workspace 可绕过此限制:

~/.openclaw/workspace

相关链接