| HookInputBase | Base class containing common fields present in all hook inputs. All hooks receive these fields via JSON through stdin. |
| NotificationHookInput | Represents the input received by a Notification hook. This hook runs when Claude Code sends notifications. |
| PermissionRequestHookInput | Represents the input received by a PermissionRequest hook. This hook runs when a permission dialog is shown and can automatically allow or deny permissions. |
| PostToolUseHookInput | Represents the input received by a PostToolUse hook. This hook runs after tool calls complete and includes the tool’s response. |
| PreCompactHookInput | Represents the input received by a PreCompact hook. This hook runs before a compact operation. |
| PreToolUseHookInput | Represents the input received by a PreToolUse hook. This hook runs before tool calls are executed and can block or modify them. |
| SessionEndHookInput | Represents the input received by a SessionEnd hook. This hook runs when a Claude Code session ends. |
| SessionStartHookInput | Represents the input received by a SessionStart hook. This hook runs when Claude Code starts a new session or resumes one. |
| StopHookInput | Represents the input received by a Stop hook. This hook runs when Claude Code finishes responding. |
| SubagentStopHookInput | Represents the input received by a SubagentStop hook. This hook runs when subagent tasks complete. |
| ToolHookInputBase | Base class for tool-related hook inputs that contain tool name, input, and use ID. Used as a base for PreToolUse and PostToolUse hook inputs. |
| UserPromptSubmitHookInput | Represents the input received by a UserPromptSubmit hook. This hook runs when the user submits a prompt, before Claude processes it. |