Escalation Is The Decision To Slow Down On Purpose
An AI agent escalation policy is not just a safety checklist. It is a shared agreement about when the system should keep moving, when it should ask, when it should pause, and when a human needs to take the next step.
Without that policy, every blocked run becomes a one-off judgment call. Claude Code and Codex can still be useful in that environment, but the team has to improvise the response every time.
Junction helps by keeping the current session, live output, approvals, and diffs in one place while the agent still runs locally on the daemon machine.
Define Four Escalation Levels
A useful policy is usually easier to follow if it has four levels:
- Continue.
- Ask.
- Pause.
- Handoff.
Continue
Continue when the request is inside the prompt, the repo is correct, and the next step is a normal edit or test.
Ask
Ask when the agent needs more context or the next command is not obvious.
Pause
Pause when the work is drifting, the run is repeating itself, or the diff is getting wider without a clear reason.
Handoff
Handoff when ownership changes, the task is no longer yours, or the run needs a person with more context, more time, or a different review role.
That structure is simple enough to remember and specific enough to use in real time.
Common Escalation Triggers
Most escalation policies fail because they are too vague. The trigger list should be concrete:
- the repo or branch is wrong,
- the diff is wider than the prompt,
- the agent asks for a risky or destructive command,
- the run repeats the same failure,
- the task has moved into shared state,
- the command affects production or a release branch,
- the output no longer matches the requested work,
- or the human owner is no longer available to review.
Those are the moments when "keep going" becomes a bad default.
A Practical Decision Table
| Situation | Escalation |
|---|---|
| Small scoped edit in the right repo | Continue |
| Agent needs one clarifying detail | Ask |
| Diff grows outside the task | Pause |
| Command touches shared state | Pause or handoff |
| Shift is ending and review is unfinished | Handoff |
| Incident or release risk is unclear | Handoff |
The table is not the policy itself. It is the fast reference that helps the policy stay consistent.
Example: Escalate Before The Diff Grows
Suppose the agent is fixing a failing test. The first edit is reasonable. The second change starts touching unrelated setup code. The third change reaches into a helper that was not part of the original problem.
That is the moment to pause.
You can either narrow the prompt or hand the task back to a human for a reset. Continuing blindly just produces a larger diff that is harder to explain later.
The same logic applies when the agent wants to keep expanding its command scope. A clear escalation policy gives you a reason to stop before the task becomes unsalvageable.
How Junction Makes Escalation Visible
Junction's value is that the signals are visible in one place:
- live output shows the run drift,
- approvals show the risky command,
- diffs show the actual scope,
- and notifications tell you when the agent is blocked or waiting.
That matters because escalation is mostly about noticing that the work no longer fits the original decision. The browser surface makes that easier than switching between terminals, chats, and file browsers.
If you want a related signaling model, What AI Coding Agent Notifications Should Actually Tell You is a useful companion post.
Write The Policy In Plain Language
The policy should be short enough that a teammate can repeat it from memory:
Escalation policy:
- Continue when the next step is obvious and low risk.
- Ask when the agent needs one more piece of context.
- Pause when the task drifts or the diff grows without explanation.
- Handoff when the work touches shared state, release risk, or a new owner.That is enough structure for most teams. The details can live in a repo-specific checklist.
Tradeoffs
A clear escalation policy will sometimes interrupt work that could have continued. That is acceptable.
The more serious risk is the opposite: letting uncertain work continue because no one wants to make the call. A policy removes that hesitation.
The other tradeoff is that some people will resist explicit handoffs. They should not. A handoff is not failure. It is a clean boundary in a shared workflow.
Where Junction Fits
Junction keeps the agent local and the decision surface visible. That makes it practical to stop, steer, or hand off Claude Code and Codex runs without digging through terminal history or rebuilding the task from memory.
If you are setting this up for the first time, start with the setup guide and then compare pricing if your team needs more daemons or Switchboard. For the handoff side of the same problem, shift handoff for AI agents is the natural next read.