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

NameTypeRequiredDescription
max_steps
integerMaximum turns including tool iterations.
stop_sequences
string[]Sequences that terminate generation.
require_final_text
booleanRequire plain-text assistant output before stop.
timeout_ms
integerTime 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.