con un clic
yolo
Set up PermissionRequest hooks for the current project or user
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Set up PermissionRequest hooks for the current project or user
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación 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.