hashicorp/terraform · error · ErrArchNotSupported
plugin is not supported by your computer architecture/operat
Error message
plugin is not supported by your computer architecture/operating system
What it means
ErrArchNotSupported is returned by Release.Select when the downloaded manifest contains no build matching the runtime's GOOS/GOARCH pair. The plugin publisher did not ship a binary for the current operating system / architecture combination.
Source
Thrown at internal/pluginshared/errors.go:21
package pluginshared
import (
"errors"
"fmt"
)
var (
// ErrPluginNotSupported is the error returned when the upstream HCP Terraform does not
// have a manifest.
ErrPluginNotSupported = errors.New("plugin is not supported by the remote version of Terraform Enterprise")
// ErrRequestCanceled is the error returned when the context was cancelled.
ErrRequestCanceled = errors.New("request was canceled")
// ErrArchNotSupported is the error returned when the plugin does not have a build for the
// current OS/Architecture.
ErrArchNotSupported = errors.New("plugin is not supported by your computer architecture/operating system")
// ErrPluginNotFound is the error returned when the plugin manifest points to a location
// that was does not exist.
ErrPluginNotFound = errors.New("plugin download was not found in the location specified in the manifest")
)
// ErrQueryFailed is the error returned when the plugin http client request fails
type ErrQueryFailed struct {
inner error
}
// ErrCloudPluginNotVerified is the error returned when the archive authentication process fails
type ErrCloudPluginNotVerified struct {
inner error
}
// Error returns a string representation of ErrQueryFailed
func (e ErrQueryFailed) Error() string {View on GitHub (pinned to d32a084675)
Solutions
- Run Terraform on one of the supported OS/arch combinations reported by Select's error/list.
- Upgrade (or downgrade) the plugin to a release that ships a binary for your platform.
- Build the plugin from source for your GOOS/GOARCH and install it locally, bypassing the manifest lookup.
- File an issue with the plugin maintainer requesting a build for your platform.
Example fix
n/a — runtime environment mismatch; resolved by switching platform or plugin version, not by code.
Defensive patterns
Strategy: validation
Validate before calling
// Check supported platforms before attempting Select goos := runtime.GOOS arch := runtime.GOARCH // consult Release.Builds for "<goos>_<arch>" entries first
Type guard
n/a — runtime/platform predicate, not a type guard.
Try / catch
build, err := manifest.Select(pluginName, runtime.GOOS, runtime.GOARCH)
if errors.Is(err, pluginshared.ErrArchNotSupported) {
// enumerate supported combos from manifest.Builds and surface them
return supportedArchsError(manifest)
} Prevention
- Run on a platform the plugin publishes (check the release assets).
- When distributing internal plugins, cross-compile for all target GOOS/GOARCH pairs.
- Fail fast at startup with a clear 'no build for <os>/<arch>' message.
When it happens
Trigger: Release.Select iterates m.Builds comparing each build's "<goos>_<arch>" against the requested pair; if none matches it returns ErrArchNotSupported along with the list of supported combinations.
Common situations: Running Terraform on an uncommon platform (e.g. linux/arm64 when only linux/amd64 was published, or darwin/arm64 on an older release); the plugin maintainer did not cross-compile for the user's platform; running on a brand-new Go port (e.g. linux/riscv64).
Related errors
- request was canceled
- plugin download was not found in the location specified in t
- approved using the UI or API
- discarded using the UI or API
- operation timed out
AI-assisted analysis of hashicorp/terraform@d32a084675 (2026-08-11).
Data as JSON: /api/errors/cb4fa4814aa55a61.
Report an issue: GitHub.