coleam00/Archon · error

Response recorded but failed to resume workflow '${result.wo

Error message

Response recorded but failed to resume workflow '${result.workflowName}': ${err.message}
The response was recorded. Run 'bun run cli workflow resume ${resolvedId}' to retry.

What it means

The response (approve/reject-style decision) was recorded, but the automatic resume that follows threw an error. The CLI logs `cli.workflow_respond_resume_failed`, preserves the original error as `cause`, and provides the exact resume command so the operator knows the decision does not need to be re-submitted.

Source

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

    const discoveryCwd = result.codebaseId
      ? await resolveDiscoveryCwdForCodebase(resolvedId, result.codebaseId, 'respond')
      : undefined;

    await workflowRunCommand(result.workingPath, result.workflowName, result.userMessage ?? '', {
      // Continue from the source this run froze, not a fresh capture of the target.
      continuationRun: (await workflowDb.getWorkflowRun(resolvedId)) ?? undefined,
      resume: true,
      codebaseId: result.codebaseId ?? undefined,
      conversationId: platformConversationId,
      discoveryCwd,
    });
  } catch (error) {
    const err = error as Error;
    getLog().error(
      { err, runId: resolvedId, workflowName: result.workflowName },
      'cli.workflow_respond_resume_failed'
    );
    throw new Error(
      `Response recorded but failed to resume workflow '${result.workflowName}': ${err.message}\n` +
        `The response was recorded. Run 'bun run cli workflow resume ${resolvedId}' to retry.`,
      { cause: err }
    );
  }
}

/**
 * Reset persisted per-node provider sessions for a workflow.
 *
 * Filter rules:
 *   - workflow-name required (positional)
 *   - --scope <key>: restrict to one scope (e.g. a conversation UUID); when
 *     omitted, deletes across ALL scopes (use --yes to skip the confirmation)
 *   - --node <id>: restrict to one node within the scope
 *   - --json: machine-readable output
 */
export async function workflowResetSessionsCommand(

View on GitHub (pinned to 0773b97458)

Solutions

  1. Run `bun run cli workflow resume <resolvedId>` as directed by the message.
  2. Inspect the `cause` and `cli.workflow_respond_resume_failed` log entry for the root failure.
  3. Restore/recreate the working directory (and permissions) before retrying.
  4. Check the run state — if already terminal via another actor, no retry is required.

Example fix

// before
catch (error) { throw error; } // operator can't tell if response recorded
// after
catch (error) {
  getLog().error({ err: error, runId: resolvedId }, 'cli.workflow_respond_resume_failed');
  throw new Error(`Response recorded but failed to resume: ${(error as Error).message}\nRun 'bun run cli workflow resume ${resolvedId}' to retry.`, { cause: error });
}
Defensive patterns

Strategy: retry

Validate before calling

const stat = await fs.promises.stat(run.working_path).catch(() => null);
if (!stat?.isDirectory()) throw new Error(`Workspace ${run.working_path} missing; restore before responding.`);

Type guard

null

Try / catch

try {
  await respondToWorkflow(resolvedId, decision, text);
  await resumeWorkflow(resolvedId);
} catch (err) {
  getLog().error({ err, runId: resolvedId }, 'cli.workflow_respond_resume_failed');
  console.error(`Response recorded. Retry with: bun run cli workflow resume ${resolvedId}`);
  process.exitCode = 1;
}

Prevention

When it happens

Trigger: `workflow respond <id> <decision>` where the decision persists but resume fails: workspace directory missing or unwritable, child process spawn failure, run concurrently terminated elsewhere, or transient database/storage error.

Common situations: Workspaces reaped by cleanup jobs while awaiting the gate; container removed between decision and resume; duplicate concurrent responses; permission drift on the checkout directory.

Related errors


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