{"record":{"id":"a9172de209f5d054","repo":"coleam00/Archon","slug":"no-resumable-run-found-for-workflow-workflownam","errorCode":null,"errorMessage":"No resumable run found for workflow '${workflowName}' at path '${cwd}'.","messagePattern":"No resumable run found for workflow '(.+?)' at path '(.+?)'\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/cli/src/commands/workflow.ts","lineNumber":2080,"sourceCode":"        supersededRunId = await resolveRunIdArg(\n          options.supersedesRunId,\n          cwd,\n          false,\n          detachCodebase.id\n        );\n        await resolveSupersededRun(supersededRunId);\n      }\n    }\n\n    // The run id the ack hands back. A continuation already has one; a fresh launch\n    // gets a row written below, before the fork.\n    let detachedRunId: string;\n    // Only a row THIS process created may be failed when the child never takes it.\n    // A continuation's row belongs to its own run.\n    let launchedRunId: string | undefined;\n    if (isContinuation) {\n      if (resumeLookupError) throw buildResumeLookupFailureError(resumeLookupError);\n      if (!continuationRun) throw buildNoResumableRunError(workflowName, cwd);\n      detachedRunId = continuationRun.id;\n    } else {\n      // `Started` must mean a queryable run, so the row is written before the fork and\n      // the child executes it rather than creating its own. Modeled on the\n      // orchestrator's pre-created row (dispatchBackgroundWorkflowOwned), including\n      // the stamps the executor only writes when IT creates the row. `working_path` is\n      // the one field this process cannot know — the child cuts the worktree — so it\n      // stays null until the child fills it in (write-once in the store).\n      let detachedConversation;\n      try {\n        detachedConversation = await conversationDb.getOrCreateConversation(\n          'cli',\n          childConversationId\n        );\n      } catch (error) {\n        const err = error as Error;\n        throw new Error(\n          `Failed to access database: ${err.message}\\nHint: Check that DATABASE_URL is set and the database is running.`","sourceCodeStart":2062,"sourceCodeEnd":2098,"githubUrl":"https://github.com/coleam00/Archon/blob/0773b9745896ef0612e709c80845a0f7db315b19/packages/cli/src/commands/workflow.ts#L2062-L2098","documentation":"The CLI could not find any resumable run for the given workflow name in the current directory when --resume was requested. The continuation lookup completed without error, but no matching run row exists, so the pre-flight throws buildNoResumableRunError(workflowName, cwd) instead of forking a child that would silently have nothing to resume. Message: 'No resumable run found for workflow <name> at path <cwd>.'","triggerScenarios":"Running `archon workflow run <name> --resume` (or with --detach) from a directory or for a workflow name that has no prior failed/interrupted run row matching both the workflow and the project path — the isContinuation / resume branch where continuationRun is undefined.","commonSituations":"Running --resume from a different checkout path than the original run; misspelling the workflow name; the previous run already completed or was resumed once (no longer resumable); the database was wiped or points at a different environment.","solutions":["Run from the same project path where the original run was launched","Confirm the exact workflow name as registered/discovered","Check the runs list (CLI/UI) to see whether a resumable run exists for that project","If no run exists, launch a fresh run without --resume"],"exampleFix":"// before\npnpm archon workflow run fix-issue --resume   # wrong cwd\n// after\ncd /path/to/original/checkout\npnpm archon workflow run fix-issue --resume","handlingStrategy":"validation","validationCode":"// before `run --resume`, confirm a resumable run exists for this workflow+cwd\nconst runs = await listRuns({ workflow: name, cwd: process.cwd(), resumableOnly: true });\nif (runs.length === 0) throw new Error(`No resumable run for '${name}' at ${process.cwd()}`);","typeGuard":null,"tryCatchPattern":"try {\n  await runWorkflow(name, { resume: true });\n} catch (e) {\n  if (String(e.message).startsWith('No resumable run found')) {\n    // fall back to a fresh launch or correct the cwd/workflow name\n  } else throw e;\n}","preventionTips":["Resume from the same directory the original run was started in","Verify the workflow name matches the registered/discovered name","Check run state in the UI/CLI first; completed runs are not resumable","Script a runs lookup before any automated --resume call"],"tags":["cli","resume","run-lookup","detach"],"backgroundTag":"no-resumable-run","analyzedSha":"0773b9745896ef0612e709c80845a0f7db315b19","analyzedAt":"2026-09-01T02:28:07.064Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T05:18:18.240Z"}