Pattern
INT·Jun 26
Loop Control: stopWhen
Demonstrate ToolLoopAgent loop control with stopWhen. Covers stepCountIs, hasToolCall, combined conditions, and a custom StopCondition with step timeline visualization.
View Full Pattern on Desktop

Problems Solved
- Control agent loop length with stepCountIs
- Stop agent loops when a specific tool is called
- Combine multiple stopWhen conditions
- Implement custom StopCondition logic
- Inspect agent steps and tool calls after a run
Use Cases
- Limit runaway agent tool loops
- Stop when a completion tool is invoked
- Budget agent steps in production workflows
- Custom termination based on step history
AI SDK APIs
ToolLoopAgentstopWhenstepCountIshasToolCallStopConditiontoolgateway
Tags
aiagentsloop-controlstop-whenstep-count-ishas-tool-calltool-loop-agentai-sdkagent-api
Requirements
- Node.js
- 24+
- Memory
- 512MB
- Other
- OpenAI API key
Environment Variables
OPENAI_API_KEYGet key →
External Services
openai
Ready to use?
View the full interactive pattern with live preview and copy the source code.
View Pattern on DesktopRelated Patterns


PrepareStep: Trim Message History
Demonstrate ToolLoopAgent prepareStep for trimming long message history. Pre-seeded 24-message conversation shows context compression on the first run with per-step trim telemetry.
aiagents+6
View →


Tool Context: experimental_context
Inject request-scoped context (user identity, database handles, session) into ToolLoopAgent tools via experimental_context, so the model never supplies sensitive identity in tool inputs.
aiagents+7
View →
End of Pattern



