argoproj/argo-workflows · error
unable to parse %s as a duration: %w
Error message
unable to parse %s as a duration: %w
What it means
ParseStringToDuration could not interpret the string either as a bare integer (seconds) or as a Go duration (e.g. 30s, 5m). Used for fields like deleteDelayDuration, it means the supplied duration string has bad syntax or unknown units.
Source
Thrown at pkg/apis/workflow/v1alpha1/utils.go:17
package v1alpha1
import (
"fmt"
"strconv"
"time"
)
func ParseStringToDuration(durationString string) (time.Duration, error) {
var duration time.Duration
// If no units are attached, treat as seconds
if val, err := strconv.Atoi(durationString); err == nil {
duration = time.Duration(val) * time.Second
} else if parsed, err := time.ParseDuration(durationString); err == nil {
duration = parsed
} else {
return 0, fmt.Errorf("unable to parse %s as a duration: %w", durationString, err)
}
return duration, nil
}
View on GitHub (pinned to 35bff19146)
Solutions
- Use a plain number (interpreted as seconds) or a valid Go duration like 90s, 5m, 1h
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pkg/apis/workflow/v1alpha1/utils.go:17 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Parsing and encoding errors: unexpected token, malformed input — why parsers reject input and how to find the real culprit.
AI-assisted analysis of argoproj/argo-workflows@35bff19146 (2026-09-03).
Data as JSON: /api/errors/325527c0d39e26c2.
Report an issue: GitHub.