権限プロンプトをフックで制御したい
11. フックコマンド / 機能
PermissionRequest権限ダイアログのカスタム処理
概要
PermissionRequest フックは権限確認ダイアログが表示される前に発火します。hookSpecificOutput.decision.behavior で allow/deny を自動判断する処理を実装できます。
設定例
// .claude/settings.json
{
"hooks": {
"PermissionRequest": [
{
"hooks": [
{
"type": "command",
"command": ".claude/hooks/auto-approve.sh"
}
]
}
]
}
}
// auto-approve.sh の出力例(許可する場合)
echo '{"hookSpecificOutput":{"decision":{"behavior":"allow"}}}'
// 拒否する場合
echo '{"hookSpecificOutput":{"decision":{"behavior":"deny"}}}'こんな時に使う
- 特定条件の権限リクエストを自動で許可・拒否したい時
- CI/CD でインタラクティブな権限確認をスキップしたい時
使い方
- 1hooks.PermissionRequest にフックを定義
- 2フックスクリプトが JSON で allow/deny を返す
- 3それ以外の場合は通常の権限ダイアログが表示される
Tips
- 非インタラクティブな環境での自動化に有効
- --permission-prompt-tool との組み合わせも可能