Overview
How might we grant unattended agent runtime without signing a blank check on time, steps, or side effects?
When to use
- Long-running coding, research, or ops agents that work while the user is away.
- Workflows where a bounded window of autonomy trades speed for a natural checkpoint.
- Products that must prevent runaway loops before cost or impact spirals.
- Runs paired with review: extend budget only after someone inspects progress.
When to skip
- Single-step assistants that never run unattended.
- Fully supervised flows where every step already requires approval.
- When you only need a soft warning; use hard budget ceilings for spend, not just a timer toast.
States
Design the budget lifecycle, not only a timeout buried in settings.
- 01
Running
The agent works within caps. Time and step meters decrement legibly as work proceeds.
- 02
Approaching limit
Remaining budget is visible before exhaustion. Users can intervene early if the run drifts.
- 03
Paused
Either cap is hit. Execution stops with a clear status, not a silent stall or hidden cancel.
- 04
Review
The user inspects what the agent did during the budget window before granting more autonomy.
- 05
Extended
Explicit approval adds time or steps. The run resumes only after a deliberate gesture.
- 06
Complete
The task finishes within budget or the user ends the run. Meters reflect final usage.
Key UX elements
The parts that must be present for bounded unattended runs to feel trustworthy.
Caps
State the hard bounds up front.
Time and step limits are visible before and during the run, not only in a settings drawer.
Meters
Show used versus cap in flight.
Progress bars or counters update as the agent works so exhaustion never surprises.
Remaining
Surface what is left before pause.
Minutes and steps remaining help people intervene before the checkpoint, not after.
Pause
Stop with an unmistakable status.
When a cap hits, label the pause clearly and disable further unattended steps.
Extend
Require explicit approval to continue.
Adding budget is a deliberate act. Never auto-renew silently when limits expire.
Review
Offer a checkpoint before more autonomy.
Summarize what happened in the window so extend-or-stop is an informed choice.
Rules
Unbounded agent loops with only a cancel buried in a menu.
Budgets that expire silently and keep going.
No visible remaining time or step count during the run.
Extending the budget automatically without an explicit user gesture.
Evidence
| Product | Implementation |
|---|---|
| Cursor Agent | Max iterations / run bounds before the agent stops for review. |
| Claude Code | Session and tool-use caps that surface when limits approach. |
| Devin | Work units and scoped runs instead of open-ended autonomy. |
| GitHub Actions | Job timeouts as a hard ceiling on unattended execution. |