{"record":{"id":"07279668058424d0","repo":"argoproj/argo-workflows","slug":"listobjects-is-currently-not-supported-for-this-ar-072796","errorCode":null,"errorMessage":"ListObjects is currently not supported for this artifact type, but it will be in a future version","messagePattern":"ListObjects is currently not supported for this artifact type, but it will be in a future version","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"workflow/artifacts/http/http.go","lineNumber":189,"sourceCode":"\tif outputArtifact.HTTP != nil && outputArtifact.HTTP.SaveStreamViaFile {\n\t\treturn common.SaveStreamViaTempFile(reader, \"http-upload-*\", func(path string) error {\n\t\t\treturn h.Save(ctx, path, outputArtifact)\n\t\t})\n\t}\n\treq, url, err := h.buildPutRequest(ctx, reader, outputArtifact)\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn h.doPutRequest(req, url, \"saving stream\")\n}\n\n// Delete is unsupported for the http artifacts\nfunc (h *ArtifactDriver) Delete(ctx context.Context, s *wfv1.Artifact) error {\n\treturn common.ErrDeleteNotSupported\n}\n\nfunc (h *ArtifactDriver) ListObjects(ctx context.Context, artifact *wfv1.Artifact) ([]string, error) {\n\treturn nil, fmt.Errorf(\"ListObjects is currently not supported for this artifact type, but it will be in a future version\")\n}\n\nfunc (h *ArtifactDriver) IsDirectory(ctx context.Context, artifact *wfv1.Artifact) (bool, error) {\n\treturn false, errors.New(errors.CodeNotImplemented, \"IsDirectory currently unimplemented for http\")\n}\n","sourceCodeStart":171,"sourceCodeEnd":195,"githubUrl":"https://github.com/argoproj/argo-workflows/blob/35bff19146f5a6ada77468c431f2624bd577e373/workflow/artifacts/http/http.go#L171-L195","documentation":"The HTTP artifact driver does not implement ListObjects and returns a fixed placeholder error, since HTTP artifacts are single fetched URLs with nothing to enumerate. The method only exists to satisfy the ArtifactDriver interface. Any attempt to list HTTP artifacts fails with this exact message.","triggerScenarios":"Calling ListObjects on an artifact of type `http:` (e.g. artifact GC or any prefix-enumeration feature) — the call fails unconditionally for http:// or https:// artifacts.","commonSituations":"Users pull input artifacts over HTTP and then enable archive/GC or other list-dependent features expecting enumeration; workflows mixing artifact types hit the error only for the http ones.","solutions":["Do not use list-dependent artifact features on http artifacts; reference the URL directly when managing files.","Store artifacts that need enumeration in S3/GCS/Azure/OSS instead of serving them over plain HTTP.","If deletion/GC of downloaded artifacts matters, use a real artifact repository backend for those artifacts.","If you hit this unexpectedly, check the artifact's type field — an http: artifact was passed to a listing API."],"exampleFix":"// before\ninputs:\n  artifacts:\n    - name: data\n      http:\n        url: https://example.com/data.bin\n// after (if listing/GC needed)\ninputs:\n  artifacts:\n    - name: data\n      s3:\n        bucket: my-bucket\n        key: data.bin","handlingStrategy":"fallback","validationCode":"func supportsListObjects(artifactType string) bool {\n\tswitch artifactType {\n\tcase \"s3\", \"gcs\", \"azure\", \"oss\":\n\t\treturn true\n\tdefault:\n\t\treturn false\n\t}\n}","typeGuard":null,"tryCatchPattern":"keys, err := driver.ListObjects(ctx, art)\nif err != nil && strings.Contains(err.Error(), \"ListObjects is currently not supported\") {\n\t// http artifacts have nothing to enumerate; handle without listing\n}","preventionTips":["Never route http: artifacts through list/GC code paths","Use an object-store backend when artifact management features are required","Treat http artifacts as fire-and-forget inputs"],"tags":["http","artifact","not-implemented","listobjects"],"backgroundTag":"artifact-listobjects-unsupported","analyzedSha":"35bff19146f5a6ada77468c431f2624bd577e373","analyzedAt":"2026-09-03T19:34:35.908Z","contentChangedAt":"2026-09-03T19:34:35.908Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}