---
title: "Best Practices"
description: "Unless you have a specific reason for one for all or rest for one, use one for one. It's the simplest and most predictable. 3 restarts is a good default 1 restart for agents that shouldn't fail at all 10 restarts for age"
resource: https://www.aiagents.nexus/docs/manual/supervisors/best-practices
generated: { by: "process:nexus-agent-assets", at: 2026-09-07T09:13:03Z }
status: stable
---

# Supervisor Best Practices

## 1. Start with one-for-one

Unless you have a specific reason for one-for-all or rest-for-one, use one-for-one. It's the simplest and most predictable.

## 2. Set Reasonable Max Restarts

- **3 restarts** is a good default
- **1 restart** for agents that shouldn't fail at all
- **10 restarts** for agents in unstable environments

## 3. Use Supervisor Trees

Don't put all agents under one supervisor. Group related agents:

```
# ✗ Bad: flat structure
supervisor → [agent1, agent2, agent3, agent4, agent5]

# ✓ Good: grouped by function
root-supervisor
├── api-supervisor → [auth, data]
└── worker-supervisor → [proc1, proc2, proc3]
```

## 4. Monitor Restart Counts

High restart counts indicate a systemic problem. Don't just restart — investigate.

## 5. Combine with Cost Controls

Supervisors respect budget status. An agent with `budget_exceeded` status won't be restarted.

## 6. Test Failure Scenarios

Deliberately crash agents during development to verify your supervision tree works correctly.

## 7. Log Everything

Enable audit logging for supervisor events. You'll need the history when debugging production issues.
