> ## 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.

# TaskUpdatePreToolUsePayload

> Represents the complete payload delivered to a PreToolUse hook when the TaskUpdate tool is about to be invoked.

## Definition

**Assembly:** CloudNimble.ClaudeEssentials.dll

**Namespace:** CloudNimble.ClaudeEssentials.Hooks.Tools

**Inheritance:** CloudNimble.ClaudeEssentials.Hooks.Inputs.PreToolUseHookInput\<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.TaskUpdateToolInput>

## Syntax

```csharp theme={"dark"}
CloudNimble.ClaudeEssentials.Hooks.Tools.TaskUpdatePreToolUsePayload
```

## Summary

Represents the complete payload delivered to a PreToolUse hook when the TaskUpdate tool is about to be invoked.

## Remarks

The TaskUpdate tool changes an existing task. Use this type for strongly-typed deserialization of PreToolUse hook payloads when `tool_name` is "TaskUpdate".

## Examples

```csharp theme={"dark"}
var payload = ClaudeHooksSerializer.DeserializeTaskUpdatePreToolUse(json);
var input = payload?.ToolInput;
```

## Constructors

### &#x20;.ctor

#### Syntax

```csharp theme={"dark"}
public TaskUpdatePreToolUsePayload()
```

### &#x20;.ctor Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.PreToolUseHookInput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.TaskUpdateToolInput>`

#### Syntax

```csharp theme={"dark"}
public PreToolUseHookInput()
```

### &#x20;.ctor Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.ToolHookInputBase<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.TaskUpdateToolInput>`

#### Syntax

```csharp theme={"dark"}
protected ToolHookInputBase()
```

### &#x20;.ctor Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase`

#### Syntax

```csharp theme={"dark"}
protected HookInputBase()
```

### &#x20;.ctor Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public Object()
```

## Properties

### &#x20;AgentId Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase`

Gets or sets the subagent identifier. Present only when the hook fires from within a subagent.

#### Syntax

```csharp theme={"dark"}
public string AgentId { get; set; }
```

#### Property Value

Type: `string?`

### &#x20;AgentType Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase`

Gets or sets the agent type name, present within a subagent or on the main thread of a session started with `--agent`.

#### Syntax

```csharp theme={"dark"}
public string AgentType { get; set; }
```

#### Property Value

Type: `string?`

### &#x20;CurrentWorkingDirectory Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase`

Gets or sets the current working directory where Claude Code is running.

#### Syntax

```csharp theme={"dark"}
public string CurrentWorkingDirectory { get; set; }
```

#### Property Value

Type: `string`

### &#x20;Effort Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase`

Gets or sets the reasoning effort applied to the current turn.

#### Syntax

```csharp theme={"dark"}
public CloudNimble.ClaudeEssentials.Hooks.Inputs.HookEffortInfo Effort { get; set; }
```

#### Property Value

Type: `CloudNimble.ClaudeEssentials.Hooks.Inputs.HookEffortInfo?`

### &#x20;HookEventName Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase`

Gets or sets the name of the hook event that triggered this input.

#### Syntax

```csharp theme={"dark"}
public CloudNimble.ClaudeEssentials.Hooks.HookEventName HookEventName { get; set; }
```

#### Property Value

Type: `CloudNimble.ClaudeEssentials.Hooks.HookEventName?`

### &#x20;McpServer Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.ToolHookInputBase<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.TaskUpdateToolInput>`

Gets or sets the MCP server that provides the tool, when it is an MCP tool.

#### Syntax

```csharp theme={"dark"}
public CloudNimble.ClaudeEssentials.Hooks.Inputs.McpServerProvenance McpServer { get; set; }
```

#### Property Value

Type: `CloudNimble.ClaudeEssentials.Hooks.Inputs.McpServerProvenance?`

### &#x20;PermissionMode Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase`

Gets or sets the permission mode under which Claude Code is operating.

#### Syntax

```csharp theme={"dark"}
public System.Nullable<CloudNimble.ClaudeEssentials.Hooks.PermissionMode> PermissionMode { get; set; }
```

#### Property Value

Type: `System.Nullable<CloudNimble.ClaudeEssentials.Hooks.PermissionMode?>?`

### &#x20;PromptId Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase`

Gets or sets the UUID correlating a user prompt with all subsequent events until the next prompt.

#### Syntax

```csharp theme={"dark"}
public string PromptId { get; set; }
```

#### Property Value

Type: `string?`

### &#x20;SessionId Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase`

Gets or sets the unique identifier for the current Claude Code session.

#### Syntax

```csharp theme={"dark"}
public string SessionId { get; set; }
```

#### Property Value

Type: `string`

### &#x20;ToolInput Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.ToolHookInputBase<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.TaskUpdateToolInput>`

Gets or sets the input parameters for the tool.
The schema depends on the specific tool being invoked.

#### Syntax

```csharp theme={"dark"}
public CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.TaskUpdateToolInput ToolInput { get; set; }
```

#### Property Value

Type: `CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.TaskUpdateToolInput?`

### &#x20;ToolName Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.ToolHookInputBase<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.TaskUpdateToolInput>`

Gets or sets the name of the tool being invoked.
Common tool names include: Write, Edit, Bash, Read, Grep, Glob, Task, WebFetch, WebSearch.
MCP tools follow the pattern: mcp\_\_\<server>\_\_\<tool>.

#### Syntax

```csharp theme={"dark"}
public string ToolName { get; set; }
```

#### Property Value

Type: `string`

### &#x20;ToolUseId Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.ToolHookInputBase<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.TaskUpdateToolInput>`

Gets or sets the unique identifier for this specific tool use instance.
Typically follows the pattern: toolu\_01ABC123...

#### Syntax

```csharp theme={"dark"}
public string ToolUseId { get; set; }
```

#### Property Value

Type: `string`

### &#x20;TranscriptPath Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase`

Gets or sets the file path to the transcript JSONL file for the current session.
This file contains the full conversation history.

#### Syntax

```csharp theme={"dark"}
public string TranscriptPath { get; set; }
```

#### Property Value

Type: `string`

## Methods

### &#x20;Equals Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public virtual bool Equals(object obj)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `obj` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;Equals Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public static bool Equals(object objA, object objB)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `objA` | `object?` | - |
| `objB` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;GetHashCode Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public virtual int GetHashCode()
```

#### Returns

Type: `int`

### &#x20;GetType Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public System.Type GetType()
```

#### Returns

Type: `System.Type`

### &#x20;MemberwiseClone Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
protected internal object MemberwiseClone()
```

#### Returns

Type: `object`

### &#x20;ReferenceEquals Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public static bool ReferenceEquals(object objA, object objB)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `objA` | `object?` | - |
| `objB` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;ToString Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public virtual string ToString()
```

#### Returns

Type: `string?`


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