launchd Full Disk Access 設定手順書¶
目的¶
com.kudo.skills-snapshot LaunchAgent(毎日 03:30 起動)が、Google Drive 同期フォルダ(~/Library/CloudStorage/.../working/claude/kudo-skill-sync/skills/)に rsync で書き込めるようにする。
症状(修復前)¶
~/.claude/skills.git-mirror/snapshot.log に以下のエラーが残っていた:
━━━ Cloud mirror to GoogleDrive ━━━
rsync(54732): error: /Users/kudotakuma/Library/CloudStorage/GoogleDrive-.../working/claude/kudo-skill-sync/skills/: open: Operation not permitted
rsync(54730): error: unexpected end of file
Operation not permitted は macOS Privacy(TCC)保護による拒否。Terminal フォアグラウンド(工藤さんが直接コマンドを叩く場面)からは Drive に書ける(Stage 0/1-A で実証)が、launchd から起動された bash プロセスは「フルディスクアクセス」が付与されていない。
修復対象(3 アプローチ・推奨 A)¶
A)スクリプト本体を Full Disk Access に追加(推奨)¶
副作用が最小。auto-snapshot.sh 本体だけを許可。
- システム設定 を開く
- プライバシーとセキュリティ → フルディスクアクセス
- 鍵アイコンをクリック → Touch ID または管理者パスワードで認証
- リスト下の +(プラス) をクリック
- ファイル選択ダイアログで Cmd+Shift+G(ファイルパスを直接入力するショートカット)
- 以下のパスを貼り付け → 移動:
auto-snapshot.shを選択 → 開く- リストに
auto-snapshot.shが追加され、トグルが ON になっていることを確認
B)/bin/bash を Full Disk Access に追加(最後の手段)¶
副作用が大きい(bash で起動される全てのスクリプトが FDA を持つ)。A が機能しない場合の予備。
- システム設定 → プライバシーとセキュリティ → フルディスクアクセス
- 鍵 → 認証 → +
- Cmd+Shift+G →
/bin/bash→ 移動 → 開く
C)launchd 経由で「権限要求ダイアログ」を発生させてから許可(簡易)¶
- ターミナルで以下を実行(手動で LaunchAgent を発火):
- macOS が許可ダイアログを表示することがある(環境による)→ 許可 をクリック
- 表示されない場合は A に切り替え
設定後の検証(必ず実行)¶
設定変更だけでは反映されないことがあるため、必ず手動トリガーで確認:
# 1. 手動トリガー
launchctl kickstart gui/$(id -u)/com.kudo.skills-snapshot
# 2. ログ確認(数秒待ってから)
tail -30 ~/.claude/skills.git-mirror/snapshot.log
ログに以下が出ていれば成功:
━━━ Cloud mirror to GoogleDrive ━━━
Cloud mirror 2026-05-XX → /Users/kudotakuma/Library/CloudStorage/.../skills
失敗時のログ(再発時):
→ 再発時は A → B → C の順で試す。
関連事項¶
- Stage 1-A2 Problem 1 で、欠落していた 3 件(
kudo-ai-error-watchlist/kudo-mac-health-check/kudo-shared-storage-protocol)は Code が 手動 rsync で当座救済済み(2026-05-18) - 本設定が完了するまでは、
auto-snapshot.shの Cloud mirror 部分は失敗し続ける(local snapshot は成功) - 本設定完了後、
auto-snapshot.shは毎日 03:30 に Drive まで完全同期する - 副次効果として
regenerate_ssot_map.pyの入力(Drive canonical)も常に最新になる
トラブルシュート¶
A を設定したのに Operation not permitted が再発¶
- macOS Sonoma / Sequoia / Tahoe では一度ログアウト・再ログインで TCC キャッシュをクリアすると反映されることがある
tccutil reset SystemPolicyAllFiles com.kudo.skills-snapshotで TCC をリセットしてから A を再設定
auto-snapshot.sh パスが Finder で見つからない¶
.claudeは隠しフォルダ。Finder で Cmd+Shift+. で隠しフォルダ表示- もしくは Cmd+Shift+G で
~/.claude/skills.git-mirror/を直接入力
LaunchAgent が動いていない疑い¶
- または 0 が表示されれば登録済み。表示されない場合:
で再登録。