{"record":{"id":"325527c0d39e26c2","repo":"argoproj/argo-workflows","slug":"unable-to-parse-s-as-a-duration-w","errorCode":null,"errorMessage":"unable to parse %s as a duration: %w","messagePattern":"unable to parse (.+?) as a duration: %w","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/apis/workflow/v1alpha1/utils.go","lineNumber":17,"sourceCode":"package v1alpha1\n\nimport (\n\t\"fmt\"\n\t\"strconv\"\n\t\"time\"\n)\n\nfunc ParseStringToDuration(durationString string) (time.Duration, error) {\n\tvar duration time.Duration\n\t// If no units are attached, treat as seconds\n\tif val, err := strconv.Atoi(durationString); err == nil {\n\t\tduration = time.Duration(val) * time.Second\n\t} else if parsed, err := time.ParseDuration(durationString); err == nil {\n\t\tduration = parsed\n\t} else {\n\t\treturn 0, fmt.Errorf(\"unable to parse %s as a duration: %w\", durationString, err)\n\t}\n\treturn duration, nil\n}\n","sourceCodeStart":1,"sourceCodeEnd":21,"githubUrl":"https://github.com/argoproj/argo-workflows/blob/35bff19146f5a6ada77468c431f2624bd577e373/pkg/apis/workflow/v1alpha1/utils.go#L1-L21","documentation":"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.","triggerScenarios":"Thrown at pkg/apis/workflow/v1alpha1/utils.go:17 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a plain number (interpreted as seconds) or a valid Go duration like 90s, 5m, 1h"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"35bff19146f5a6ada77468c431f2624bd577e373","analyzedAt":"2026-09-03T19:34:35.908Z","contentChangedAt":"2026-09-03T19:34:35.908Z","schemaVersion":2},"datasetVersion":"2026-09-08T15:18:49.778Z"}