{"record":{"id":"0c563408a83ad254","repo":"hashicorp/packer","slug":"could-not-parse-s-checksumfile-v-make-sure-the","errorCode":null,"errorMessage":"could not parse %s checksumfile: %v. Make sure the checksum file contains a checksum and a binary filename per line","messagePattern":"could not parse (.+?) checksumfile: (.+?)\\. Make sure the checksum file contains a checksum and a binary filename per line","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packer/plugin-getter/plugins.go","lineNumber":731,"sourceCode":"\t\t\t\tchecksumFile, err := getter.Get(checksummer.Type, GetOptions{\n\t\t\t\t\tPluginRequirement:         pr,\n\t\t\t\t\tBinaryInstallationOptions: opts.BinaryInstallationOptions,\n\t\t\t\t\tversion:                   version,\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\tif errors.Is(err, HTTPFailure) {\n\t\t\t\t\t\treturn nil, err\n\t\t\t\t\t}\n\t\t\t\t\terr := fmt.Errorf(\"could not get %s checksum file for %s version %s. Is the file present on the release and correctly named ? %w\", checksummer.Type, pr.Identifier, version, err)\n\t\t\t\t\terrs = multierror.Append(errs, err)\n\t\t\t\t\tlog.Printf(\"[TRACE] %s\", err)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tentries, err := ParseChecksumFileEntries(checksumFile)\n\t\t\t\t_ = checksumFile.Close()\n\t\t\t\tif err != nil {\n\t\t\t\t\terr := fmt.Errorf(\"could not parse %s checksumfile: %v. Make sure the checksum file contains a checksum and a binary filename per line\", checksummer.Type, err)\n\t\t\t\t\terrs = multierror.Append(errs, err)\n\t\t\t\t\tlog.Printf(\"[TRACE] %s\", err)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tfor _, entry := range entries {\n\t\t\t\t\tif filepath.Ext(entry.Filename) == JSONExtension {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif err := getter.Init(pr, &entry); err != nil {\n\t\t\t\t\t\terr := fmt.Errorf(\"could not parse checksum filename %s. Is it correctly formatted ? %s\", entry.Filename, err)\n\t\t\t\t\t\terrs = multierror.Append(errs, err)\n\t\t\t\t\t\tlog.Printf(\"[TRACE] %s\", err)\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tmetaOpts := GetOptions{\n\t\t\t\t\t\tPluginRequirement:         pr,","sourceCodeStart":713,"sourceCodeEnd":749,"githubUrl":"https://github.com/hashicorp/packer/blob/eb36e3c3e48a036f3e8cc94087636ee72e1303c9/packer/plugin-getter/plugins.go#L713-L749","documentation":"Plugin installation error from InstallLatest: the downloaded checksum file could not be parsed — each line must contain exactly a checksum and a binary filename. Malformed entries are skipped; the error surfaces if no usable entries remain.","triggerScenarios":"Thrown at packer/plugin-getter/plugins.go:731 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry with a different mirror/getter (installation continues automatically)","Verify the release's checksum file format on the plugin's release page","Update Packer if the release uses a newer checksum format"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"eb36e3c3e48a036f3e8cc94087636ee72e1303c9","analyzedAt":"2026-09-05T13:20:43.127Z","contentChangedAt":"2026-09-05T13:20:43.127Z","schemaVersion":2},"datasetVersion":"2026-09-12T17:17:11.597Z"}