Skip to content

AfterToolCallEvent

Defined in: src/hooks/events.ts:312

Event triggered after a tool execution completes. Fired after tool execution finishes, whether successful or failed. Uses reverse callback ordering for proper cleanup semantics.

Hook callbacks can mutate result to rewrite the tool result before it propagates to the model (e.g. to redact or truncate output).

new AfterToolCallEvent(data): AfterToolCallEvent;

Defined in: src/hooks/events.ts:333

ParameterType
data{ agent: LocalAgent; toolUse: ToolUseData; tool: Tool; result: ToolResultBlock; invocationState: InvocationState; error?: Error; }
data.agentLocalAgent
data.toolUseToolUseData
data.toolTool
data.resultToolResultBlock
data.invocationStateInvocationState
data.error?Error

AfterToolCallEvent

HookableEvent.constructor

readonly type: "afterToolCallEvent";

Defined in: src/hooks/events.ts:313


readonly agent: LocalAgent;

Defined in: src/hooks/events.ts:314


readonly toolUse: ToolUseData;

Defined in: src/hooks/events.ts:315


readonly tool: Tool;

Defined in: src/hooks/events.ts:316


result: ToolResultBlock;

Defined in: src/hooks/events.ts:322

The tool result. Can be replaced by hook callbacks to transform the result before it enters the conversation history.


readonly optional error?: Error;

Defined in: src/hooks/events.ts:324


readonly invocationState: InvocationState;

Defined in: src/hooks/events.ts:325


optional retry?: boolean;

Defined in: src/hooks/events.ts:331

Optional flag that can be set by hook callbacks to request a retry of the tool call. When set to true, the agent will re-execute the tool.

toJSON(): Pick<AfterToolCallEvent, "toolUse" | "type" | "result"> & {
error?: {
message?: string;
};
};

Defined in: src/hooks/events.ts:361

Serializes for wire transport, excluding the agent reference, tool instance, invocationState, and mutable retry flag. Converts Error to an extensible object for safe wire serialization. Called automatically by JSON.stringify().

Pick<AfterToolCallEvent, "toolUse" | "type" | "result"> & { error?: { message?: string; }; }