ClaudeCode.Hook.Output.PreToolUse (ClaudeCode v0.36.3)

View Source

Hook-specific output for PreToolUse events.

Controls whether a tool is allowed, denied, or requires user confirmation.

Shorthand: {:allow, []}, {:deny, permission_decision_reason: "..."}, {:ask, []}, or {:ok, additional_context: "..."} (no permission decision).

Fields

  • :permission_decision - "allow", "deny", or "ask"
  • :permission_decision_reason - explanation for the decision
  • :updated_input - replacement tool input map
  • :additional_context - extra context injected into the conversation

Summary

Types

permission_decision()

@type permission_decision() :: String.t()

t()

@type t() :: %ClaudeCode.Hook.Output.PreToolUse{
  additional_context: String.t() | nil,
  permission_decision: permission_decision() | nil,
  permission_decision_reason: String.t() | nil,
  updated_input: map() | nil
}

Functions

to_wire(o)