StopAgentRun exception allows you to exit the model execution loop and end the agent run. When raised from a tool function, the agent immediately exits the tool call loop, and the run status is set to COMPLETED. All session state, messages, tool calls, and tool results up to that point are stored in the database.
This does not cancel the agent run. It completes the run gracefully after exiting the tool call loop.
Constructor
Parameters
The reason for stopping execution. This message is logged and can be used for debugging or user feedback.
An optional message to display to the user about why execution stopped.
An optional message from the agent’s perspective about the stop.
An optional list of messages to add to the conversation history before stopping.
When to Use
UseStopAgentRun when:
- Critical errors: An error occurs that cannot be recovered from
- Security triggers: A security threshold or policy is violated
- Task completion: The task is fully completed and no further tool calls are needed
- Resource limits: A resource limit (time, cost, API calls) is reached
- Manual intervention needed: The situation requires human review or approval
- Early termination: You want to exit the tool call loop based on business logic
Behavior
WhenStopAgentRun is raised:
- The tool call loop exits immediately
- No further tool calls are executed
- The run status is set to
COMPLETED - All session state is saved to the database
- All messages and tool calls up to that point are preserved
- The optional
user_messageoragent_messagecan be displayed to the user