Skip to content

AfterToolCallEvent

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

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:319

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:299


readonly agent: LocalAgent;

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


readonly toolUse: ToolUseData;

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


readonly tool: Tool;

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


result: ToolResultBlock;

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

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:310


readonly invocationState: InvocationState;

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


optional retry?: boolean;

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

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:347

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; }; }