Packages
claude_code
0.36.2
0.36.5
0.36.4
0.36.3
0.36.2
0.36.1
0.36.0
0.35.0
0.34.0
0.33.1
0.32.2
0.32.0
0.31.0
0.30.0
0.29.0
0.28.0
0.27.0
0.26.0
0.25.0
0.24.0
0.23.0
0.22.0
0.21.0
0.20.0
0.19.0
0.18.0
0.17.0
0.16.0
0.15.0
0.14.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.0
0.11.0
0.10.0
0.9.0
0.8.1
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
Claude Agent SDK for Elixir – Build AI agents with Claude Code
Current section
Files
Jump to
Current section
Files
lib/claude_code/hook/permission_decision/deny.ex
defmodule ClaudeCode.Hook.PermissionDecision.Deny do
@moduledoc """
Denies a tool from executing, with an optional message and interrupt flag.
Returned from `:can_use_tool` callbacks and `PermissionRequest` hooks.
Shorthand: `{:deny, message: "reason"}`.
## Fields
* `:message` - explanation shown to the user for the denial
* `:interrupt` - when `true`, interrupts the agent instead of continuing
"""
alias ClaudeCode.Hook.Output
@type t :: %__MODULE__{
message: String.t() | nil,
interrupt: boolean() | nil
}
defstruct [:message, :interrupt]
def to_wire(%__MODULE__{} = o) do
%{"behavior" => "deny"}
|> Output.maybe_put("message", o.message)
|> Output.maybe_put("interrupt", o.interrupt)
end
end