{"record":{"id":"6479595c3677ec94","repo":"hashicorp/packer","slug":"unknown-post-processor-s","errorCode":null,"errorMessage":"Unknown post-processor %s","messagePattern":"Unknown post-processor (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packer/maps.go","lineNumber":53,"sourceCode":"\t}\n\treturn res\n}\n\ntype MapOfPostProcessor map[string]func() (packersdk.PostProcessor, error)\n\nfunc (mopp MapOfPostProcessor) Has(postProcessor string) bool {\n\t_, res := mopp[postProcessor]\n\treturn res\n}\n\nfunc (mopp MapOfPostProcessor) Set(postProcessor string, starter func() (packersdk.PostProcessor, error)) {\n\tmopp[postProcessor] = starter\n}\n\nfunc (mopp MapOfPostProcessor) Start(postProcessor string) (packersdk.PostProcessor, error) {\n\tp, found := mopp[postProcessor]\n\tif !found {\n\t\treturn nil, fmt.Errorf(\"Unknown post-processor %s\", postProcessor)\n\t}\n\treturn p()\n}\n\nfunc (mopp MapOfPostProcessor) List() []string {\n\tres := []string{}\n\tfor k := range mopp {\n\t\tres = append(res, k)\n\t}\n\treturn res\n}\n\ntype MapOfBuilder map[string]func() (packersdk.Builder, error)\n\nfunc (mob MapOfBuilder) Has(builder string) bool {\n\t_, res := mob[builder]\n\treturn res\n}","sourceCodeStart":35,"sourceCodeEnd":71,"githubUrl":"https://github.com/hashicorp/packer/blob/eb36e3c3e48a036f3e8cc94087636ee72e1303c9/packer/maps.go#L35-L71","documentation":"MapOfPostProcessor.Start returns this error when the requested post-processor name is not present in the registry map. It means Packer resolved a post-processor reference in the build pipeline to nothing registered — usually a typo, a missing plugin install, or a builtin renamed/removed.","triggerScenarios":"Calling Start(postProcessor) with an unregistered name: a post-processor block type misspelled (e.g. \"artificat\" instead of \"artifact\"), a third-party post-processor plugin not installed, or invoking Start before the corresponding Set() registration.","commonSituations":"Typo in post-processor type in the template; `packer init` not run after adding a required_plugin; using a community plugin whose binary isn't on the plugin path; referencing a post-processor removed in a newer Packer release.","solutions":["Correct the post-processor type spelling/casing in the template.","Run `packer init .` to fetch required third-party plugins.","Confirm the plugin binary is installed under the expected PACKER_PLUGIN_PATH name.","In embedded Go usage, ensure Set() was called for that name before Start()."],"exampleFix":"// before\npost-processor \"checksum-manifest\" { ... }\n\n// after\npost-processor \"manifest\" {\n  output = \"packer-manifest.json\"\n}","handlingStrategy":"validation","validationCode":"if !postProcessors.Has(name) {\n    return fmt.Errorf(\"post-processor %q not registered; known: %v\", name, postProcessors.List())\n}\npp, err := postProcessors.Start(name)","typeGuard":null,"tryCatchPattern":"if err != nil {\n    if strings.Contains(err.Error(), \"Unknown post-processor\") { /* re-run packer init or fix template */ }\n}","preventionTips":["Run `packer validate` to catch unknown post-processor types early.","Keep required_plugins in sync with the post-processors referenced in templates.","Pin plugin versions to avoid removals/renames across releases."],"tags":["plugin-registry","post-processor","config"],"backgroundTag":"unknown-component-type","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"}