Mechanism: Escalation
One-sentence definition
Escalation is a planned step-up when the current approach stalls — switch model, mode, human reviewer, narrower slice, or different tool — instead of repeating the same failing agent pass.
The problem
The same test fails on pass five. You switch to a “smarter” model and run pass six with the identical prompt. Still stuck. Escalation without diagnosis is random rerolling. Real escalation changes something structural: scope, evidence, cognition mode, or who is driving.
Teams burn quota on infinite loops because they never defined what to try next when stuck.
Symptoms:
- Same error message across many passes
- Model upgrades with no prompt or scope change
- Agent and human both stuck but nobody changes the task shape
- Fear of asking a colleague because “the AI should handle it”
How it works
Define an escalation ladder before the session — ordered steps, not vibes:
Level 0: Default agent + goal + constraints
│ fail / stuck
▼
Level 1: [Verify output](/mechanism-verify-loop/) + tighter [context](/mechanism-context-budget/)
│ still stuck
▼
Level 2: [Stuck detection](/mechanism-stuck-detection/) — change strategy (examples, interface-first, smaller slice)
│ still stuck
▼
Level 3: [Mode switch](/mechanism-mode-switching/) — Plan vs Debug vs Ask
│ still stuck
▼
Level 4: Stronger model or fresh chat with [handoff](/mechanism-session-handoff/)
│ still stuck
▼
Level 5: Human owns diagnosis; agent assists only on directed subtasksEach level changes inputs, not just model name. Document which level you reached — that is useful for retros.
When to use it
- After stuck detection fires (same failure N times)
- When pass count nears termination safety cap
- Security, data loss, or production incidents — escalate to human early
- Complex design forks — escalate to Plan mode or human before more code
When not to use it
- First failure — normal loop, not escalation
- Escalate to stronger model without new evidence — expensive Level 4 spam
- Escalate to human without handoff summary — wastes colleague time
Failure modes
Escalation = bigger model — Only Opus/Max, same bad prompt. Fix: Change slice, examples, or mode first.
Skipped levels — Jump to human on first typo. Fix: Follow ladder; humans for true blocks.
No handoff at Level 5 — “Can you look at this chat?” Fix: Summary: goal, tries, errors, diff state, hypothesis.
Escalation without rollback — Messy tree + new model. Fix: Reset to last green snapshot.
Infinite escalation — Every level tried, still spinning. Fix: Stop; split into smaller slice or spike.
Minimal example
Context: health.test.ts fails after four agent passes on verbose health.
Escalation path:
- L1: Paste full test output; add
@bootstrap.tsonly (context budget). - L2: Still same assertion → add example row for failing case; test-first.
- L3: Switch to Debug framing: “Why is uptime 0? Trace bootstrap order only.”
- L4: New chat, stronger model, handoff block with four failed attempts summarized.
- L5: You trace startup manually; agent only edits one line you identify.
Log: “Resolved at L3 — bootstrap order bug.”
Done when: You can name the level that worked and what changed at that level.
Tool instances (optional deep-dive)
Portable idea above; this section is tool-specific. Date: June 2026.
Cursor
- Mode switching: Plan → Agent → Debug as escalation steps.
- Model picker: Level 4 — document why prior model failed.
- New chat + handoff: Paste structured summary, not full transcript.
- Rules: “After 3 identical failures, propose escalation ladder step before next edit.”
Other tools
Tiered support playbooks, on-call escalation — same ladder metaphor.
Related mechanisms
- Stuck detection — trigger for escalation
- Mode switching — Level 3 tool
- Split & conquer — Level 2 slice narrowing
Try it yourself
Exercise: Write a 5-line escalation ladder for your default agent setup. One line per level — what changes besides “try again.”
You need: Your usual editor/agent; five minutes
Done when: Level 2 and Level 3 are different actions, not both “use a better prompt.”

