> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Struct Tool Handle

> Runtime-owned handle identifying an active or completed tool call.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`.

<pre />

Runtime-owned handle identifying an active or completed tool call.

## Fields

### `uuid: Uuid`

Unique tool-call identifier.

### `started_at: DateTime<Utc>`

Timestamp captured when the tool handle was created.

### `name: String`

Tool name recorded on lifecycle events.

### `data: Option<Json>`

Optional application payload stored on the handle.

### `metadata: Option<Json>`

Optional metadata attached to the tool span.

### `attributes: ToolAttributes`

Tool behavior flags.

### `parent_uuid: Option<Uuid>`

UUID of the parent scope, if any.

### `tool_call_id: Option<String>`

Optional provider-specific tool-call correlation identifier.

## Implementations

### `impl ToolHandle`

<pre />

#### `builder`

<pre />

Create a builder for building `ToolHandle`. On the builder, call `.uuid(...)`(optional), `.started_at(...)`(optional), `.name(...)`, `.data(...)`(optional), `.metadata(...)`(optional), `.attributes(...)`(optional), `.parent_uuid(...)`(optional), `.tool_call_id(...)`(optional) to set the values of the fields. Finally, call `.build()` to create the instance of `ToolHandle`.

## Trait Implementations

### `impl Clone for ToolHandle`

<pre />

#### `clone`

<pre />

#### `clone_from`

<pre />

### `impl Debug for ToolHandle`

<pre />

#### `fmt`

<pre />

### `impl<'de> Deserialize<'de> for ToolHandle`

<pre />

#### `deserialize`

<pre />

### `impl Serialize for ToolHandle`

<pre />

#### `serialize`

<pre />