coleam00/Archon · error · Error
No workflows found in .archon/workflows/
Error message
No workflows found in .archon/workflows/
What it means
Error "No workflows found in .archon/workflows/" thrown in coleam00/Archon.
Source
Thrown at packages/cli/src/commands/workflow.ts:1555
let { workflows: workflowEntries, errors } = continuation
? { workflows: continuation.workflows, errors: continuation.errors }
: preparedSource
? await discoverWorkflowsWithConfig(cwd, loadConfig, preparedSource.roots)
: await loadWorkflows(effectiveDiscoveryCwd);
const sourceCounts = countWorkflowSources(workflowEntries);
if (!options.json && !options.quiet) {
console.log(
`Discovery: root=${effectiveDiscoveryCwd} workflows=${String(workflowEntries.length)} ` +
`bundled=${String(sourceCounts.bundled)} global=${String(sourceCounts.global)} ` +
`project=${String(sourceCounts.project)}`
);
}
if (workflowEntries.length === 0 && errors.length === 0) {
// No manual cleanup here or anywhere else in this function: the owner reclaims
// anything unadopted on the way out, which is the point of having one.
throw new Error('No workflows found in .archon/workflows/');
}
const workflows = workflowEntries.map(ws => ws.workflow);
// A continuation executes the graph it froze; only a fresh invocation resolves by name.
let workflow = continuation?.workflow ?? resolveWorkflowName(workflowName, workflows);
// Recover the discovery entry (dropped by the .map above) for telemetry —
// bundled workflows report their real name, custom ones report "custom" —
// and for the parse warnings surfaced just below.
let workflowEntry = workflow ? workflowEntries.find(ws => ws.workflow === workflow) : undefined;
let workflowSource = workflowEntry?.source;
// An adoption lane that executes inside an inherited or freshly cut worktree must run
// THAT checkout's `.archon`, not the parent checkout's bytes captured on entry — the
// branch may carry a different workflow YAML, and executing one against the other is
// exactly the mixed-vintage defect (#2660/#2747). Re-freeze the source and re-discover
// from the lane path once the lane resolves it.
const recaptureForLane = async (sourceRoot: string): Promise<void> => {View on GitHub (pinned to 0773b97458)
When it happens
Trigger: Thrown at packages/cli/src/commands/workflow.ts:1555 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of coleam00/Archon@0773b97458 (2026-09-01).
Data as JSON: /api/errors/33df1d66e6c67cdd.
Report an issue: GitHub.