> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Step End • AI Agent SDK

> step_end: A flow step ends: ``completed``, ``failed``, ``skipped`` or ``cached``.

# step\_end

Method

> This is a method of the [**ContextTraceEmitter**](https://praison.ai/docs/sdk/reference/praisonaiagents/classes/ContextTraceEmitter.md) class in the [**context\_events**](https://praison.ai/docs/sdk/reference/praisonaiagents/modules/context_events.md) module.

A flow step ends: `completed`, `failed`, `skipped` or `cached`.

`variables` are the workflow variables the step itself set (a handler's
`StepResult.variables`); recorded redacted so a re-run that reuses the
step can restore them.

## Signature

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
def step_end(name: Optional[str], status: str, duration_ms: float, output: Any, route: Optional[str], node_id: Optional[str], agent: Optional[str], variables: Optional[Dict[str, Any]]) -> None
```

## Parameters

**name** `Optional[str]` *required*

No description available.

**status** `str` *required*

No description available.

**duration\_ms** `float` (default: 0.0)

No description available.

**output** `Any`

No description available.

**route** `Optional[str]`

No description available.

**node\_id** `Optional[str]`

No description available.

**agent** `Optional[str]`

No description available.

**variables** `Optional`

No description available.

## Uses

* `ContextEvent`
* `time.time`

## Source

> [card] [View on GitHub](https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/trace/context_events.py#L1298)
>
> `praisonaiagents/trace/context_events.py` at line 1298


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.