ClaudeCode.Hook.PermissionDecision.Allow (ClaudeCode v0.36.3)

View Source

Allows a tool to execute, optionally with modified input or updated permissions.

Returned from :can_use_tool callbacks and PermissionRequest hooks.

Shorthand: :allow or {:allow, updated_input: %{...}}.

Fields

  • :updated_input - replacement tool input map (overrides the original)

  • :updated_permissions - list of permission rule maps to persist. Each map should contain a "type" key matching a CLI permission type, e.g.:

    [%{"type" => "toolAlwaysAllow", "tool" => "Bash"}]
    [%{"type" => "toolAlwaysDeny", "tool" => "Write"}]

Summary

Types

t()

@type t() :: %ClaudeCode.Hook.PermissionDecision.Allow{
  updated_input: map() | nil,
  updated_permissions: [map()] | nil
}

Functions

to_wire(o)