hashicorp/packer · error
version %s of %s is not listed in %s/%s/index.json
Error message
version %s of %s is not listed in %s/%s/index.json
What it means
Remote-mirror getter error from versionURL: the requested plugin version is not present in the mirror's index.json for that plugin type, so its download URL cannot be resolved. The mirror is out of sync or the version was never published there.
Source
Thrown at packer/plugin-getter/remote/getter.go:183
}
idx, err := parseIndex(data, pluginType)
if err != nil {
return nil, "", fmt.Errorf("%s: %w", url, err)
}
g.index = idx
return idx, dir, nil
}
// versionURL resolves the version directory URL for the version being
// fetched, failing when the index does not list it.
func (g *Getter) versionURL(opts plugingetter.GetOptions) (*pluginIndex, string, error) {
idx, dir, err := g.loadIndex(opts)
if err != nil {
return nil, "", err
}
version := opts.VersionString()
if _, ok := idx.versions[version]; !ok {
return nil, "", fmt.Errorf(
"version %s of %s is not listed in %s/%s/index.json",
version, idx.pluginType, g.BaseURL, dir)
}
return idx, g.BaseURL + "/" + dir + "/" + version, nil
}
// resolveProtocolVersion reads the plugin protocol version from a version's
// manifest.json and caches it for Validate.
func (g *Getter) resolveProtocolVersion(versionURL, pluginType, version string) error {
if _, ok := g.protVersions[version]; ok {
return nil
}
data, err := g.fetch(versionURL + "/" + pluginType + "_" + version + "_manifest.json")
if err != nil {
return fmt.Errorf(
"%w\nThe checksum entries of this version carry no plugin protocol version in their names, so the mirrored version must include its manifest.json, as published on releases.hashicorp.com", err)
}
var meta plugingetter.ManifestMetaView on GitHub (pinned to eb36e3c3e4)
Solutions
- Use a version listed in the mirror's index.json
- Switch to the official releases.hashicorp.com source or another mirror that carries the version
- Publish/sync the version to the mirror if you own it
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packer/plugin-getter/remote/getter.go:183 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/9f8ced8c835013e2.
Report an issue: GitHub.