{"record":{"id":"a1e4e93d0d7fb736","repo":"hashicorp/packer","slug":"could-not-parse-s-checksum-s-make-sure-the-che","errorCode":null,"errorMessage":"could not parse %s checksum: %s. Make sure the checksum file contains the checksum and only the checksum","messagePattern":"could not parse (.+?) checksum: (.+?)\\. Make sure the checksum file contains the checksum and only the checksum","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packer/plugin-getter/plugins.go","lineNumber":761,"sourceCode":"\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,\n\t\t\t\t\t\tBinaryInstallationOptions: opts.BinaryInstallationOptions,\n\t\t\t\t\t\tversion:                   version,\n\t\t\t\t\t}\n\t\t\t\t\tif err := getter.Validate(metaOpts, version.String(), opts.BinaryInstallationOptions, &entry); err != nil {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tlog.Printf(\"[TRACE] About to get: %s\", entry.Filename)\n\n\t\t\t\t\tcs, err := checksummer.ParseChecksum(strings.NewReader(entry.Checksum))\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\terr := fmt.Errorf(\"could not parse %s checksum: %s. Make sure the checksum file contains the checksum and only the checksum\", checksummer.Type, 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\tchecksum = &FileChecksum{\n\t\t\t\t\t\tFilename:    entry.Filename,\n\t\t\t\t\t\tExpected:    cs,\n\t\t\t\t\t\tChecksummer: checksummer,\n\t\t\t\t\t}\n\n\t\t\t\t\texpectedZipFilename := checksum.Filename\n\t\t\t\t\texpectedBinFilename := getter.ExpectedFileName(pr, version.String(), &entry, expectedZipFilename)\n\t\t\t\t\texpectedBinaryFilename := strings.TrimSuffix(expectedBinFilename, filepath.Ext(expectedBinFilename)) + opts.BinaryInstallationOptions.Ext\n\t\t\t\t\toutputFileName := filepath.Join(outputFolder, expectedBinaryFilename)\n\n\t\t\t\t\tfor _, potentialChecksumer := range opts.Checksummers {\n\t\t\t\t\t\t// First check if a local checksum file is already here in the expected","sourceCodeStart":743,"sourceCodeEnd":779,"githubUrl":"https://github.com/hashicorp/packer/blob/eb36e3c3e48a036f3e8cc94087636ee72e1303c9/packer/plugin-getter/plugins.go#L743-L779","documentation":"Plugin installation error from InstallLatest: a checksum entry's checksum field failed to parse — it must contain only the hex digest with no extra text. That entry is skipped; the multierror is returned if no valid checksum remains.","triggerScenarios":"Thrown at packer/plugin-getter/plugins.go:761 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry with another getter/mirror (handled automatically)","Check the checksum file contents on the release for malformed lines"],"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"}