> 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.

# Function tool_call_execute

> Execute a tool call through the managed middleware pipeline.

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 />

Execute a tool call through the managed middleware pipeline.

This runs conditional-execution guardrails, request intercepts, sanitize-request guardrails, execution intercepts, the tool callback, and sanitize-response guardrails in the runtime-defined order.

## Parameters

* `name`: Tool name recorded on emitted lifecycle events.
* `args`: Raw tool arguments passed into the managed pipeline.
* `func`: Tool callback or execution continuation.
* `parent`: Optional explicit parent scope for the emitted tool span.
* `attributes`: Tool attribute bitflags applied to the managed span.
* `data`: Optional application payload stored on the managed tool handle. It may be used on failure end events that have no output payload.
* `metadata`: Optional JSON metadata recorded on emitted events.

## Returns

A [`Result`](/reference/api/rust-library-reference/nemo-relay/error/type-result) containing the raw tool result returned by the callback or an execution intercept.

## Errors

Returns [`FlowError::GuardrailRejected`](/reference/api/rust-library-reference/nemo-relay/error/enum-flowerror) when conditional-execution guardrails block the call, or any error raised by request intercepts, execution intercepts, or the callback itself.

## Notes

When execution fails after the start event has been emitted, the runtime still emits a tool-end event without an output payload.