pulumi/pulumi · error

getting analyzer info: %w

Error message

getting analyzer info: %w

What it means

Wraps a failure from analyzer.GetAnalyzerInfo while policyPackVersions collects pack name/version metadata for the analysis report. Each loaded analyzer plugin is queried over gRPC for its info; any plugin that fails to answer produces this error.

Source

Thrown at pkg/cmd/pulumi/policy/policy_analyze.go:387

			events <- engine.NewEvent(engine.SummaryEventPayload{
				IsPreview:       false,
				MaybeCorrupt:    false,
				Duration:        0 * time.Second,
				ResourceChanges: nil,
				PolicyPacks:     policyPacks,
				Result:          result,
			})
			close(events)
			<-done
		}, nil
}

func policyPackVersions(ctx context.Context, analyzers []plugin.Analyzer) (map[string]string, error) {
	policyPacks := map[string]string{}
	for _, analyzer := range analyzers {
		info, err := analyzer.GetAnalyzerInfo(ctx)
		if err != nil {
			return nil, fmt.Errorf("getting analyzer info: %w", err)
		}
		policyPacks[info.Name] = info.Version
	}
	return policyPacks, nil
}

func (e *analyzeEvents) writeEvent(event engine.Event) {
	if e.events != nil {
		e.events <- event
		return
	}

	if e.json != nil {
		apiEvent, err := display.ConvertEngineEvent(event, false /*showSecrets*/)
		if err != nil {
			return
		}
		apiEvent.Sequence = e.seq

View on GitHub (pinned to 793f7b2e16)

Solutions

  1. Reinstall the offending policy pack (`pulumi policy rm <pack>` then `pulumi policy add <pack>`)
  2. Check plugin version compatibility with the CLI (`pulumi plugin ls`)
  3. Run with --logtostderr to identify which analyzer failed
  4. Ensure the plugin binary is executable and not quarantined

Example fix

// shell before
$ pulumi policy analyze  # error: getting analyzer info
// after
$ pulumi policy rm myorg/mypack && pulumi policy add myorg/mypack@v2.0.0
Defensive patterns

Strategy: retry

Validate before calling

pulumi plugin ls --cloud 2>&1 | grep -i analyzer || echo 'reinstall policy packs'

Try / catch

for i in 1 2 3; do
  pulumi policy analyze && break
  pulumi plugin rm --all --yes && pulumi plugin install
done

Prevention

When it happens

Trigger: An analyzer plugin process fails or returns an error to GetPolicyAnalyzerInfo during `pulumi policy analyze` metadata collection (e.g. plugin crashed, gRPC timeout, incompatible plugin binary).

Common situations: Stale or corrupted plugin in ~/.pulumi/plugins; plugin built for a different pulumi CLI version; plugin binary lacks execute permissions.

Related errors


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