{"record":{"id":"bd94fca395e97cc7","repo":"hashicorp/terraform","slug":"errarchnotsupported","errorCode":"ErrArchNotSupported","errorMessage":"plugin is not supported by your computer architecture/operating system","messagePattern":"plugin is not supported by your computer architecture/operating system","errorType":"exception","errorClass":"ErrArchNotSupported","httpStatus":null,"severity":"error","filePath":"internal/pluginshared/errors.go","lineNumber":21,"sourceCode":"\npackage pluginshared\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n)\n\nvar (\n\t// ErrPluginNotSupported is the error returned when the upstream HCP Terraform does not\n\t// have a manifest.\n\tErrPluginNotSupported = errors.New(\"plugin is not supported by the remote version of Terraform Enterprise\")\n\n\t// ErrRequestCanceled is the error returned when the context was cancelled.\n\tErrRequestCanceled = errors.New(\"request was canceled\")\n\n\t// ErrArchNotSupported is the error returned when the plugin does not have a build for the\n\t// current OS/Architecture.\n\tErrArchNotSupported = errors.New(\"plugin is not supported by your computer architecture/operating system\")\n\n\t// ErrPluginNotFound is the error returned when the plugin manifest points to a location\n\t// that was does not exist.\n\tErrPluginNotFound = errors.New(\"plugin download was not found in the location specified in the manifest\")\n)\n\n// ErrQueryFailed is the error returned when the plugin http client request fails\ntype ErrQueryFailed struct {\n\tinner error\n}\n\n// ErrCloudPluginNotVerified is the error returned when the archive authentication process fails\ntype ErrCloudPluginNotVerified struct {\n\tinner error\n}\n\n// Error returns a string representation of ErrQueryFailed\nfunc (e ErrQueryFailed) Error() string {","sourceCodeStart":3,"sourceCodeEnd":39,"githubUrl":"https://github.com/hashicorp/terraform/blob/c9def3e214014c1188faabfc4a5bde5095139765/internal/pluginshared/errors.go#L3-L39","documentation":"ErrArchNotSupported is a sentinel returned by Release.Select when the fetched plugin manifest contains builds but none match the runtime's GOOS/GOARCH pair. The manifest is reachable and well-formed; the platform you are running on simply has no published artifact for that plugin.","triggerScenarios":"Returned at internal/pluginshared/client.go:271 inside Release.Select(pluginName, goos, arch) after iterating m.Builds and finding no entry where build.Os==goos && build.Arch==arch. Logged with the list of supported os_arch keys at TRACE.","commonSituations":"Running Terraform on an uncommon platform (e.g. darwin/arm64 before a provider shipped universal binaries, linux/arm64, freebsd/amd64, windows/arm64). Using a provider that only publishes amd64 builds. A manifest that was generated for a limited target set. Rosetta/qemu environments still report the native arch.","solutions":["Check the provider's releases page for the exact GOOS_GOARCH you need; if absent, switch to a provider version/release that publishes it.","Run on a supported OS/architecture, or run Terraform in a container/VM of a supported arch.","If you control the provider, add the missing GOOS/GOARCH to its release build matrix (goreleaser targets).","As a last resort for local dev, build the provider from source for your platform and install it via filesystem mirror (terraform-provider-network)."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Validate platform support against the manifest before downloading.\nbuild, err := release.Select(pluginName, runtime.GOOS, runtime.GOARCH)\nif err != nil {\n    return fmt.Errorf(\"no %s build for %s/%s: %w\", pluginName, runtime.GOOS, runtime.GOARCH, err)\n}","typeGuard":"func isArchNotSupported(err error) bool {\n    return errors.Is(err, pluginshared.ErrArchNotSupported)\n}","tryCatchPattern":"build, err := release.Select(name, goos, arch)\nif errors.Is(err, pluginshared.ErrArchNotSupported) {\n    // surface a helpful list of supported os_arch from release.Builds\n    return supportedPlatforms(release)\n}","preventionTips":["Publish builds for every GOOS/GOARCH you intend to support.","Document supported platforms in the provider README.","In automation runners, pin to a platform the provider publishes."],"tags":["plugin","architecture","platform","manifest"],"analyzedSha":"c9def3e214014c1188faabfc4a5bde5095139765","analyzedAt":"2026-08-07T15:39:49.278Z","schemaVersion":2},"datasetVersion":"2026-08-07T20:17:04.800Z"}