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

# ClaudeHooksSerializer

> Provides static helper methods for serializing and deserializing Claude Code hook types. All methods use the AOT-compatible [ClaudeHooksJsonContext](/claudeessentials/api-ref...

## Definition

**Assembly:** CloudNimble.ClaudeEssentials.dll

**Namespace:** CloudNimble.ClaudeEssentials.Hooks

**Inheritance:** System.Object

## Syntax

```csharp theme={null}
CloudNimble.ClaudeEssentials.Hooks.ClaudeHooksSerializer
```

## Summary

Provides static helper methods for serializing and deserializing Claude Code hook types.
All methods use the AOT-compatible [ClaudeHooksJsonContext](https://ai.easyaf.dev/api-reference/CloudNimble/ClaudeEssentials/Hooks/ClaudeHooksJsonContext) for serialization.

## Usage

`ClaudeHooksSerializer` provides AOT-compatible static methods for JSON serialization using source-generated contexts.

### Deserializing Input

```csharp theme={null}
// Read and deserialize from stdin
string json = Console.In.ReadToEnd();

var preToolUse = ClaudeHooksSerializer.DeserializePreToolUseInput(json);
var postToolUse = ClaudeHooksSerializer.DeserializePostToolUseInput(json);
var stop = ClaudeHooksSerializer.DeserializeStopInput(json);
var notification = ClaudeHooksSerializer.DeserializeNotificationInput(json);
```

### Serializing Output

```csharp theme={null}
// Create and serialize output
var output = new PreToolUseHookOutput<object> { Continue = true };
string json = ClaudeHooksSerializer.SerializePreToolUseOutput(output);
Console.WriteLine(json);
```

### Using Custom Types

For strongly-typed tool inputs, create your own `JsonSerializerContext`:

```csharp theme={null}
[JsonSerializable(typeof(PreToolUseHookInput<MyToolInput>))]
public partial class MyJsonContext : JsonSerializerContext { }

var input = ClaudeHooksSerializer.DeserializePreToolUseInput<MyToolInput>(
json, MyJsonContext.Default.PreToolUseHookInputMyToolInput);
```

## Remarks

This class offers three levels of API for deserialization:

## Properties

### &#x20;DefaultOptions

Gets the default [JsonSerializerOptions](https://learn.microsoft.com/dotnet/api/system.text.json.jsonserializeroptions) configured for Claude Code hooks.
This instance is configured with the [ClaudeHooksJsonContext](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/ClaudeHooksJsonContext.md) for AOT compatibility.

#### Syntax

```csharp theme={null}
public static System.Text.Json.JsonSerializerOptions DefaultOptions { get; }
```

#### Property Value

Type: `System.Text.Json.JsonSerializerOptions`

## Methods

### &#x20;DeserializeAgentPostToolUse

Deserializes a JSON string to an [AgentPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/AgentPostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.AgentPostToolUsePayload DeserializeAgentPostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.AgentPostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeAgentPreToolUse

Deserializes a JSON string to an [AgentPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/AgentPreToolUsePayload.md) with strongly-typed [AgentToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/AgentToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.AgentPreToolUsePayload DeserializeAgentPreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.AgentPreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeAskUserQuestionPostToolUse

Deserializes a JSON string to an [AskUserQuestionPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/AskUserQuestionPostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.AskUserQuestionPostToolUsePayload DeserializeAskUserQuestionPostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.AskUserQuestionPostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeAskUserQuestionPreToolUse

Deserializes a JSON string to an [AskUserQuestionPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/AskUserQuestionPreToolUsePayload.md) with strongly-typed [AskUserQuestionToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/AskUserQuestionToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.AskUserQuestionPreToolUsePayload DeserializeAskUserQuestionPreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.AskUserQuestionPreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeBashPostToolUse

Deserializes a JSON string to a [BashPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/BashPostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.BashPostToolUsePayload DeserializeBashPostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.BashPostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

#### Examples

```csharp theme={null}
var payload = ClaudeHooksSerializer.DeserializeBashPostToolUse(json);
Console.WriteLine(payload?.ToolResponse?.Stdout);
```

### &#x20;DeserializeBashPreToolUse

Deserializes a JSON string to a [BashPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/BashPreToolUsePayload.md) with strongly-typed [BashToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/BashToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.BashPreToolUsePayload DeserializeBashPreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.BashPreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

#### Examples

```csharp theme={null}
var payload = ClaudeHooksSerializer.DeserializeBashPreToolUse(json);
Console.WriteLine(payload?.ToolInput?.Command);
```

### &#x20;DeserializeConfigPostToolUse

Deserializes a JSON string to a [ConfigPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/ConfigPostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.ConfigPostToolUsePayload DeserializeConfigPostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.ConfigPostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeConfigPreToolUse

Deserializes a JSON string to a [ConfigPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/ConfigPreToolUsePayload.md) with strongly-typed [ConfigToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/ConfigToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.ConfigPreToolUsePayload DeserializeConfigPreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.ConfigPreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeEditPostToolUse

Deserializes a JSON string to an [EditPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/EditPostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.EditPostToolUsePayload DeserializeEditPostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.EditPostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeEditPreToolUse

Deserializes a JSON string to an [EditPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/EditPreToolUsePayload.md) with strongly-typed [EditToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/EditToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.EditPreToolUsePayload DeserializeEditPreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.EditPreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeEnterWorktreePostToolUse

Deserializes a JSON string to an [EnterWorktreePostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/EnterWorktreePostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.EnterWorktreePostToolUsePayload DeserializeEnterWorktreePostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.EnterWorktreePostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeEnterWorktreePreToolUse

Deserializes a JSON string to an [EnterWorktreePreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/EnterWorktreePreToolUsePayload.md) with strongly-typed [EnterWorktreeToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/EnterWorktreeToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.EnterWorktreePreToolUsePayload DeserializeEnterWorktreePreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.EnterWorktreePreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeExitPlanModePostToolUse

Deserializes a JSON string to an [ExitPlanModePostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/ExitPlanModePostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.ExitPlanModePostToolUsePayload DeserializeExitPlanModePostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.ExitPlanModePostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeExitPlanModePreToolUse

Deserializes a JSON string to an [ExitPlanModePreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/ExitPlanModePreToolUsePayload.md) with strongly-typed [ExitPlanModeToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/ExitPlanModeToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.ExitPlanModePreToolUsePayload DeserializeExitPlanModePreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.ExitPlanModePreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeExitWorktreePostToolUse

Deserializes a JSON string to an [ExitWorktreePostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/ExitWorktreePostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.ExitWorktreePostToolUsePayload DeserializeExitWorktreePostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.ExitWorktreePostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeExitWorktreePreToolUse

Deserializes a JSON string to an [ExitWorktreePreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/ExitWorktreePreToolUsePayload.md) with strongly-typed [ExitWorktreeToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/ExitWorktreeToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.ExitWorktreePreToolUsePayload DeserializeExitWorktreePreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.ExitWorktreePreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeGlobPostToolUse

Deserializes a JSON string to a [GlobPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/GlobPostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.GlobPostToolUsePayload DeserializeGlobPostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.GlobPostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeGlobPreToolUse

Deserializes a JSON string to a [GlobPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/GlobPreToolUsePayload.md) with strongly-typed [GlobToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/GlobToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.GlobPreToolUsePayload DeserializeGlobPreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.GlobPreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeGrepPostToolUse

Deserializes a JSON string to a [GrepPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/GrepPostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.GrepPostToolUsePayload DeserializeGrepPostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.GrepPostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeGrepPreToolUse

Deserializes a JSON string to a [GrepPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/GrepPreToolUsePayload.md) with strongly-typed [GrepToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/GrepToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.GrepPreToolUsePayload DeserializeGrepPreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.GrepPreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeKillShellPostToolUse

Deserializes a JSON string to a [KillShellPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/KillShellPostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.KillShellPostToolUsePayload DeserializeKillShellPostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.KillShellPostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeKillShellPreToolUse

Deserializes a JSON string to a [KillShellPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/KillShellPreToolUsePayload.md) with strongly-typed [KillShellToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/KillShellToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.KillShellPreToolUsePayload DeserializeKillShellPreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.KillShellPreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeListMcpResourcesPostToolUse

Deserializes a JSON string to a [ListMcpResourcesPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/ListMcpResourcesPostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.ListMcpResourcesPostToolUsePayload DeserializeListMcpResourcesPostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.ListMcpResourcesPostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeListMcpResourcesPreToolUse

Deserializes a JSON string to a [ListMcpResourcesPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/ListMcpResourcesPreToolUsePayload.md) with strongly-typed [ListMcpResourcesToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/ListMcpResourcesToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.ListMcpResourcesPreToolUsePayload DeserializeListMcpResourcesPreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.ListMcpResourcesPreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeMcpPostToolUse

Deserializes a JSON string to a [McpPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/McpPostToolUsePayload.md) with strongly-typed input and dynamic response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.McpPostToolUsePayload DeserializeMcpPostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.McpPostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeMcpPreToolUse

Deserializes a JSON string to a [McpPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/McpPreToolUsePayload.md) with strongly-typed [McpToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/McpToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.McpPreToolUsePayload DeserializeMcpPreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.McpPreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeNotebookEditPostToolUse

Deserializes a JSON string to a [NotebookEditPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/NotebookEditPostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.NotebookEditPostToolUsePayload DeserializeNotebookEditPostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.NotebookEditPostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeNotebookEditPreToolUse

Deserializes a JSON string to a [NotebookEditPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/NotebookEditPreToolUsePayload.md) with strongly-typed [NotebookEditToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/NotebookEditToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.NotebookEditPreToolUsePayload DeserializeNotebookEditPreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.NotebookEditPreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeNotificationInput

Deserializes a JSON string to a [NotificationHookInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Inputs/NotificationHookInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Inputs.NotificationHookInput DeserializeNotificationInput(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Inputs.NotificationHookInput?`
The deserialized hook input, or null if deserialization fails.

### &#x20;DeserializePermissionRequestInput

Deserializes a JSON string to a `PermissionRequestHookInput`1\` with dynamic tool input.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Inputs.PermissionRequestHookInput<object> DeserializePermissionRequestInput(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Inputs.PermissionRequestHookInput<object>?`
The deserialized hook input, or null if deserialization fails.

### &#x20;DeserializePostToolUseInput

Deserializes a JSON string to a `PostToolUseHookInput`2\` with dynamic types.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Inputs.PostToolUseHookInput<object, object> DeserializePostToolUseInput(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Inputs.PostToolUseHookInput<object, object>?`
The deserialized hook input, or null if deserialization fails.

### &#x20;DeserializePostToolUseInput

Deserializes a JSON string to a strongly-typed PostToolUse payload using the specified type info.

#### Syntax

```csharp theme={null}
public static T DeserializePostToolUseInput<T>(string json, System.Text.Json.Serialization.Metadata.JsonTypeInfo<T> typeInfo) where T : class
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |
| `typeInfo` | `System.Text.Json.Serialization.Metadata.JsonTypeInfo<T>` | The JSON type info for the payload type. |

#### Returns

Type: `T?`
The deserialized payload, or null if deserialization fails.

#### Type Parameters

* `T` - The payload type (e.g., [BashPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/BashPostToolUsePayload.md)).

#### Examples

```csharp theme={null}
var payload = ClaudeHooksSerializer.DeserializePostToolUseInput(
    json, ClaudeHooksJsonContext.Default.BashPostToolUsePayload);
Console.WriteLine(payload?.ToolResponse?.Stdout);
```

### &#x20;DeserializePreCompactInput

Deserializes a JSON string to a [PreCompactHookInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Inputs/PreCompactHookInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Inputs.PreCompactHookInput DeserializePreCompactInput(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Inputs.PreCompactHookInput?`
The deserialized hook input, or null if deserialization fails.

### &#x20;DeserializePreToolUseInput

Deserializes a JSON string to a `PreToolUseHookInput`1\` with dynamic tool input.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Inputs.PreToolUseHookInput<object> DeserializePreToolUseInput(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Inputs.PreToolUseHookInput<object>?`
The deserialized hook input, or null if deserialization fails.

### &#x20;DeserializePreToolUseInput

Deserializes a JSON string to a strongly-typed PreToolUse payload using the specified type info.

#### Syntax

```csharp theme={null}
public static T DeserializePreToolUseInput<T>(string json, System.Text.Json.Serialization.Metadata.JsonTypeInfo<T> typeInfo) where T : class
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |
| `typeInfo` | `System.Text.Json.Serialization.Metadata.JsonTypeInfo<T>` | The JSON type info for the payload type. |

#### Returns

Type: `T?`
The deserialized payload, or null if deserialization fails.

#### Type Parameters

* `T` - The payload type (e.g., [BashPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/BashPreToolUsePayload.md)).

#### Examples

```csharp theme={null}
var payload = ClaudeHooksSerializer.DeserializePreToolUseInput(
    json, ClaudeHooksJsonContext.Default.BashPreToolUsePayload);
Console.WriteLine(payload?.ToolInput?.Command);
```

### &#x20;DeserializeReadMcpResourcePostToolUse

Deserializes a JSON string to a [ReadMcpResourcePostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/ReadMcpResourcePostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.ReadMcpResourcePostToolUsePayload DeserializeReadMcpResourcePostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.ReadMcpResourcePostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeReadMcpResourcePreToolUse

Deserializes a JSON string to a [ReadMcpResourcePreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/ReadMcpResourcePreToolUsePayload.md) with strongly-typed [ReadMcpResourceToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/ReadMcpResourceToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.ReadMcpResourcePreToolUsePayload DeserializeReadMcpResourcePreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.ReadMcpResourcePreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeReadPostToolUse

Deserializes a JSON string to a [ReadPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/ReadPostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.ReadPostToolUsePayload DeserializeReadPostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.ReadPostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeReadPreToolUse

Deserializes a JSON string to a [ReadPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/ReadPreToolUsePayload.md) with strongly-typed [ReadToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/ReadToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.ReadPreToolUsePayload DeserializeReadPreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.ReadPreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeSessionEndInput

Deserializes a JSON string to a [SessionEndHookInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Inputs/SessionEndHookInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Inputs.SessionEndHookInput DeserializeSessionEndInput(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Inputs.SessionEndHookInput?`
The deserialized hook input, or null if deserialization fails.

### &#x20;DeserializeSessionStartInput

Deserializes a JSON string to a [SessionStartHookInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Inputs/SessionStartHookInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Inputs.SessionStartHookInput DeserializeSessionStartInput(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Inputs.SessionStartHookInput?`
The deserialized hook input, or null if deserialization fails.

### &#x20;DeserializeStopInput

Deserializes a JSON string to a [StopHookInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Inputs/StopHookInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Inputs.StopHookInput DeserializeStopInput(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Inputs.StopHookInput?`
The deserialized hook input, or null if deserialization fails.

### &#x20;DeserializeSubagentStopInput

Deserializes a JSON string to a [SubagentStopHookInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Inputs/SubagentStopHookInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Inputs.SubagentStopHookInput DeserializeSubagentStopInput(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Inputs.SubagentStopHookInput?`
The deserialized hook input, or null if deserialization fails.

### &#x20;DeserializeTaskOutputPostToolUse

Deserializes a JSON string to a [TaskOutputPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/TaskOutputPostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.TaskOutputPostToolUsePayload DeserializeTaskOutputPostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.TaskOutputPostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeTaskOutputPreToolUse

Deserializes a JSON string to a [TaskOutputPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/TaskOutputPreToolUsePayload.md) with strongly-typed [TaskOutputToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/TaskOutputToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.TaskOutputPreToolUsePayload DeserializeTaskOutputPreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.TaskOutputPreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeTaskPostToolUse

Deserializes a JSON string to a [TaskPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/TaskPostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.TaskPostToolUsePayload DeserializeTaskPostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.TaskPostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeTaskPreToolUse

Deserializes a JSON string to a [TaskPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/TaskPreToolUsePayload.md) with strongly-typed [TaskToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/TaskToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.TaskPreToolUsePayload DeserializeTaskPreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.TaskPreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeTaskStopPostToolUse

Deserializes a JSON string to a [TaskStopPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/TaskStopPostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.TaskStopPostToolUsePayload DeserializeTaskStopPostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.TaskStopPostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeTaskStopPreToolUse

Deserializes a JSON string to a [TaskStopPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/TaskStopPreToolUsePayload.md) with strongly-typed [TaskStopToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/TaskStopToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.TaskStopPreToolUsePayload DeserializeTaskStopPreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.TaskStopPreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeTodoWritePostToolUse

Deserializes a JSON string to a [TodoWritePostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/TodoWritePostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.TodoWritePostToolUsePayload DeserializeTodoWritePostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.TodoWritePostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeTodoWritePreToolUse

Deserializes a JSON string to a [TodoWritePreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/TodoWritePreToolUsePayload.md) with strongly-typed [TodoWriteToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/TodoWriteToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.TodoWritePreToolUsePayload DeserializeTodoWritePreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.TodoWritePreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeUserPromptSubmitInput

Deserializes a JSON string to a [UserPromptSubmitHookInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Inputs/UserPromptSubmitHookInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Inputs.UserPromptSubmitHookInput DeserializeUserPromptSubmitInput(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Inputs.UserPromptSubmitHookInput?`
The deserialized hook input, or null if deserialization fails.

### &#x20;DeserializeWebFetchPostToolUse

Deserializes a JSON string to a [WebFetchPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/WebFetchPostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.WebFetchPostToolUsePayload DeserializeWebFetchPostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.WebFetchPostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeWebFetchPreToolUse

Deserializes a JSON string to a [WebFetchPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/WebFetchPreToolUsePayload.md) with strongly-typed [WebFetchToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/WebFetchToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.WebFetchPreToolUsePayload DeserializeWebFetchPreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.WebFetchPreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeWebSearchPostToolUse

Deserializes a JSON string to a [WebSearchPostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/WebSearchPostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.WebSearchPostToolUsePayload DeserializeWebSearchPostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.WebSearchPostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeWebSearchPreToolUse

Deserializes a JSON string to a [WebSearchPreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/WebSearchPreToolUsePayload.md) with strongly-typed [WebSearchToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/WebSearchToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.WebSearchPreToolUsePayload DeserializeWebSearchPreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.WebSearchPreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeWritePostToolUse

Deserializes a JSON string to a [WritePostToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/WritePostToolUsePayload.md) with strongly-typed input and response.

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.WritePostToolUsePayload DeserializeWritePostToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.WritePostToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;DeserializeWritePreToolUse

Deserializes a JSON string to a [WritePreToolUsePayload](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/WritePreToolUsePayload.md) with strongly-typed [WriteToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/WriteToolInput.md).

#### Syntax

```csharp theme={null}
public static CloudNimble.ClaudeEssentials.Hooks.Tools.WritePreToolUsePayload DeserializeWritePreToolUse(string json)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `json` | `string` | The JSON string to deserialize. |

#### Returns

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.WritePreToolUsePayload?`
The deserialized payload, or null if deserialization fails.

### &#x20;SerializeAgentPreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [AgentToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/AgentToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeAgentPreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.AgentToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.AgentToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeAskUserQuestionPreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [AskUserQuestionToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/AskUserQuestionToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeAskUserQuestionPreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.AskUserQuestionToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.AskUserQuestionToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeBashPreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [BashToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/BashToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeBashPreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.BashToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.BashToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

#### Examples

```csharp theme={null}
var output = new PreToolUseHookOutput&lt;BashToolInput&gt;
{
    Continue = true,
    HookSpecificOutput = new PreToolUseSpecificOutput&lt;BashToolInput&gt;
    {
        PermissionDecision = PermissionDecision.Allow,
        UpdatedInput = new BashToolInput { Command = "echo safe" }
    }
};
var json = ClaudeHooksSerializer.SerializeBashPreToolUseOutput(output);
```

### &#x20;SerializeConfigPreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [ConfigToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/ConfigToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeConfigPreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.ConfigToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.ConfigToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeEditPreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [EditToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/EditToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeEditPreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.EditToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.EditToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeEnterWorktreePreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [EnterWorktreeToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/EnterWorktreeToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeEnterWorktreePreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.EnterWorktreeToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.EnterWorktreeToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeExitPlanModePreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [ExitPlanModeToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/ExitPlanModeToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeExitPlanModePreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.ExitPlanModeToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.ExitPlanModeToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeExitWorktreePreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [ExitWorktreeToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/ExitWorktreeToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeExitWorktreePreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.ExitWorktreeToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.ExitWorktreeToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeGlobPreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [GlobToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/GlobToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeGlobPreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.GlobToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.GlobToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeGrepPreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [GrepToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/GrepToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeGrepPreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.GrepToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.GrepToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeKillShellPreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [KillShellToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/KillShellToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeKillShellPreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.KillShellToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.KillShellToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeListMcpResourcesPreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [ListMcpResourcesToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/ListMcpResourcesToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeListMcpResourcesPreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.ListMcpResourcesToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.ListMcpResourcesToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeMcpPreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [McpToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/McpToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeMcpPreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.McpToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.McpToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeNotebookEditPreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [NotebookEditToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/NotebookEditToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeNotebookEditPreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.NotebookEditToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.NotebookEditToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeNotificationOutput

Serializes a [NotificationHookOutput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Outputs/NotificationHookOutput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeNotificationOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.NotificationHookOutput output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.NotificationHookOutput` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializePermissionRequestOutput

Serializes a `PermissionRequestHookOutput`1\` with dynamic tool input to JSON.

#### Syntax

```csharp theme={null}
public static string SerializePermissionRequestOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PermissionRequestHookOutput<object> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PermissionRequestHookOutput<object>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializePostToolUseOutput

Serializes a [PostToolUseHookOutput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Outputs/PostToolUseHookOutput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializePostToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PostToolUseHookOutput output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PostToolUseHookOutput` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializePreCompactOutput

Serializes a [PreCompactHookOutput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Outputs/PreCompactHookOutput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializePreCompactOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreCompactHookOutput output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreCompactHookOutput` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializePreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with dynamic tool input to JSON.

#### Syntax

```csharp theme={null}
public static string SerializePreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<object> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<object>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializePreToolUseOutput

Serializes a strongly-typed PreToolUse hook output to JSON using the specified type info.

#### Syntax

```csharp theme={null}
public static string SerializePreToolUseOutput<T>(T output, System.Text.Json.Serialization.Metadata.JsonTypeInfo<T> typeInfo) where T : class
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `T` | The hook output to serialize. |
| `typeInfo` | `System.Text.Json.Serialization.Metadata.JsonTypeInfo<T>` | The JSON type info for the output type. |

#### Returns

Type: `string`
The JSON string representation.

#### Type Parameters

* `T` - The output type.

### &#x20;SerializeReadMcpResourcePreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [ReadMcpResourceToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/ReadMcpResourceToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeReadMcpResourcePreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.ReadMcpResourceToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.ReadMcpResourceToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeReadPreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [ReadToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/ReadToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeReadPreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.ReadToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.ReadToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeSessionEndOutput

Serializes a [SessionEndHookOutput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Outputs/SessionEndHookOutput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeSessionEndOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.SessionEndHookOutput output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.SessionEndHookOutput` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeSessionStartOutput

Serializes a [SessionStartHookOutput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Outputs/SessionStartHookOutput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeSessionStartOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.SessionStartHookOutput output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.SessionStartHookOutput` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeStopOutput

Serializes a [StopHookOutput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Outputs/StopHookOutput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeStopOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.StopHookOutput output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.StopHookOutput` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeSubagentStopOutput

Serializes a [SubagentStopHookOutput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Outputs/SubagentStopHookOutput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeSubagentStopOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.SubagentStopHookOutput output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.SubagentStopHookOutput` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeTaskOutputPreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [TaskOutputToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/TaskOutputToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeTaskOutputPreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.TaskOutputToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.TaskOutputToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeTaskPreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [TaskToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/TaskToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeTaskPreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.TaskToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.TaskToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeTaskStopPreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [TaskStopToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/TaskStopToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeTaskStopPreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.TaskStopToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.TaskStopToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeTodoWritePreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [TodoWriteToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/TodoWriteToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeTodoWritePreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.TodoWriteToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.TodoWriteToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeUserPromptSubmitOutput

Serializes a [UserPromptSubmitHookOutput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Outputs/UserPromptSubmitHookOutput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeUserPromptSubmitOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.UserPromptSubmitHookOutput output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.UserPromptSubmitHookOutput` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeWebFetchPreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [WebFetchToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/WebFetchToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeWebFetchPreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.WebFetchToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.WebFetchToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeWebSearchPreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [WebSearchToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/WebSearchToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeWebSearchPreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.WebSearchToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.WebSearchToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.

### &#x20;SerializeWritePreToolUseOutput

Serializes a `PreToolUseHookOutput`1\` with strongly-typed [WriteToolInput](https://ai.easyaf.dev/claudeessentials/api-reference/CloudNimble/ClaudeEssentials/Hooks/Tools/Inputs/WriteToolInput.md) to JSON.

#### Syntax

```csharp theme={null}
public static string SerializeWritePreToolUseOutput(CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.WriteToolInput> output)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `output` | `CloudNimble.ClaudeEssentials.Hooks.Outputs.PreToolUseHookOutput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.WriteToolInput>` | The hook output to serialize. |

#### Returns

Type: `string`
The JSON string representation.


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