> 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 full documentation content, see https://docs.nvidia.com/nemo/relay/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Enum Finish Reason

> Normalized reason why the model stopped generating.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-ffi`.

<pre />

Normalized reason why the model stopped generating.

Maps from provider-specific stop reasons:

* **Complete**: OpenAI Chat `"stop"`, Anthropic `"end_turn"`, Responses `"completed"`
* **Length**: OpenAI Chat `"length"`, Anthropic `"max_tokens"`, Responses incomplete+max\_output\_tokens
* **ToolUse**: OpenAI Chat `"tool_calls"`, Anthropic `"tool_use"`
* **ContentFilter**: OpenAI Chat `"content_filter"`, Responses incomplete+content\_filter
* **Unknown**: Forward-compatible catch-all for unrecognized reasons

## Variants

### `Complete`

<pre />

Model naturally completed its response.

### `Length`

<pre />

Maximum token limit reached.

### `ToolUse`

<pre />

Model requested a tool call.

### `ContentFilter`

<pre />

Content was filtered by safety systems.

### `Unknown(String)`

<pre />

Unknown or forward-compatible reason.

## Implementations

### `impl FinishReason`

<pre />

#### `is_complete`

<pre />

Returns `true` if the model naturally completed its response.

Only the [`FinishReason::Complete`](/reference/api/rust-library-reference/nemo-relay/codec/response/enum-finishreason) variant returns `true`.

## Trait Implementations

### `impl Clone for FinishReason`

<pre />

#### `clone`

<pre />

#### `clone_from`

<pre />

### `impl Debug for FinishReason`

<pre />

#### `fmt`

<pre />

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

<pre />

#### `deserialize`

<pre />

### `impl PartialEq for FinishReason`

<pre />

#### `eq`

<pre />

#### `ne`

<pre />

### `impl Serialize for FinishReason`

<pre />

#### `serialize`

<pre />

### `impl Eq for FinishReason`

<pre />

### `impl StructuralPartialEq for FinishReason`

<pre />