pulumi/pulumi · error

GenerateProgram is not supported

Error message

GenerateProgram is not supported

What it means

The deploytest languageRuntime stub does not implement program generation/conversion. GenerateProgram normally converts program sources (e.g. between languages or PCL); the fake runtime always fails. It is a placeholder to satisfy the plugin.LanguageRuntime interface for tests.

Source

Thrown at pkg/resource/deploy/deploytest/languageruntime.go:206

	return nil, nil, nil, errors.New("inline plugins are not currently supported")
}

func (p *languageRuntime) GenerateProject(context.Context, string, string, string,
	bool, string, map[string]string,
) (hcl.Diagnostics, error) {
	return nil, errors.New("GenerateProject is not supported")
}

func (p *languageRuntime) GeneratePackage(context.Context,
	string, string, map[string][]byte, string, map[string]string, bool,
) (hcl.Diagnostics, error) {
	return nil, errors.New("GeneratePackage is not supported")
}

func (p *languageRuntime) GenerateProgram(
	context.Context, map[string]string, string, bool,
) (map[string][]byte, hcl.Diagnostics, error) {
	return nil, nil, errors.New("GenerateProgram is not supported")
}

func (p *languageRuntime) Pack(context.Context, string, string) (string, error) {
	return "", errors.New("Pack is not supported")
}

func (p *languageRuntime) Link(
	context.Context, plugin.ProgramInfo, []workspace.LinkablePackageDescriptor, string,
) (string, error) {
	return "", errors.New("Link is not supported")
}

func (p *languageRuntime) Cancel(context.Context) error {
	p.closed = true

	if p.shutdown != nil {
		p.shutdown()
	}

View on GitHub (pinned to 793f7b2e16)

Solutions

  1. Test conversion via pkg/codegen/pcl and the real convert pipeline instead of the stub runtime.
  2. Use a real language runtime host when testing conversion end-to-end.
  3. Skip program-generation steps in tests that only verify deployment behavior.
Defensive patterns

Strategy: fallback

Try / catch

if _, diags, err := runtime.GenerateProgram(ctx, ...); err != nil && strings.Contains(err.Error(), "GenerateProgram is not supported") {
    // use the convert pipeline / real runtime instead
}

Prevention

When it happens

Trigger: Calling GenerateProgram on the deploytest runtime, e.g. `pulumi convert`-style tests or any engine flow that asks the language runtime to translate program code.

Common situations: Testing program conversion with the mock runtime; accidental use of deploytest host in conversion codepaths.

Related errors


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