> ## Documentation Index
> Fetch the complete documentation index at: https://si.easyaf.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Summary of the CloudNimble.ClaudeEssentials.Hooks Namespace

## Summary

The `CloudNimble.ClaudeEssentials.Hooks` namespace provides strongly-typed C# models for building Claude Code hooks. These models represent the JSON input/output schemas that Claude Code uses to communicate with hook executables.

## Key Components

* **Inputs**: Classes for deserializing JSON received from Claude Code via stdin
* **Outputs**: Classes for serializing JSON responses to stdout
* **Enums**: Type-safe representations of hook events, decisions, and modes
* **ClaudeHooksSerializer**: AOT-compatible helper methods for JSON serialization
* **ClaudeHooksJsonContext**: Source-generated JSON context for Native AOT support

## Usage

### Basic Hook Pattern

A Claude Code hook is an executable that:

1. Reads JSON from stdin
2. Processes the input
3. Writes JSON to stdout
4. Exits with an appropriate code (0 = success, 2 = blocking error)

```csharp theme={"dark"}
using CloudNimble.ClaudeEssentials.Hooks;
using CloudNimble.ClaudeEssentials.Hooks.Inputs;
using CloudNimble.ClaudeEssentials.Hooks.Outputs;

// Read input from stdin
var json = Console.In.ReadToEnd();
var input = ClaudeHooksSerializer.DeserializePreToolUseInput(json);

// Process and respond
var output = new PreToolUseHookOutput<object> { Continue = true };
Console.WriteLine(ClaudeHooksSerializer.SerializePreToolUseOutput(output));
```

### Hook Configuration

Configure hooks in `~/.claude/settings.json` or `.claude/settings.json`:

```json theme={"dark"}
{
"hooks": {
  "PreToolUse": [
    {
      "matcher": "Write|Edit",
      "hooks": [{ "type": "command", "command": "my-hook.exe" }]
    }
  ]
}
}
```

## Examples

### PreToolUse: Auto-approve safe tools

```csharp theme={"dark"}
var input = ClaudeHooksSerializer.DeserializePreToolUseInput(Console.In.ReadToEnd());

var output = new PreToolUseHookOutput<object>
{
HookSpecificOutput = new PreToolUseSpecificOutput<object>
{
    PermissionDecision = input?.ToolName == "Read"
        ? PermissionDecision.Allow
        : PermissionDecision.Ask,
    PermissionDecisionReason = "Read operations are safe"
}
};

Console.WriteLine(ClaudeHooksSerializer.SerializePreToolUseOutput(output));
```

### PostToolUse: Log tool executions

```csharp theme={"dark"}
var input = ClaudeHooksSerializer.DeserializePostToolUseInput(Console.In.ReadToEnd());

File.AppendAllText("hooks.log", $"{DateTime.Now}: {input?.ToolName}\n");

Console.WriteLine(ClaudeHooksSerializer.SerializePostToolUseOutput(new PostToolUseHookOutput()));
```

### Stop: Require confirmation before stopping

```csharp theme={"dark"}
var input = ClaudeHooksSerializer.DeserializeStopInput(Console.In.ReadToEnd());

var output = new StopHookOutput
{
Decision = HookDecision.Block,
Reason = "Please confirm all tests pass before stopping."
};

Console.WriteLine(ClaudeHooksSerializer.SerializeStopOutput(output));
```

## Types

### &#x20;Classes

