argoproj/argo-workflows · error
Multiple archived workflows found with name '%s': %s (Crea
Error message
Multiple archived workflows found with name '%s': %s (Created: %s, Finished: %s) Please specify the UID.
What it means
resolveUID maps a workflow name to its unique UID in the archive. If multiple archived workflows share the same name (Argo permits name reuse across archive entries), it cannot disambiguate and returns an error listing each match's UID, created and finished timestamps, asking the user to specify the UID.
Source
Thrown at cmd/argo/commands/archive/util.go:68
resp, err = serviceClient.ListArchivedWorkflows(ctx, req)
if err != nil {
return "", fmt.Errorf("list archived workflows: %w", err)
}
matches = append(matches, resp.Items...)
}
if len(matches) == 0 {
return "", fmt.Errorf("archived workflow '%s' not found", identifier)
}
if len(matches) > 1 {
var msg strings.Builder
fmt.Fprintf(&msg, "Multiple archived workflows found with name '%s':\n", identifier)
for _, wf := range matches {
fmt.Fprintf(&msg, " %s (Created: %s, Finished: %s)\n", wf.UID, humanize.Timestamp(wf.CreationTimestamp.Time), humanize.Timestamp(wf.Status.FinishedAt.Time))
}
msg.WriteString("Please specify the UID.")
return "", errors.New(msg.String())
}
return string(matches[0].UID), nil
}
View on GitHub (pinned to 35bff19146)
Solutions
- Use the UID directly: argo archive retry <uid> --uid.
- Copy one of the UIDs from the error message listing the matches.
- Narrow with --selector if applicable so fewer workflows match.
Example fix
// before argo archive retry daily-job # ambiguous // after argo archive retry a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11 --uid
Defensive patterns
Strategy: try-catch
Validate before calling
# resolve the UID first, non-interactively argo archive list --selector workflows.argoproj.io/name=daily-job -o name
Try / catch
if ! argo archive retry "$name" 2>err.txt; then
uid=$(grep -oE '[0-9a-f-]{36}' err.txt | head -1)
argo archive retry "$uid" --uid
fi Prevention
- Prefer UIDs over names for archive operations in scripts.
- Keep workflows unique-named (use generateName where possible).
- Parse the multi-match error to interactively let users pick a UID.
When it happens
Trigger: Running 'argo archive retry/resubmit <name>' where two or more archived workflows have identical metadata.name, e.g. a workflow named 'daily-job' that was run many times with generateName collisions or re-archived copies.
Common situations: Repeated retries of the same named workflow archived multiple times; environments without generateName where the same name was resubmitted; shared clusters with a broad archive.
Related errors
AI-assisted analysis of argoproj/argo-workflows@35bff19146 (2026-09-03).
Data as JSON: /api/errors/ca83da445d447611.
Report an issue: GitHub.