Persyaratan untuk izin yang stabil
- Jalur yang sama: jalankan aplikasi dari lokasi tetap (untuk OpenClaw,
dist/OpenClaw.app). - Pengenal bundel yang sama: mengubah ID bundel membuat identitas izin baru.
- Aplikasi bertanda tangan: build tanpa tanda tangan atau bertanda tangan ad-hoc tidak mempertahankan izin.
- Tanda tangan konsisten: gunakan sertifikat Apple Development atau Developer ID sungguhan agar tanda tangan tetap stabil di setiap rebuild.
Pemberian izin Aksesibilitas untuk runtime Node dan CLI
Sebaiknya berikan Aksesibilitas kepada OpenClaw.app, Peekaboo.app, atau helper bertanda tangan lain dengan pengenal bundelnya sendiri, bukan kepada binernode generik.
TCC macOS memberikan Aksesibilitas kepada identitas kode proses yang dilihatnya. Jika
alur kerja Homebrew, nvm, pnpm, atau npm menyebabkan executable node bersama
menerima Aksesibilitas, paket JavaScript apa pun yang diluncurkan melalui executable
yang sama dapat mewarisi hak istimewa otomatisasi GUI.
Perlakukan entri node di Pengaturan Sistem sebagai izin luas untuk runtime Node
tersebut, bukan sebagai izin untuk satu paket npm. Hindari memberikan Aksesibilitas kepada
node kecuali Anda memercayai setiap skrip dan paket yang diluncurkan melalui instalasi
Node yang persis sama.
Jika Anda tidak sengaja memberikan Aksesibilitas kepada node, hapus entri tersebut dari
Pengaturan Sistem -> Privasi & Keamanan -> Aksesibilitas. Lalu berikan izin kepada aplikasi
atau helper bertanda tangan yang seharusnya memiliki otomatisasi UI.
Daftar periksa pemulihan saat prompt hilang
- Keluar dari aplikasi.
- Hapus entri aplikasi di Pengaturan Sistem -> Privasi & Keamanan.
- Luncurkan ulang aplikasi dari jalur yang sama dan berikan ulang izin.
- Jika prompt masih tidak muncul, reset entri TCC dengan
tccutildan coba lagi. - Beberapa izin baru muncul kembali setelah macOS dimulai ulang sepenuhnya.
Izin file dan folder (Desktop/Documents/Downloads)
macOS juga dapat membatasi Desktop, Documents, dan Downloads untuk proses terminal/latar belakang. Jika pembacaan file atau daftar direktori macet, berikan akses kepada konteks proses yang sama yang melakukan operasi file (misalnya Terminal/iTerm, aplikasi yang diluncurkan LaunchAgent, atau proses SSH). Solusi sementara: pindahkan file ke workspace OpenClaw (~/.openclaw/workspace) jika Anda ingin menghindari pemberian izin per folder.
Jika Anda menguji izin, selalu tanda tangani dengan sertifikat sungguhan. Build ad-hoc
hanya dapat diterima untuk proses lokal cepat ketika izin tidak penting.