| HookOutputBase | Base class containing common fields for all hook outputs. Hook outputs are written to stdout as JSON when the hook exits with code 0. |
| HookSpecificOutputBase | Base class for hook-specific output data. Contains the hook event name and serves as base for specific output types. |
| NotificationHookOutput | Represents the output for a Notification hook. The Notification hook typically only uses base output fields. |
| PermissionRequestDecision | Represents the decision object for a PermissionRequest hook response. Contains the behavior decision and optional parameters. |
| PermissionRequestHookOutput | Represents the complete output for a PermissionRequest hook. Combines base output fields with PermissionRequest-specific output. |
| PermissionRequestSpecificOutput | Represents the hook-specific output for a PermissionRequest hook. Contains the decision object with behavior and optional parameters. |
| PostToolUseHookOutput | Represents the complete output for a PostToolUse hook. Combines base output fields with PostToolUse-specific output. |
| PostToolUseSpecificOutput | Represents the hook-specific output for a PostToolUse hook. Contains additional context to provide to Claude after tool execution. |
| PreCompactHookOutput | Represents the output for a PreCompact hook. The PreCompact hook typically only uses base output fields. |
| PreToolUseHookOutput | Represents the complete output for a PreToolUse hook. Combines base output fields with PreToolUse-specific output. |
| PreToolUseSpecificOutput | Represents the hook-specific output for a PreToolUse hook. Contains permission decisions and optional input modifications. |
| SessionEndHookOutput | Represents the output for a SessionEnd hook. The SessionEnd hook typically only uses base output fields. |
| SessionStartHookOutput | Represents the complete output for a SessionStart hook. Combines base output fields with SessionStart-specific output. |
| SessionStartSpecificOutput | Represents the hook-specific output for a SessionStart hook. Contains additional context to add to the session start. |
| StopHookOutput | Represents the output for a Stop hook. Used to optionally block Claude from stopping and continue processing. |
| SubagentStopHookOutput | Represents the output for a SubagentStop hook. Used to optionally block a subagent from stopping and continue processing. |
| UserPromptSubmitHookOutput | Represents the complete output for a UserPromptSubmit hook. Combines base output fields with UserPromptSubmit-specific output. |
| UserPromptSubmitSpecificOutput | Represents the hook-specific output for a UserPromptSubmit hook. Contains additional context to add to Claude’s processing of the user prompt. |