安定した権限を維持するための要件
- 同じパス: 固定の場所からアプリを起動してください。OpenClaw では
dist/OpenClaw.appを使用します。 - 同じバンドル ID: バンドル ID を変えると、新しい権限 ID として扱われます。
- 署名済みアプリ: 未署名または ad-hoc 署名のビルドでは、権限は永続化されません。
- 一貫した署名: 再ビルド後も同じ署名になるよう、実際の Apple Development 証明書または Developer ID 証明書を使用してください。
プロンプトが消えたときの復旧チェックリスト
- アプリを終了します。
- System Settings → Privacy & Security からアプリのエントリを削除します。
- 同じパスからアプリを再起動し、アクセス許可を再度付与します。
- それでもプロンプトが出ない場合は、
tccutilで TCC エントリをリセットして再試行します。 - 一部の権限は、macOS を完全に再起動しないと再表示されません。
ファイルとフォルダーのアクセス許可(Desktop / Documents / Downloads)
macOS は、ターミナルやバックグラウンド プロセスに対しても Desktop、Documents、Downloads へのアクセスを制限する場合があります。ファイル読み取りやディレクトリ一覧が固まる場合は、実際にファイル操作を行うプロセス コンテキストに対してアクセスを付与してください。たとえば Terminal / iTerm、LaunchAgent から起動されたアプリ、SSH プロセスなどが該当します。 回避策として、ファイルを OpenClaw workspace(~/.openclaw/workspace)へ移動すれば、フォルダー単位の許可を避けられます。
権限まわりを検証する場合は、必ず実際の証明書で署名してください。ad-hoc ビルドが許容されるのは、権限が重要でない短時間のローカル実行だけです。