coleam00/Archon · error · Error
Ambiguous workflow '${workflowName}'. Did you mean:\n${candi
Error message
Ambiguous workflow '${workflowName}'. Did you mean:\n${candidates} What it means
Thrown when resolving a workflow name matches multiple loaded workflows, so the command cannot pick one unambiguously. handleWorkflowCommand catches the resolver's ambiguity error, logs it as cmd.workflow_resolve_ambiguous, and returns success:false with the message listing the candidate names after 'Did you mean:'.
Source
Thrown at packages/core/src/handlers/command-handler.ts:1172
count: workflows.length,
names: workflows.map(w => w.name),
searchingFor: workflowName,
},
'cmd.workflows_discovered'
);
let workflow: WorkflowDefinition | undefined;
try {
workflow = resolveWorkflowName(workflowName, workflows);
} catch (err) {
// Ambiguous match — surface the candidates to the user
getLog().warn(
{ requested: workflowName, error: (err as Error).message },
'cmd.workflow_resolve_ambiguous'
);
return {
success: false,
message: (err as Error).message,
};
}
if (!workflow) {
// Check if the requested workflow had a load error
const loadError = findWorkflowLoadError(loadErrors, workflowName);
if (loadError) {
return {
success: false,
message: `Workflow \`${workflowName}\` failed to load: ${loadError.error}\n\nFix the YAML file and try again.`,
};
}
getLog().warn(
{ requested: workflowName, available: workflows.map(w => w.name) },
'cmd.workflow_not_found'
);
return {
success: false,View on GitHub (pinned to 0773b97458)
Solutions
- Re-run the command with the full, exact workflow name from the candidate list shown in the message.
- List available workflows (`/workflow list` or `archon workflow list`) to confirm the exact identifier.
- Rename or uninstall the colliding workflow pack if the ambiguity persists across authors.
Example fix
// before /workflow fix // after /workflow fix-issue
Defensive patterns
Strategy: validation
Validate before calling
const matches = listWorkflows().filter(w => w.name === requestedName);
if (matches.length === 0) throw new Error(`Unknown workflow '${requestedName}'`);
if (matches.length > 1) throw new Error(`Ambiguous workflow '${requestedName}'; use the exact name`); Try / catch
try {
await handleWorkflowCommand(name);
} catch (e) {
if (/^Ambiguous workflow/.test((e as Error).message)) {
const candidates = (e as Error).message.split('Did you mean:')[1];
console.log(`Pick one of:${candidates}`);
} else throw e;
} Prevention
- Always invoke workflows by their exact registered name (check `/workflow list`).
- Avoid relying on prefix matching in scripts.
- Rename colliding workflows when installing additional workflow packs.
- Tab-complete or copy workflow names rather than typing abbreviations.
When it happens
Trigger: Invoking `/workflow <name>` (or the CLI equivalent) with a workflowName that prefix/fuzzy-matches several registered workflows — e.g. 'fix' matching 'fix-issue' and 'fix-lint', or two workflow packs exporting similarly named workflows.
Common situations: Typing a partial workflow name assuming unique-prefix resolution; installing an additional workflow pack whose names collide with existing ones; renamed workflows leaving an old alias that overlaps a new one.
Related errors
- Failed to sync repository to ${defaultBranch}. Try /reset or
- Cannot execute run '${detachedPreCreatedRun.id}': it belongs
- Dry-run failed; missing stubs: ${blockingMissingStubs.join('
- result.error
- Failed to get workflow run: ${err.message}
AI-assisted analysis of coleam00/Archon@0773b97458 (2026-09-01).
Data as JSON: /api/errors/a1cea666c47c692f.
Report an issue: GitHub.