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
- Run `bun run cli workflow resume <resolvedId>` as directed by the message.
- Inspect the `cause` and `cli.workflow_respond_resume_failed` log entry for the root failure.
- Restore/recreate the working directory (and permissions) before retrying.
- 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
- Use `workflow resume <id>` to retry — never resubmit the decision
- Read the wrapped `cause` to find the true failure
- Guard gate-awaiting workspaces from cleanup tooling
- Check for concurrent actors before retrying the resume
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
- Approved but failed to resume workflow '${result.workflowNam
- Rejected but failed to resume workflow '${result.workflowNam
- Cannot resume: the working path from the run no longer exist
- Workflow run '${resolvedId}' has no working path recorded. C
- Failed to resume workflow '${run.workflow_name}': ${err.mess
AI-assisted analysis of coleam00/Archon@0773b97458 (2026-09-01).
Data as JSON: /api/errors/9d0703c8e424c386.
Report an issue: GitHub.