pub struct SyncHookJSONOutput {
pub continue_: Option<bool>,
pub suppress_output: Option<bool>,
pub stop_reason: Option<String>,
pub decision: Option<String>,
pub system_message: Option<String>,
pub reason: Option<String>,
pub hook_specific_output: Option<HookSpecificOutput>,
}Expand description
Synchronous hook output with control and decision fields
This defines the structure for hook callbacks to control execution and provide feedback to Claude.
Fields§
§continue_: Option<bool>Whether Claude should proceed after hook execution (default: true)
suppress_output: Option<bool>Hide stdout from transcript mode (default: false)
stop_reason: Option<String>Message shown when continue is false
decision: Option<String>Set to “block” to indicate blocking behavior
system_message: Option<String>Warning message displayed to the user
reason: Option<String>Feedback message for Claude about the decision
hook_specific_output: Option<HookSpecificOutput>Event-specific controls (e.g., permissionDecision for PreToolUse)
Trait Implementations§
Source§impl Clone for SyncHookJSONOutput
impl Clone for SyncHookJSONOutput
Source§fn clone(&self) -> SyncHookJSONOutput
fn clone(&self) -> SyncHookJSONOutput
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SyncHookJSONOutput
impl Debug for SyncHookJSONOutput
Source§impl Default for SyncHookJSONOutput
impl Default for SyncHookJSONOutput
Source§fn default() -> SyncHookJSONOutput
fn default() -> SyncHookJSONOutput
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for SyncHookJSONOutput
impl<'de> Deserialize<'de> for SyncHookJSONOutput
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SyncHookJSONOutput
impl RefUnwindSafe for SyncHookJSONOutput
impl Send for SyncHookJSONOutput
impl Sync for SyncHookJSONOutput
impl Unpin for SyncHookJSONOutput
impl UnwindSafe for SyncHookJSONOutput
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more