pub enum HookPlatform {
ClaudeCode,
Cursor,
GeminiCli,
Windsurf,
Kiro,
Copilot,
}Expand description
Which AI tool platform is invoking the hook. Each platform has a different JSON output format.
Variants§
ClaudeCode
Claude Code: hookSpecificOutput with updatedInput (camelCase)
Cursor
Cursor: no answer, so Cursor’s own approval applies
GeminiCli
Gemini CLI: decision + hookSpecificOutput.tool_input
Windsurf
Windsurf: exit-code based (no JSON rewriting support confirmed)
Kiro
Kiro: STDOUT with rewritten tool_input JSON, exit 0 = allow
Copilot
Copilot CLI: { permissionDecision, modifiedArgs } (camelCase input: toolName + toolArgs)
Trait Implementations§
Source§impl Clone for HookPlatform
impl Clone for HookPlatform
Source§fn clone(&self) -> HookPlatform
fn clone(&self) -> HookPlatform
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for HookPlatform
Source§impl Debug for HookPlatform
impl Debug for HookPlatform
impl Eq for HookPlatform
Source§impl PartialEq for HookPlatform
impl PartialEq for HookPlatform
impl StructuralPartialEq for HookPlatform
Auto Trait Implementations§
impl Freeze for HookPlatform
impl RefUnwindSafe for HookPlatform
impl Send for HookPlatform
impl Sync for HookPlatform
impl Unpin for HookPlatform
impl UnsafeUnpin for HookPlatform
impl UnwindSafe for HookPlatform
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.