{"id":"240eebf5665cba19","repo":"docker/cli","slug":"internal-digest-mismatch-for-s-expected-s-got","errorCode":null,"errorMessage":"internal digest mismatch for %s: expected %s, got %s","messagePattern":"internal digest mismatch for (.+?): expected (.+?), got (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/command/manifest/push.go","lineNumber":216,"sourceCode":"\t// with the registry - if we haven't preserved the raw content.\n\t//\n\t// This is necessary because our previous internal storage format did not\n\t// preserve whitespace. If we don't have the newer format present, we can\n\t// attempt the reconstruction like before, but explicitly error if the\n\t// reconstruction failed!\n\tswitch {\n\tcase imageManifest.SchemaV2Manifest != nil:\n\t\tdt := imageManifest.Raw\n\t\tif len(dt) == 0 {\n\t\t\tdt, err = json.MarshalIndent(imageManifest.SchemaV2Manifest, \"\", \"   \")\n\t\t\tif err != nil {\n\t\t\t\treturn mountRequest{}, err\n\t\t\t}\n\t\t}\n\n\t\tdig := imageManifest.Descriptor.Digest\n\t\tif dig2 := dig.Algorithm().FromBytes(dt); dig != dig2 {\n\t\t\treturn mountRequest{}, fmt.Errorf(\"internal digest mismatch for %s: expected %s, got %s\", imageManifest.Ref, dig, dig2)\n\t\t}\n\n\t\tvar manifest schema2.DeserializedManifest\n\t\tif err = manifest.UnmarshalJSON(dt); err != nil {\n\t\t\treturn mountRequest{}, err\n\t\t}\n\t\timageManifest.SchemaV2Manifest = &manifest\n\tcase imageManifest.OCIManifest != nil:\n\t\tdt := imageManifest.Raw\n\t\tif len(dt) == 0 {\n\t\t\tdt, err = json.MarshalIndent(imageManifest.OCIManifest, \"\", \"  \")\n\t\t\tif err != nil {\n\t\t\t\treturn mountRequest{}, err\n\t\t\t}\n\t\t}\n\n\t\tdig := imageManifest.Descriptor.Digest\n\t\tif dig2 := dig.Algorithm().FromBytes(dt); dig != dig2 {","sourceCodeStart":198,"sourceCodeEnd":234,"githubUrl":"https://github.com/docker/cli/blob/e9452d6e785f6e365712b9d71bd7517591773c86/cli/command/manifest/push.go#L198-L234","documentation":"Error \"internal digest mismatch for %s: expected %s, got %s\" thrown in docker/cli.","triggerScenarios":"Thrown at cli/command/manifest/push.go:216 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"e9452d6e785f6e365712b9d71bd7517591773c86","analyzedAt":"2026-08-01T07:09:22.474Z","schemaVersion":2}