hashicorp/packer · error
Your configuration file describes some legacy components: %
Error message
Your configuration file describes some legacy components: %sPacker does not support these mono-component plugins anymore. Please refer to our Installing Plugins docs for an overview of how to manage installation of local plugins: https://developer.hashicorp.com/packer/docs/plugins/install-plugins
What it means
Startup error from Packer's config loader: the HCL/JSON configuration declares components that embed a local plugin `path` (legacy mono-component plugins), which Packer no longer supports. The message lists each offending component path.
Source
Thrown at config.go:62
return paths
}
var pluginPaths []string
pluginPaths = append(pluginPaths, extractPaths(c.RawProvisioners)...)
pluginPaths = append(pluginPaths, extractPaths(c.RawBuilders)...)
pluginPaths = append(pluginPaths, extractPaths(c.RawPostProcessors)...)
if len(pluginPaths) == 0 {
return nil
}
componentList := &strings.Builder{}
for _, path := range pluginPaths {
fmt.Fprintf(componentList, "- %s\n", path)
}
return fmt.Errorf("Your configuration file describes some legacy components: \n%s"+
"Packer does not support these mono-component plugins anymore.\n"+
"Please refer to our Installing Plugins docs for an overview of how to manage installation of local plugins:\n"+
"https://developer.hashicorp.com/packer/docs/plugins/install-plugins",
componentList.String())
}
// This is a proper packer.BuilderFunc that can be used to load packersdk.Builder
// implementations from the defined plugins.
func (c *config) StartBuilder(name string) (packersdk.Builder, error) {
log.Printf("Loading builder: %s\n", name)
return c.Plugins.Builders.Start(name)
}
// This is a proper implementation of packer.HookFunc that can be used
// to load packersdk.Hook implementations from the defined plugins.
func (c *config) StarHook(name string) (packersdk.Hook, error) {
log.Printf("Loading hook: %s\n", name)
return c.Plugins.Client(name).Hook()View on GitHub (pinned to eb36e3c3e4)
Solutions
- Remove the `path` fields from component blocks and rely on packer init / required_plugins to fetch plugins
- Install the needed plugins locally via `packer plugins install` and reference them by type instead of path
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at config.go:62 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of hashicorp/packer@eb36e3c3e4 (2026-09-05).
Data as JSON: /api/errors/bcc36e412af15afa.
Report an issue: GitHub.