pulumi/pulumi · error

could not parameterize extension for resource %v: %w

Error message

could not parameterize extension for resource %v: %w

What it means

After ensuring the provider plugin is loaded, the engine calls ensureProviderExtension(res) to configure/parameterize any provider extension (e.g. a parameterized/multi-language provider component) for the resource being refreshed. If that parameterization fails, this wrapped error names the resource URN and the underlying cause.

Source

Thrown at pkg/resource/deploy/deployment_executor.go:815

				for _, dep := range allDeps {
					if excludesActual.Contains(dep.URN) {
						excludesActual.addLiteral(res.URN)

						knownToBeExcluded = true
						break
					}
				}
			}

			if !knownToBeExcluded {
				// For each resource we're going to refresh we need to ensure we have a provider for it
				err := ex.deployment.EnsureProvider(res.Provider)
				if err != nil {
					return fmt.Errorf("could not load provider for resource %v: %w", res.URN, err)
				}
				if err := ex.deployment.ensureProviderExtension(res); err != nil {
					return fmt.Errorf("could not parameterize extension for resource %v: %w", res.URN, err)
				}

				oldViews := ex.deployment.GetOldViews(res.URN)
				step := NewRefreshStep(ex.deployment, nil, res, oldViews, nil)
				steps = append(steps, step)
				resourceToStep[res] = step
			}
		}
	} else {
		targetsActual := ex.deployment.opts.Targets

		for _, res := range prev.Resources {
			// If we're only doing RefreshBeforeUpdate refreshes and the resource isn't
			// marked as such, skip it.
			if refreshBeforeUpdateOnly && !res.RefreshBeforeUpdate {
				continue
			}

View on GitHub (pinned to 793f7b2e16)

Solutions

  1. Upgrade the Pulumi CLI to the latest version (parameterization support is version-sensitive)
  2. Reinstall/upgrade the specific provider package named in the underlying error
  3. If the state reference is corrupted, restore the stack from `pulumi stack export`/backup or contact support
  4. Reproduce with `--logtostderr -v=9` to capture the inner error from ensureProviderExtension

Example fix

// before
$ pulumi refresh
  error: could not parameterize extension for resource urn:...::tf::bucket: unknown parameterization
// after
$ pulumi version  # upgrade CLI
$ curl -sSL https://get.pulumi.com | sh
$ pulumi refresh
Defensive patterns

Strategy: validation

Validate before calling

# check CLI supports parameterized providers before operating on the stack
[[ $(pulumi version | tr -d v) < 3.80.0 ]] && echo 'upgrade CLI for parameterized providers' && exit 1

Prevention

When it happens

Trigger: Refreshing (or updating with refresh) a resource whose provider is a parameterized provider (Pulumi Packages / bridged multi-language providers) when the extension cannot be constructed — bad parameter payload in state, missing sub-plugin, or unsupported provider kind.

Common situations: State created by a newer Pulumi engine with parameterized providers read by an older CLI; a provider package renamed or replaced between versions; corrupted provider reference in the checkpoint file.

Related errors


AI-assisted analysis of pulumi/pulumi@793f7b2e16 (2026-08-31). Data as JSON: /api/errors/cfe920cf596416be. Report an issue: GitHub.