Skip approval dialogs for tool calls you always allow. A PermissionRequest hook fires when Claude Code is about to show a permission dialog. Return {"behavior": "allow"} to answer on your behalf. The matcher scopes the hook to specific tool names like 'ExitPlanMode'. Keep the matcher narrow to avoid auto-approving all prompts.
{
"hooks": {
"PermissionRequest": [
{
"matcher": "ExitPlanMode",
"hooks": [
{
"type": "command",
"command": "echo '{\"hookSpecificOutput\": {\"hookEventName\": \"PermissionRequest\", \"decision\": {\"behavior\": \"allow\"}}}'"
}
]
}
]
}
}