com um clique
yolo
Set up PermissionRequest hooks for the current project or user
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Set up PermissionRequest hooks for the current project or user
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
| name | yolo |
| description | Set up PermissionRequest hooks for the current project or user |
Set up a PermissionRequest hook that auto-handles permission prompts.
/yolo approve-all — auto-approve everything (no security review)/yolo approve-websearch — auto-approve WebSearch and WebFetch only; all other tools fall through to the normal permission dialog/yolo review — route each permission request to Claude for security review via claude -p/yolo off — remove the PermissionRequest hook--global to any command to apply to ~/.claude/settings.json instead of the project's .claude/settings.local.jsonIf no argument is given, default to review.
Determine the target settings file:
--global is in the arguments: ~/.claude/settings.json.claude/settings.local.json in the project rootRead the target settings file. If it doesn't exist, start with {}.
Based on the mode:
approve-allSet hooks.PermissionRequest in the settings to:
[
{
"hooks": [
{
"type": "command",
"command": "INPUT=$(cat); TOOL=$(echo \"$INPUT\" | grep -o '\"tool_name\":\"[^\"]*\"' | head -1 | sed 's/\"tool_name\":\"//;s/\"//'); if [ \"$TOOL\" = \"AskUserQuestion\" ]; then echo '{}'; else echo '{\"hookSpecificOutput\":{\"hookEventName\":\"PermissionRequest\",\"decision\":{\"behavior\":\"allow\"}}}'; fi"
}
]
}
]
approve-websearchSet hooks.PermissionRequest in the settings to:
[
{
"hooks": [
{
"type": "command",
"command": "INPUT=$(cat); TOOL=$(echo \"$INPUT\" | grep -o '\"tool_name\":\"[^\"]*\"' | head -1 | sed 's/\"tool_name\":\"//;s/\"//'); if [ \"$TOOL\" = \"AskUserQuestion\" ]; then echo '{}'; elif [ \"$TOOL\" = \"WebSearch\" ] || [ \"$TOOL\" = \"WebFetch\" ]; then echo '{\"hookSpecificOutput\":{\"hookEventName\":\"PermissionRequest\",\"decision\":{\"behavior\":\"allow\"}}}'; else echo '{}'; fi"
}
]
}
]
reviewFirst, create .claude/hooks/permission-review.sh in the target location (project root or ~/.claude/hooks/ for global) with the contents of permission-review.sh. Make it executable.
Then set hooks.PermissionRequest in the settings to:
[
{
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/permission-review.sh",
"timeout": 30
}
]
}
]
For --global, use the absolute path ~/.claude/hooks/permission-review.sh instead of $CLAUDE_PROJECT_DIR.
offRemove the PermissionRequest key from hooks in the settings. If hooks is then empty, remove hooks too.
Write the updated settings file, preserving all other keys (permissions, etc.).
Tell the user to restart their Claude Code session for hooks to take effect.