{"record":{"id":"09624c2ae00073a4","repo":"pulumi/pulumi","slug":"unrecognized-signature-v-in-property-map","errorCode":null,"errorMessage":"unrecognized signature '%v' in property map","messagePattern":"unrecognized signature '(.+?)' in property map","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/resource/stack/deployment.go","lineNumber":1190,"sourceCode":"\t\t\t\t\t\treturn resource.PropertyValue{},\n\t\t\t\t\t\t\tfmt.Errorf(\"malformed byte string: unable to parse 'value' field: %w\", err)\n\t\t\t\t\t}\n\t\t\t\t\treturn resource.NewProperty(string(decoded)), nil\n\t\t\t\tcase floatSignature:\n\t\t\t\t\thex, ok := objmap[\"value\"].(string)\n\t\t\t\t\tif !ok {\n\t\t\t\t\t\treturn resource.PropertyValue{},\n\t\t\t\t\t\t\terrors.New(\"malformed float value: missing or non-string 'value' field\")\n\t\t\t\t\t}\n\t\t\t\t\tbits, err := strconv.ParseUint(hex, 16, 64)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn resource.PropertyValue{},\n\t\t\t\t\t\t\tfmt.Errorf(\"malformed float value: unable to parse 'value' field: %w\", err)\n\t\t\t\t\t}\n\t\t\t\t\tfloatVal := math.Float64frombits(bits)\n\t\t\t\t\treturn resource.NewProperty(floatVal), nil\n\t\t\t\tdefault:\n\t\t\t\t\treturn resource.PropertyValue{}, fmt.Errorf(\"unrecognized signature '%v' in property map\", sig)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Otherwise, it's just a weakly typed object map.\n\t\t\treturn resource.NewProperty(obj), nil\n\t\tcase *apitype.SecretV1:\n\t\t\treturn deserializeSecret(ctx, w, dec)\n\t\tdefault:\n\t\t\tcontract.Failf(\"Unrecognized property type %T: %v\", v, reflect.ValueOf(v))\n\t\t}\n\t}\n\n\treturn resource.NewNullProperty(), nil\n}\n\nfunc secretPropertyValueFromPlaintext(plaintext string) (resource.PropertyValue, error) {\n\tvar elem any\n\tif err := json.Unmarshal([]byte(plaintext), &elem); err != nil {","sourceCodeStart":1172,"sourceCodeEnd":1208,"githubUrl":"https://github.com/pulumi/pulumi/blob/793f7b2e160db4321fb7fb6b0607461e01cb251e/pkg/resource/stack/deployment.go#L1172-L1208","documentation":"While decoding a serialized property value object map, the 'sig' (signature) field did not match any known signature constant (secret, resource reference, array, etc.), so the decoder cannot determine how to interpret the object. The offending signature value is included in the message.","triggerScenarios":"Deserializing a deployment/checkpoint whose property values contain a 'sig' number unknown to the current CLI — typically produced by a NEWER Pulumi version with additional signatures.","commonSituations":"Using an older Pulumi CLI against stack state or deployments written by a newer CLI; third-party tooling inventing signature values.","solutions":["Update the Pulumi CLI to the latest version and retry","Identify the signature value from the message and compare against the constants in the repo (property signature codes)","Restore state from a backup created by a compatible CLI version"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":"switch sig := sig; {\ncase sig == secretSignature, sig == resourceSignature, sig == secretOutputSignature:\n    // known\ndefault:\n    return fmt.Errorf(\"unsupported sig %v — upgrade CLI\", sig)\n}","typeGuard":"func knownSignature(sig uint32) bool {\n    switch sig {\n    case secretSignature, resourceSignature, secretOutputSignature:\n        return true\n    }\n    return false\n}","tryCatchPattern":null,"preventionTips":["Use the same or newer Pulumi CLI version that produced the deployment","Pin CLI versions in CI to match the team's version","Subscribe to Pulumi release notes when serialization formats change"],"tags":["serialization","version-compat","go"],"backgroundTag":"signature-version-mismatch","analyzedSha":"793f7b2e160db4321fb7fb6b0607461e01cb251e","analyzedAt":"2026-08-31T09:36:43.099Z","schemaVersion":2},"datasetVersion":"2026-08-31T14:17:45.589Z"}