II.
HookSurface overview
Reference · livehook-surface:claude.permission-request
PermissionRequest (Claude Code) overview
Fires when the permission dialog is about to be shown to the user. Subscribers can short-circuit the dialog by returning a decision (allow/deny). Output may also include updatedPermissions to write new rules to settings. Distinct from PreToolUse — only fires when the permission dialog would appear; PreToolUse fires for every tool call.
Attributes
eventName
PermissionRequest (Claude Code)
displayName
PermissionRequest (Claude Code)
kind
native
originVendor
Anthropic
direction
pre
blocking
true
family
in-process
payloadSchema
type
object
required
- hook_event_name
- tool_name
- tool_input
properties
hook_event_name
type
string
const
PermissionRequest
tool_name
type
string
tool_input
type
object
permission_suggestions
type
array
items
type
object
properties
type
type
string
const
addRules
rules
type
array
behavior
type
string
enum
- allow
- deny
- ask
destination
type
string
enum
- localSettings
- projectSettings
description
Fires when the permission dialog is about to be shown to the user.
Subscribers can short-circuit the dialog by returning a decision
(allow/deny). Output may also include updatedPermissions to write new
rules to settings. Distinct from PreToolUse — only fires when the
permission dialog would appear; PreToolUse fires for every tool call.
Outgoing edges
None.
Incoming edges
exposes1
- agent-runtime-impl:claude-code.runtime@1.x·AgentRuntimeImplClaude Code Runtime (1.x)
maps_hook1
- hook-mapping:claude-permission-request·HookMapping