Skip to main content
The Step class is a Python Context Manager that can be used to create steps in your chainlit app. The step is created when the context manager is entered and is updated to the client when the context manager is exited.

Parameters

str
The name of the step. Default to the name of the decorated function.
Enum
default:"undefined"
The type of the step, useful for monitoring and debugging.
List[Element]
Elements to attach to the step.
str
Union[bool, str]
default:false
By default only the output of the step is shown. Set this to True to also show the input. You can also set this to a language like json or python to syntax highlight the input.
bool
default:false
Whether the step should render expanded by default in the UI.
Since version 2.3.0. Requires a defaultOpen column in the steps table for SQL-based data layers. See the migration guide.
Dict
Custom metadata dictionary to attach to the step. Persisted with the step in the data layer.
List[str]
Tags to attach to the step for filtering and categorization.
str
Unique identifier for the step. Auto-generated as a UUID if not provided.
str
ID of the parent step. Automatically resolved from the context manager nesting hierarchy if not provided.
str
Name of a Lucide icon to display instead of the default step avatar. See https://lucide.dev/icons for available icons.
Since version 2.11.0.
str
ID of the thread this step belongs to. Automatically resolved from the current session context if not provided.

Send a Step

Stream the Output

Nest Steps

To nest steps, simply create a step inside another step.

Update a Step

Remove a Step