Stop Conditions
Prevent infinite loops and enforce predictable completion behavior.
Configuring Stop Rules
TypeScript
const result = await client.callModel({
model,
input,
stop: {
max_steps: 6,
stop_sequences: ["END_PLAN"],
require_final_text: true,
},
});Stop Object
| Name | Type | Required | Description |
|---|---|---|---|
max_steps | integer | Maximum turns including tool iterations. | |
stop_sequences | string[] | Sequences that terminate generation. | |
require_final_text | boolean | Require plain-text assistant output before stop. | |
timeout_ms | integer | Time budget for the whole run. |
Defensive Defaults
stop-defaults.ts
const DEFAULT_STOP = {
max_steps: 8,
timeout_ms: 25_000,
require_final_text: true,
};Latency budgeting
Always set an overall timeout for user-facing requests to avoid hanging interfaces.