| Name | Summary |
| - | - |
| [ClaudeHooksSerializer](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ClaudeHooksSerializer.md) | Provides static helper methods for serializing and deserializing Claude Code hook types.  All methods use the AOT-compatible `ClaudeHooksJsonContext` for serialization. |
| [AgentIsolationMode](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/AgentIsolationMode.md) | Represents the isolation mode used when spawning an agent. |
| [ArtifactAction](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ArtifactAction.md) | Represents the action performed by the Artifact tool. |
| [ArtifactAssetUploadStatus](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ArtifactAssetUploadStatus.md) | Represents the outcome of uploading one file to an artifact's asset store. |
| [ArtifactListScope](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ArtifactListScope.md) | Represents which artifacts a list operation covers. |
| [ArtifactPinAction](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ArtifactPinAction.md) | Represents the pin operation that was performed on an artifact. |
| [ArtifactRelationship](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ArtifactRelationship.md) | Represents how a listed artifact relates to the user. |
| [ArtifactRole](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ArtifactRole.md) | Represents the role the user holds on a shared artifact. |
| [ArtifactWatchRail](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ArtifactWatchRail.md) | Represents a non-live delivery state of an artifact watch. |
| [AskUserQuestionUnansweredReason](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/AskUserQuestionUnansweredReason.md) | Represents how a question asked through the AskUserQuestion tool went unanswered. |
| [ClaudeModel](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ClaudeModel.md) | Represents the Claude model family used in a session or tool invocation. |
| [CompactTrigger](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/CompactTrigger.md) | Represents what triggered a compact operation. |
| [ConfigSource](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ConfigSource.md) | Represents the source of a Claude Code configuration change. |
| [ContentBlockType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ContentBlockType.md) | Represents the type of a content block within a Claude message or response. |
| [DirectoryAddedSource](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/DirectoryAddedSource.md) | Represents how a directory was added to a session. |
| [ElicitationAction](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ElicitationAction.md) | Represents the action to take for an elicitation dialog response. |
| [ElicitationMode](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ElicitationMode.md) | Represents how an MCP elicitation collects input. |
| [FeedbackFailureMode](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/FeedbackFailureMode.md) | Represents the closest failure mode for feedback about model behavior. |
| [FeedbackTaskCategory](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/FeedbackTaskCategory.md) | Represents the kind of task a session was doing when feedback was submitted. |
| [FeedbackType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/FeedbackType.md) | Represents the kind of feedback submitted through the SendFeedback tool. |
| [FileChangeEvent](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/FileChangeEvent.md) | Represents the kind of change detected on a watched file. |
| [FileUnchangedSource](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/FileUnchangedSource.md) | Represents why the Read tool reported a file as unchanged without a prior Read result. |
| [GitBranchAction](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/GitBranchAction.md) | Represents a branch-integration operation detected by the Bash tool. |
| [GitCommitKind](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/GitCommitKind.md) | Represents how a commit detected by the Bash tool was produced. |
| [GitDiffStatus](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/GitDiffStatus.md) | Represents the diff status of a file in a git operation. |
| [GitPullRequestAction](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/GitPullRequestAction.md) | Represents a pull request operation detected by the Bash tool. |
| [GrepOutputMode](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/GrepOutputMode.md) | Represents the output mode for grep search results. [GrepOutputMode.FilesWithMatches](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/GrepOutputMode.md#fileswithmatches) is the default. |
| [HookDecision](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/HookDecision.md) | Represents the top-level decision a hook returns. |
| [HookEventName](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/HookEventName.md) | Represents the hook event names that Claude Code can trigger. |
| [ImageMediaType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ImageMediaType.md) | Represents the MIME type of an image returned by the Read tool. |
| [InstructionsLoadReason](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/InstructionsLoadReason.md) | Represents the reason why an instruction file was loaded in Claude Code. |
| [MemoryType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/MemoryType.md) | Represents the type of instruction memory file loaded in Claude Code. |
| [ModelSwitchPricing](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ModelSwitchPricing.md) | Represents where the cost estimate for a model switch came from. |
| [ModelSwitchSource](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ModelSwitchSource.md) | Represents what initiated a model switch. |
| [NotebookCellType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/NotebookCellType.md) | Represents the type of a cell within a Jupyter notebook. |
| [NotebookEditMode](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/NotebookEditMode.md) | Represents the edit operation mode applied to a Jupyter notebook cell. |
| [OfferChromeSetupOutcome](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/OfferChromeSetupOutcome.md) | Represents the outcome of offering Chrome setup to the user. |
| [PermissionBehavior](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PermissionBehavior.md) | Represents the behavior of a permission rule. |
| [PermissionDecision](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PermissionDecision.md) | Represents a permission decision returned by a PreToolUse or PreModelSwitch hook. |
| [PermissionMode](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PermissionMode.md) | Represents the permission mode under which Claude Code is operating. |
| [PermissionRequestBehavior](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PermissionRequestBehavior.md) | Represents the behavior decision for a PermissionRequest hook. |
| [PermissionUpdateDestination](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PermissionUpdateDestination.md) | Represents where a permission update is saved. |
| [ProjectsMethod](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ProjectsMethod.md) | Represents the operation performed by the Projects tool. |
| [PromptCacheTtl](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PromptCacheTtl.md) | Represents the time to live of the prompt cache. |
| [PromptExpansionType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PromptExpansionType.md) | Represents the kind of prompt expansion. |
| [PushNotificationDisabledReason](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PushNotificationDisabledReason.md) | Represents why a push notification was not delivered. |
| [PushNotificationStatus](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PushNotificationStatus.md) | Represents the status of a notification sent through the PushNotification tool. |
| [ReasoningEffort](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ReasoningEffort.md) | Represents the reasoning effort level of an agent or review. |
| [RefreshMcpToolsStatus](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/RefreshMcpToolsStatus.md) | Represents the outcome of refreshing the tool list of an MCP server. |
| [RemoteTriggerAction](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/RemoteTriggerAction.md) | Represents the action performed by the RemoteTrigger tool. |
| [ReviewFindingOutcome](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ReviewFindingOutcome.md) | Represents what happened to a code review finding when fixes were applied. |
| [ReviewFindingVerdict](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ReviewFindingVerdict.md) | Represents the result of a verification pass over a code review finding. |
| [SessionEndReason](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/SessionEndReason.md) | Represents why a session ended. |
| [SessionStartSource](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/SessionStartSource.md) | Represents how a session started. |
| [SetupTrigger](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/SetupTrigger.md) | Represents what triggered a Setup hook. |
| [SkillProposalKind](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/SkillProposalKind.md) | Represents whether a proposed skill is new or improves an existing one. |
| [StopFailureErrorType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/StopFailureErrorType.md) | Represents the API error that ended a turn. |
| [TaskItemStatus](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/TaskItemStatus.md) | Represents the status of a task tracked by the task tools. |
| [TaskUpdateStatus](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/TaskUpdateStatus.md) | Represents the status a task can be moved to by the TaskUpdate tool. |
| [TodoItemStatus](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/TodoItemStatus.md) | Represents the status of a to-do item tracked by Claude Code. |
| [UserPromptSource](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/UserPromptSource.md) | Represents who authored or injected a prompt. |
| [WorkflowLaunchStatus](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/WorkflowLaunchStatus.md) | Represents how a workflow was launched. |
| [WorkflowTaskType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/WorkflowTaskType.md) | Represents the type of background task registered for a workflow. |
| [WorktreeAction](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/WorktreeAction.md) | Represents the action to take when exiting a git worktree. |
| [WriteOperationType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/WriteOperationType.md) | Represents the type of write operation performed on a file. |

### &#x20;Enums

| Name | Summary |
| - | - |
| [AgentIsolationMode](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/AgentIsolationMode.md) | Represents the isolation mode used when spawning an agent. |
| [ArtifactAction](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ArtifactAction.md) | Represents the action performed by the Artifact tool. |
| [ArtifactAssetUploadStatus](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ArtifactAssetUploadStatus.md) | Represents the outcome of uploading one file to an artifact's asset store. |
| [ArtifactListScope](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ArtifactListScope.md) | Represents which artifacts a list operation covers. |
| [ArtifactPinAction](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ArtifactPinAction.md) | Represents the pin operation that was performed on an artifact. |
| [ArtifactRelationship](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ArtifactRelationship.md) | Represents how a listed artifact relates to the user. |
| [ArtifactRole](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ArtifactRole.md) | Represents the role the user holds on a shared artifact. |
| [ArtifactWatchRail](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ArtifactWatchRail.md) | Represents a non-live delivery state of an artifact watch. |
| [AskUserQuestionUnansweredReason](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/AskUserQuestionUnansweredReason.md) | Represents how a question asked through the AskUserQuestion tool went unanswered. |
| [ClaudeModel](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ClaudeModel.md) | Represents the Claude model family used in a session or tool invocation. |
| [CompactTrigger](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/CompactTrigger.md) | Represents what triggered a compact operation. |
| [ConfigSource](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ConfigSource.md) | Represents the source of a Claude Code configuration change. |
| [ContentBlockType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ContentBlockType.md) | Represents the type of a content block within a Claude message or response. |
| [DirectoryAddedSource](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/DirectoryAddedSource.md) | Represents how a directory was added to a session. |
| [ElicitationAction](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ElicitationAction.md) | Represents the action to take for an elicitation dialog response. |
| [ElicitationMode](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ElicitationMode.md) | Represents how an MCP elicitation collects input. |
| [FeedbackFailureMode](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/FeedbackFailureMode.md) | Represents the closest failure mode for feedback about model behavior. |
| [FeedbackTaskCategory](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/FeedbackTaskCategory.md) | Represents the kind of task a session was doing when feedback was submitted. |
| [FeedbackType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/FeedbackType.md) | Represents the kind of feedback submitted through the SendFeedback tool. |
| [FileChangeEvent](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/FileChangeEvent.md) | Represents the kind of change detected on a watched file. |
| [FileUnchangedSource](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/FileUnchangedSource.md) | Represents why the Read tool reported a file as unchanged without a prior Read result. |
| [GitBranchAction](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/GitBranchAction.md) | Represents a branch-integration operation detected by the Bash tool. |
| [GitCommitKind](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/GitCommitKind.md) | Represents how a commit detected by the Bash tool was produced. |
| [GitDiffStatus](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/GitDiffStatus.md) | Represents the diff status of a file in a git operation. |
| [GitPullRequestAction](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/GitPullRequestAction.md) | Represents a pull request operation detected by the Bash tool. |
| [GrepOutputMode](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/GrepOutputMode.md) | Represents the output mode for grep search results. [GrepOutputMode.FilesWithMatches](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/GrepOutputMode.md#fileswithmatches) is the default. |
| [HookDecision](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/HookDecision.md) | Represents the top-level decision a hook returns. |
| [HookEventName](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/HookEventName.md) | Represents the hook event names that Claude Code can trigger. |
| [ImageMediaType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ImageMediaType.md) | Represents the MIME type of an image returned by the Read tool. |
| [InstructionsLoadReason](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/InstructionsLoadReason.md) | Represents the reason why an instruction file was loaded in Claude Code. |
| [MemoryType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/MemoryType.md) | Represents the type of instruction memory file loaded in Claude Code. |
| [ModelSwitchPricing](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ModelSwitchPricing.md) | Represents where the cost estimate for a model switch came from. |
| [ModelSwitchSource](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ModelSwitchSource.md) | Represents what initiated a model switch. |
| [NotebookCellType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/NotebookCellType.md) | Represents the type of a cell within a Jupyter notebook. |
| [NotebookEditMode](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/NotebookEditMode.md) | Represents the edit operation mode applied to a Jupyter notebook cell. |
| [OfferChromeSetupOutcome](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/OfferChromeSetupOutcome.md) | Represents the outcome of offering Chrome setup to the user. |
| [PermissionBehavior](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PermissionBehavior.md) | Represents the behavior of a permission rule. |
| [PermissionDecision](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PermissionDecision.md) | Represents a permission decision returned by a PreToolUse or PreModelSwitch hook. |
| [PermissionMode](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PermissionMode.md) | Represents the permission mode under which Claude Code is operating. |
| [PermissionRequestBehavior](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PermissionRequestBehavior.md) | Represents the behavior decision for a PermissionRequest hook. |
| [PermissionUpdateDestination](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PermissionUpdateDestination.md) | Represents where a permission update is saved. |
| [ProjectsMethod](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ProjectsMethod.md) | Represents the operation performed by the Projects tool. |
| [PromptCacheTtl](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PromptCacheTtl.md) | Represents the time to live of the prompt cache. |
| [PromptExpansionType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PromptExpansionType.md) | Represents the kind of prompt expansion. |
| [PushNotificationDisabledReason](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PushNotificationDisabledReason.md) | Represents why a push notification was not delivered. |
| [PushNotificationStatus](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/PushNotificationStatus.md) | Represents the status of a notification sent through the PushNotification tool. |
| [ReasoningEffort](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ReasoningEffort.md) | Represents the reasoning effort level of an agent or review. |
| [RefreshMcpToolsStatus](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/RefreshMcpToolsStatus.md) | Represents the outcome of refreshing the tool list of an MCP server. |
| [RemoteTriggerAction](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/RemoteTriggerAction.md) | Represents the action performed by the RemoteTrigger tool. |
| [ReviewFindingOutcome](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ReviewFindingOutcome.md) | Represents what happened to a code review finding when fixes were applied. |
| [ReviewFindingVerdict](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ReviewFindingVerdict.md) | Represents the result of a verification pass over a code review finding. |
| [SessionEndReason](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/SessionEndReason.md) | Represents why a session ended. |
| [SessionStartSource](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/SessionStartSource.md) | Represents how a session started. |
| [SetupTrigger](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/SetupTrigger.md) | Represents what triggered a Setup hook. |
| [SkillProposalKind](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/SkillProposalKind.md) | Represents whether a proposed skill is new or improves an existing one. |
| [StopFailureErrorType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/StopFailureErrorType.md) | Represents the API error that ended a turn. |
| [TaskItemStatus](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/TaskItemStatus.md) | Represents the status of a task tracked by the task tools. |
| [TaskUpdateStatus](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/TaskUpdateStatus.md) | Represents the status a task can be moved to by the TaskUpdate tool. |
| [TodoItemStatus](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/TodoItemStatus.md) | Represents the status of a to-do item tracked by Claude Code. |
| [UserPromptSource](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/UserPromptSource.md) | Represents who authored or injected a prompt. |
| [WorkflowLaunchStatus](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/WorkflowLaunchStatus.md) | Represents how a workflow was launched. |
| [WorkflowTaskType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/WorkflowTaskType.md) | Represents the type of background task registered for a workflow. |
| [WorktreeAction](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/WorktreeAction.md) | Represents the action to take when exiting a git worktree. |
| [WriteOperationType](https://si.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/WriteOperationType.md) | Represents the type of write operation performed on a file. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.