anomalyco/sst · error

aws provider not found

Error message

aws provider not found

What it means

The aws RPC server's `Bootstrap` method looks up the project's Pulumi provider named "aws" to fetch bootstrap data (account IDs, endpoints, etc.). If no AWS provider is registered in the current Pulumi project/stack, it returns this error and the RPC call fails.

Source

Thrown at pkg/server/aws/aws.go:25

	"sync"

	"github.com/sst/sst/v3/pkg/project"
	"github.com/sst/sst/v3/pkg/project/provider"
)

type aws struct {
	sync.Mutex
	project *project.Project
}

type BootstrapInput struct {
	Region string `json:"region"`
}

func (a *aws) Bootstrap(input *BootstrapInput, output *provider.AwsBootstrapData) error {
	unknown, ok := a.project.Provider("aws")
	if !ok {
		return fmt.Errorf("aws provider not found")
	}
	existing := unknown.(*provider.AwsProvider)
	data, err := existing.Bootstrap(input.Region)
	if err != nil {
		return err
	}
	*output = *data
	return nil
}

type AppsyncInput struct {
}
type AppsyncOutput struct {
	Http     string `json:"http"`
	Realtime string `json:"realtime"`
}

func (a *aws) Appsync(input *AppsyncInput, output *AppsyncOutput) error {

View on GitHub (pinned to a0bd20f762)

Solutions

  1. Add at least one AWS resource (e.g. `sst.aws.Bucket`) to your app so the AWS provider is registered
  2. Verify AWS credentials/config (`aws configure`, `AWS_PROFILE`) so the provider can initialize
  3. Check the stack state (`pulumi stack`) to confirm the aws provider exists; refresh/redeploy if it was removed
  4. Ensure you're operating on the correct stage/app — not one configured for another provider
Defensive patterns

Strategy: try-catch

Validate before calling

// before using sst.aws helpers, verify the stack has an AWS provider
// e.g. run: pulumi stack export | grep '"aws"'
// or in the app, ensure at least one sst.aws.* resource is defined
const hasAwsResource = resources.some(r => r.type.startsWith("sst.aws."));
if (!hasAwsResource) throw new Error("no AWS resources; aws provider won't be registered");

Try / catch

try {
  await run("sst", ["deploy"]);
} catch (e) {
  if (/aws provider not found/.test(String(e))) {
    throw new Error("Add an sst.aws.* resource or correct provider config so the AWS Pulumi provider registers", { cause: e });
  }
  throw e;
}

Prevention

When it happens

Trigger: An `sst.aws.*` component (or custom resource calling Bootstrap RPC) runs in a project/stack where the AWS Pulumi provider was never added — e.g. no AWS resource in the app yet, or the app is configured for a different cloud provider.

Common situations: Referencing `sst.aws` helpers in a Cloudflare-only or non-AWS app; provider registration failed earlier so the stack has no `aws` provider; typos in provider configuration preventing registration.

Related errors


AI-assisted analysis of anomalyco/sst@a0bd20f762 (2026-08-30). Data as JSON: /api/errors/0a5d9861576312dd. Report an issue: GitHub.