Skip to main content

Definition

Assembly: CloudNimble.ClaudeEssentials.dll Namespace: CloudNimble.ClaudeEssentials.Hooks.Tools Inheritance: CloudNimble.ClaudeEssentials.Hooks.Inputs.PreToolUseHookInput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.WriteToolInput>

Syntax

CloudNimble.ClaudeEssentials.Hooks.Tools.WritePreToolUsePayload

Summary

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

Remarks

This payload contains all context provided to your hook before Claude executes the Write tool, including session information, the tool input parameters, and permission context. Use this type for strongly-typed deserialization of PreToolUse hook payloads when tool_name is “Write”. The Write tool creates or overwrites files on the local filesystem. Your hook can inspect the target path and content before the write occurs, potentially blocking sensitive operations. <strong>Terminology:</strong>

Examples

var payload = JsonSerializer.Deserialize&lt;WritePreToolUsePayload&gt;(json);
Console.WriteLine($"Writing to: {payload.ToolInput.FilePath}");

Constructors

.ctor

Syntax

public WritePreToolUsePayload()

.ctor Inherited

Inherited from CloudNimble.ClaudeEssentials.Hooks.Inputs.PreToolUseHookInput<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.WriteToolInput>

Syntax

public PreToolUseHookInput()

.ctor Inherited

Inherited from CloudNimble.ClaudeEssentials.Hooks.Inputs.ToolHookInputBase<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.WriteToolInput>

Syntax

protected ToolHookInputBase()

.ctor Inherited

Inherited from CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase

Syntax

protected HookInputBase()

.ctor Inherited

Inherited from object

Syntax

public Object()

Properties

CurrentWorkingDirectory Inherited

Inherited from CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase
Gets or sets the current working directory where Claude Code is running.

Syntax

public string CurrentWorkingDirectory { get; set; }

Property Value

Type: string

HookEventName Inherited

Inherited from CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase
Gets or sets the name of the hook event that triggered this input.

Syntax

public CloudNimble.ClaudeEssentials.Hooks.HookEventName HookEventName { get; set; }

Property Value

Type: CloudNimble.ClaudeEssentials.Hooks.HookEventName

PermissionMode Inherited

Inherited from CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase
Gets or sets the permission mode under which Claude Code is operating.

Syntax

public CloudNimble.ClaudeEssentials.Hooks.PermissionMode PermissionMode { get; set; }

Property Value

Type: CloudNimble.ClaudeEssentials.Hooks.PermissionMode

SessionId Inherited

Inherited from CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase
Gets or sets the unique identifier for the current Claude Code session.

Syntax

public string SessionId { get; set; }

Property Value

Type: string

ToolInput Inherited

Inherited from CloudNimble.ClaudeEssentials.Hooks.Inputs.ToolHookInputBase<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.WriteToolInput>
Gets or sets the input parameters for the tool. The schema depends on the specific tool being invoked.

Syntax

public CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.WriteToolInput ToolInput { get; set; }

Property Value

Type: CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.WriteToolInput?

ToolName Inherited

Inherited from CloudNimble.ClaudeEssentials.Hooks.Inputs.ToolHookInputBase<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.WriteToolInput>
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

public string ToolName { get; set; }

Property Value

Type: string

ToolUseId Inherited

Inherited from CloudNimble.ClaudeEssentials.Hooks.Inputs.ToolHookInputBase<CloudNimble.ClaudeEssentials.Hooks.Tools.Inputs.WriteToolInput>
Gets or sets the unique identifier for this specific tool use instance. Typically follows the pattern: toolu_01ABC123…

Syntax

public string ToolUseId { get; set; }

Property Value

Type: string

TranscriptPath Inherited

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

public string TranscriptPath { get; set; }

Property Value

Type: string

Methods

Equals Inherited Virtual

Inherited from object

Syntax

public virtual bool Equals(object obj)

Parameters

NameTypeDescription
objobject?-

Returns

Type: bool

Equals Inherited

Inherited from object

Syntax

public static bool Equals(object objA, object objB)

Parameters

NameTypeDescription
objAobject?-
objBobject?-

Returns

Type: bool

GetHashCode Inherited Virtual

Inherited from object

Syntax

public virtual int GetHashCode()

Returns

Type: int

GetType Inherited

Inherited from object

Syntax

public System.Type GetType()

Returns

Type: System.Type

MemberwiseClone Inherited

Inherited from object

Syntax

protected internal object MemberwiseClone()

Returns

Type: object

ReferenceEquals Inherited

Inherited from object

Syntax

public static bool ReferenceEquals(object objA, object objB)

Parameters

NameTypeDescription
objAobject?-
objBobject?-

Returns

Type: bool

ToString Inherited Virtual

Inherited from object

Syntax

public virtual string ToString()

Returns

Type: string?