maxTurns: The Agent Safety Net
Day 50 · Week 10 · Mastery
Slack Message — copy & paste
🤖 Tip #50 — Set maxTurns on every agent to prevent infinite loops — a stuck agent without it burns tokens into oblivion.
#50 Claude Code
Why Agents Need Limits
- **The problem** — Without maxTurns, a stuck agent loops forever. Agent tries to fix a test, fails, tries again, tries a different approach, reverts, retries... 200 turns later, you've spent $50 and the test still fails.
- **The fix** — `maxTurns` in agent frontmatter sets a hard cap. When the agent hits the limit, it stops and returns what it has. Partial results are better than infinite loops.
- **Frequent hits signal a problem** — If an agent frequently hits maxTurns, the task is too complex for one agent. Break it into smaller subtasks or add better instructions to guide the agent more efficiently.
- **Critical for autonomous agents** — A Lambda-based agent without maxTurns could run for hours. Set conservative limits and handle partial completion gracefully.
maxTurns Safety Loops
#50 Mastery
Setting the Right Values
- 1 **Right-sizing by agent type**
- › Haiku lookup agents — maxTurns 10-15
- › Sonnet implementation agents — maxTurns 40-50
- › Opus review agents — maxTurns 30-50
- › Autonomous pipeline agents — conservative limits (15-30)
- 2 **Start conservative** — Begin with lower values and increase only if agents consistently need more turns to complete their tasks. It's cheaper to bump a limit than to burn tokens on a runaway.
- 3 **Audit your agents** — Check every agent definition for missing maxTurns. Any agent without one is a potential runaway. Add limits to all of them.
- 4 **Handle partial completion** — Design your skills to accept partial results gracefully. A code review that covers 80% of files is better than one that loops forever trying to cover 100%.
maxTurns Safety Loops
Your screenshot here Optional — add a screenshot from your own workflow