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

  1. Re-run the command with the full, exact workflow name from the candidate list shown in the message.
  2. List available workflows (`/workflow list` or `archon workflow list`) to confirm the exact identifier.
  3. 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

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


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