---
url: >-
  https://adk.nht.io/api/@nhtio/adk/turn_runner/interfaces/ToolExecutionEndEvent.md
description: >-
  Payload emitted on the observability bus when a tool's executor finishes
  (successfully or not).
---

# Interface: ToolExecutionEndEvent

Defined in: [lib/types/turn\_runner.ts:166](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/types/turn_runner.ts#L166)

Payload emitted on the observability bus when a tool's executor finishes (successfully or not).

## Remarks

Fired after the handler returns or throws. When `isError` is `true`, the handler threw and the
error has been wrapped in [@nhtio/adk!E\_TOOL\_DOWNSTREAM\_ERROR](../../exceptions/variables/E_TOOL_DOWNSTREAM_ERROR.md). `callId` carries the same
cross-bus join key as [ToolExecutionStartEvent.callId](ToolExecutionStartEvent.md#property-callid). Fires for both
[@nhtio/adk!Tool](../../forge/classes/Tool.md) and [@nhtio/adk!ArtifactTool](../../forge/classes/ArtifactTool.md) invocations — the payload is identical.

## Properties

| Property                                      | Type       | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Defined in                                                                                                        |
| --------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
|  `callId`         | `string`   | Cross-bus join key: `sha256({ tool, args })`, identical to [TurnToolCallContent.checksum](TurnToolCallContent.md#property-checksum) and [@nhtio/adk!ToolCall.checksum](../../forge/classes/ToolCall.md#property-checksum). This is **not** [@nhtio/adk!ToolCall.id](../../forge/classes/ToolCall.md#property-id). It collides by design for identical `(tool, args)` within a turn — that is what [@nhtio/adk!DispatchContext.toolCallCount](../../types/interfaces/DispatchContext.md#toolcallcount) counts. Order or disambiguate repeated calls by `startedAt` / `endedAt`. Empty string when not provided. | [lib/types/turn\_runner.ts:178](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/types/turn_runner.ts#L178) |
|  `durationMs` | `number`   | Duration of the execution in milliseconds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | [lib/types/turn\_runner.ts:184](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/types/turn_runner.ts#L184) |
|  `endedAt`       | `DateTime` | When execution ended.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | [lib/types/turn\_runner.ts:182](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/types/turn_runner.ts#L182) |
|  `isError`       | `boolean`  | `true` when the handler threw an error; the rejection reason is [@nhtio/adk!E\_TOOL\_DOWNSTREAM\_ERROR](../../exceptions/variables/E_TOOL_DOWNSTREAM_ERROR.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                   | [lib/types/turn\_runner.ts:186](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/types/turn_runner.ts#L186) |
|  `startedAt`   | `DateTime` | When execution started.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | [lib/types/turn\_runner.ts:180](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/types/turn_runner.ts#L180) |
|  `toolName`     | `string`   | Name of the tool that was executed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | [lib/types/turn\_runner.ts:168](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/types/turn_runner.ts#L168) |
|  `turnId`         | `string`   | ID of the turn in which the tool was executed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | [lib/types/turn\_runner.ts:170](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/types/turn_runner.ts#L170) |
