if (input.ToolName is "Read" or "Glob" or "Grep"){ return new PreToolUseHookOutput<object> { Continue = true, HookSpecificOutput = new PreToolUseSpecificOutput<object> { PermissionDecision = PermissionDecision.Allow } };}
Block dangerous commands
var command = input.ToolInput?.ToString() ?? "";if (command.Contains("rm -rf")){ return new PreToolUseHookOutput<object> { Continue = true, HookSpecificOutput = new PreToolUseSpecificOutput<object> { PermissionDecision = PermissionDecision.Deny, PermissionDecisionReason = "Dangerous command blocked" } };}
Add context after tool execution
return new PostToolUseHookOutput{ Continue = true, HookSpecificOutput = new PostToolUseSpecificOutput { AdditionalContext = "Remember to run tests after making changes." }};