Skip to content

Recover an interrupted agent

This guide recovers an agent that died or vanished: one interrupted by a live update, one the restart service declined, or one dismissed from the active list. It assumes you have the agent's name; if the run never started, see Unstick a queued agent instead.

Before you start

You need the agent's name as shown on the Agents tab or in sase agent list. Recovery keeps the same name and preserves the failure evidence with the new run.

1. Check whether it restarts itself

Agents interrupted by a live update restart automatically, once per run. List the pending and settled records, newest first:

sase agent auto-restart list -a

A launching or launched record means recovery is already moving; watch the Agents tab for the amber ↻ RESTARTING row. A declined record names its reason: provider errors, rate limits, kills, and post-model-turn deaths never restart automatically.

2. Retry a declined agent by hand

When the record says the run could not restart automatically, retry it yourself from the Agents tab. Its one automatic restart is spent only when a replacement already ran and broke again; anything else is a real failure worth investigating as one.

3. Re-arm after a storm pause

When many agents break in one update, the storm breaker pauses automatic recovery with an "Auto-restart paused" message. Re-arm it once the update proves safe:

sase agent auto-restart resume

4. Revive a dismissed agent

Dismissed runs never restart on their own. Select the run on the Agents tab and revive it (!R, or R to retry), then audit what happened:

sase revive-log --limit 20

If it goes wrong

Replay the classifier over recent failures without touching anything:

sase agent auto-restart scan -s 7d -l 50

The scan is read-only and explains each verdict. A row that sits pending with no ledger record means the scheduler is not running; start it and nothing was spent. For anything else, start with Diagnose problems with sase doctor.

_[project]: A sase project is a named unit of work registered with SASE. _[workspace]: A sase workspace is a numbered clone of a project's primary repo, managed by the workspace store and tracked in that project's registry.json. _[agent]: A sase agent is an agent session or a single agent that does not belong to a session. _[prompt]: A prompt is the text SASE hands to a provider to start an agent turn. _[macro]: A macro is a reusable prompt triggered with #name in agent prompts. _[Patch]: A Patch is SASE's local unit of change. _[bead]: A bead is one tracked work item in SASE's git-native issue tracker. _[plan]: A plan is a persisted, approved artifact recording the intent behind agent work. _[TUI]: The TUI is SASE's terminal interface for running agents and reviewing results. _[epic]: An epic is an executable multi-phase plan run with sase bead work. _[gate]: A sase gate is a durable, command-backed request for one user decision, created when work must pause for the user. _[monitor]: A sase monitor is a monitor turn that runs one long command under a detached supervisor, so the command outlives the agent that started it. *[stitch]: A stitch is the lightweight ordered change record inside a Patch's STITCHES: section.