{"record":{"id":"56b55555f574b76e","repo":"hashicorp/packer","slug":"builder-type-not-found-s","errorCode":null,"errorMessage":"builder type not found: %s","messagePattern":"builder type not found: (.+?)","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packer/core.go","lineNumber":483,"sourceCode":"\t\t)\n\n\t\tif sugg := didyoumean.NameSuggestion(configBuilder.Type, c.components.PluginConfig.Builders.List()); sugg != \"\" {\n\t\t\terr = fmt.Errorf(\"Did you mean to use %q?\", sugg)\n\t\t}\n\n\t\treturn nil, err\n\t}\n\n\t// the Start command launches the builder plugin of the given type without\n\t// calling Prepare() or passing any build-specific details.\n\tbuilder, err := c.components.PluginConfig.Builders.Start(configBuilder.Type)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\n\t\t\t\"error initializing builder '%s': %s\",\n\t\t\tconfigBuilder.Type, err)\n\t}\n\tif builder == nil {\n\t\treturn nil, fmt.Errorf(\n\t\t\t\"builder type not found: %s\", configBuilder.Type)\n\t}\n\n\t// rawName is the uninterpolated name that we use for various lookups\n\trawName := configBuilder.Name\n\n\t// Setup the provisioners for this build\n\tprovisioners := make([]CoreBuildProvisioner, 0, len(c.Template.Provisioners))\n\tfor _, rawP := range c.Template.Provisioners {\n\t\t// If we're skipping this, then ignore it\n\t\tif rawP.OnlyExcept.Skip(rawName) {\n\t\t\tcontinue\n\t\t}\n\t\tcbp, err := c.generateCoreBuildProvisioner(rawP, rawName)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n","sourceCodeStart":465,"sourceCodeEnd":501,"githubUrl":"https://github.com/hashicorp/packer/blob/eb36e3c3e48a036f3e8cc94087636ee72e1303c9/packer/core.go#L465-L501","documentation":"Builders.Start returned no error but a nil builder — a defensive check for a plugin registry inconsistency where the launched plugin did not yield a builder implementation. Packer reports the builder type as 'not found'.","triggerScenarios":"Core.Build: c.components.PluginConfig.Builders.Start(configBuilder.Type) returns (nil, nil), typically due to a misregistered builtin/custom plugin factory returning nil. Raised during `packer build`.","commonSituations":"Custom or embedded plugin builds overriding a builtin builder with a nil factory; internal wiring bugs; corrupted plugin distributions. Rare for end users.","solutions":["Reinstall the plugin providing the builder type to restore a working factory.","Check for duplicate/conflicting plugin registrations of the same type name.","Upgrade Packer core; if reproducible with a stock builder, file an upstream bug.","Use an alternate builder type as a workaround."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"if _, err := core.Build(n); err != nil {\n    if strings.Contains(err.Error(), \"builder type not found\") {\n        return fmt.Errorf(\"plugin for %s returned no builder; reinstall the plugin\", builderType)\n    }\n    return err\n}","preventionTips":["Use official plugin binaries; avoid custom builds with nil factories.","Reinstall plugins after upgrading the Packer core.","Check for duplicate plugin registrations if you embed plugins programmatically."],"tags":["builder","plugin","nil","internal"],"backgroundTag":"plugin-start-failed","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"}