coleam00/Archon · error · Error

Cannot resume: the prior run for '${workflowName}' has no co

Error message

Cannot resume: the prior run for '${workflowName}' has no completed nodes and no interactive-loop state.

What it means

After loading prior run state, resume requires either completed nodes or interactive-loop state to reconstruct execution; if hydration succeeds but produces nothing resumable, the CLI refuses with this explanatory error rather than silently restarting or crashing later.

Source

Thrown at packages/cli/src/commands/workflow.ts:2973

  // The lookup-by-(workflowName, cwd) was already done above for worktree-path
  // resolution; reuse that result rather than querying twice.
  const deps = createWorkflowDeps();
  let prepared: Awaited<ReturnType<typeof hydrateResumableRun>> = null;
  if (options.resume && resumable) {
    try {
      prepared = await hydrateResumableRun(deps, resumable);
    } catch (error) {
      const err = error as Error;
      getLog().error(
        { err, workflowName, runId: resumable.id },
        'cli.workflow_hydrate_resume_failed'
      );
      throw new Error(
        `Cannot resume workflow '${workflowName}': failed to load prior run state — ${err.message}`
      );
    }
    if (!prepared) {
      throw new Error(
        `Cannot resume: the prior run for '${workflowName}' has no completed nodes and no interactive-loop state.`
      );
    }
  }

  // Execute workflow with workingCwd (may be worktree path). `undefined` until
  // assigned so the finally-block teardown can tell "threw before a result" from
  // a real terminal/paused result.
  let result: Awaited<ReturnType<typeof executeWorkflow>> | undefined;
  // A genuine container-teardown failure captured in the finally, rethrown AFTER
  // the finally when the run itself succeeded — so a leaked privileged container
  // fails the CLI instead of reporting success + exit 0.
  let containerTeardownError: Error | undefined;
  // Container run context for the engine (Phase C): the write-back backend port +
  // env id + policy. The executor drives suspend-on-pause and the write-back gate
  // through this. Absent for host/in-place runs.
  const containerRunCtx =
    containerBackend && containerEnvId

View on GitHub (pinned to 0773b97458)

Solutions

  1. Start a new run of the workflow — there is no prior progress to restore.
  2. Verify you are resuming the intended run (`archon workflow list --verbose`), not an empty/aborted one.
  3. If you expect completed nodes, check whether another process cleaned or rewrote the run state.
  4. Ensure no ambiguous owner (lock files) caused the state to be discarded.
Defensive patterns

Strategy: validation

Validate before calling

// confirm the run actually has progress before resuming
const runs = await getWorkflowStatus();
const target = runs.runs.find(r => r.id === resumable.id);
if (!target || (target.completedCount ?? 0) === 0) {
  throw new Error('Nothing to resume; start a fresh run');
}

Prevention

When it happens

Trigger: `archon workflow <name> --resume` targeting a run whose stored state has zero completed nodes and no interactive-loop checkpoint — the run failed or was cancelled before the first node finished, or state was cleared.

Common situations: Resuming a run that crashed during setup; a run cancelled immediately after creation; state pruned by cleanup; selecting the wrong run ID from `workflow list`.

Related errors


AI-assisted analysis of coleam00/Archon@0773b97458 (2026-09-01). Data as JSON: /api/errors/036ea235fd510696. Report an issue: GitHub.