---
url: >-
  https://adk.nht.io/api/@nhtio/adk/turn_runner/type-aliases/EmitToolExecutionStartFn.md
description: >-
  A function that emits a `toolExecutionStart` event on the {@link
  @nhtio/adk!TurnRunner} observability bus.
---

# Type Alias: EmitToolExecutionStartFn

```ts
type EmitToolExecutionStartFn = (event: ToolExecutionStartEvent) => void;
```

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

A function that emits a `toolExecutionStart` event on the [@nhtio/adk!TurnRunner](../classes/TurnRunner.md) observability bus.

## Parameters

| Parameter | Type                                                                  |
| --------- | --------------------------------------------------------------------- |
| `event`   | [`ToolExecutionStartEvent`](../interfaces/ToolExecutionStartEvent.md) |

## Returns

`void`

## Remarks

Injected into both [@nhtio/adk!TurnContext](../../types/interfaces/TurnContext.md) and `DispatchContext` so `Tool.executor()` can emit
lifecycle events without holding a reference to the runner or its emitter. Tool execution
happens inside an LLM dispatch loop; `DispatchContext` is the canonical context the tool
handler receives.
