{"record":{"id":"577941cb2aa026b2","repo":"hashicorp/terraform","slug":"your-version-of-terraform-enterprise-does-not-supp","errorCode":null,"errorMessage":"your version of Terraform Enterprise does not support key-value tags. Please upgrade Terraform Enterprise to a version that supports this feature or use set type tags instead.","messagePattern":"your version of Terraform Enterprise does not support key-value tags\\. Please upgrade Terraform Enterprise to a version that supports this feature or use set type tags instead\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/cloud/backend.go","lineNumber":50,"sourceCode":"\t\"github.com/hashicorp/terraform/internal/plans\"\n\t\"github.com/hashicorp/terraform/internal/states/statemgr\"\n\t\"github.com/hashicorp/terraform/internal/terraform\"\n\t\"github.com/hashicorp/terraform/internal/tfdiags\"\n\ttfversion \"github.com/hashicorp/terraform/version\"\n\n\tbackendLocal \"github.com/hashicorp/terraform/internal/backend/local\"\n)\n\nconst (\n\tdefaultHostname    = \"app.terraform.io\"\n\tdefaultParallelism = 10\n\ttfeServiceID       = \"tfe.v2\"\n\theaderSourceKey    = \"X-Terraform-Integration\"\n\theaderSourceValue  = \"cloud\"\n\tgenericHostname    = \"localterraform.com\"\n)\n\nvar ErrCloudDoesNotSupportKVTags = errors.New(\"your version of Terraform Enterprise does not support key-value tags. Please upgrade Terraform Enterprise to a version that supports this feature or use set type tags instead.\")\n\n// Cloud is an implementation of backendrun.OperationsBackend in service of the HCP Terraform or Terraform Enterprise\n// integration for Terraform CLI. This backend is not intended to be surfaced at the user level and\n// is instead an implementation detail of cloud.Cloud.\ntype Cloud struct {\n\t// CLI and Colorize control the CLI output. If CLI is nil then no CLI\n\t// output will be done. If CLIColor is nil then no coloring will be done.\n\tCLI      cli.Ui\n\tCLIColor *colorstring.Colorize\n\n\t// ContextOpts are the base context options to set when initializing a\n\t// new Terraform context. Many of these will be overridden or merged by\n\t// Operation. See Operation for more details.\n\tContextOpts *terraform.ContextOpts\n\n\t// client is the HCP Terraform or Terraform Enterprise API client.\n\tclient *tfe.Client\n","sourceCodeStart":32,"sourceCodeEnd":68,"githubUrl":"https://github.com/hashicorp/terraform/blob/c9def3e214014c1188faabfc4a5bde5095139765/internal/cloud/backend.go#L32-L68","documentation":"ErrCloudDoesNotSupportKVTags is returned when the cloud backend detects that a workspace tag mapping specifies a key-value pair (value != \"\") but the connected Terraform Enterprise instance does not support tag bindings (supportsKVTags is false). HCP Terraform and recent TFE versions support KV tag bindings; older TFE does not.","triggerScenarios":"Configuring workspaces { tags = { Environment = \"prod\" } } against a Terraform Enterprise deployment whose version predates tag-binding support; workspaceTagsRequireUpdate() finds a non-empty value and result.supportsKVTags is false.","commonSituations":"Upgrading config to use key-value tags while still on an older self-hosted TFE; pointing a config at a TFE instance that hasn't been upgraded.","solutions":["Upgrade the Terraform Enterprise deployment to a version that supports key-value tag bindings.","Switch the tags config to key-only set tags (e.g. tags = [\"Environment:prod\"] as a single string, or set-type tags) which work on older TFE.","Move the workspace to HCP Terraform, which supports KV tags."],"exampleFix":"// before\nworkspaces {\n  tags = {\n    Environment = \"prod\"\n  }\n}\n// after (set-type tags, works on older TFE)\nworkspaces {\n  tags = [\"Environment:prod\"]\n}","handlingStrategy":"try-catch","validationCode":"# Before applying, check that KV tags are only used on supported backends.\n# Use set-type tags to stay compatible with older TFE:\nworkspaces { tags = [\"Environment:prod\"] }","typeGuard":null,"tryCatchPattern":"if _, err := b.configureCloud(ctx); err != nil {\n    if errors.Is(err, cloud.ErrCloudDoesNotSupportKVTags) {\n        // prompt user to switch to set-type tags or upgrade TFE\n        return fmt.Errorf(\"switch to key-only tags or upgrade TFE: %w\", err)\n    }\n    return err\n}","preventionTips":["Track the TFE version per environment; avoid KV tags where unsupported.","Standardize on set-type tags for cross-version compatibility.","Surface a clear remediation when ErrCloudDoesNotSupportKVTags is returned."],"tags":["terraform","cloud-backend","tfe","hcp","tags","version-compat"],"analyzedSha":"c9def3e214014c1188faabfc4a5bde5095139765","analyzedAt":"2026-08-07T15:39:49.278Z","schemaVersion":2},"datasetVersion":"2026-08-07T20:17:04.800Z"}