remotion-dev/remotion · error · Error

No bucket with the name ${bucketName} exists

Error message

No bucket with the name ${bucketName} exists

What it means

Thrown by deploySiteFromBundle()/deploySiteWithBundle() after it asks the S3 provider whether the named bucket exists and gets a negative answer. Remotion Lambda requires a pre-existing S3 bucket to hold the site bundle; it does not create one for you. The check is gated on the resolved AWS account ID and the expectedBucketOwner, so an ownership mismatch can also report the bucket as non-existent.

Source

Thrown at packages/lambda/src/shared/deploy-site-with-bundle.ts:86

		options: {
			mustStartWithRemotion: !options.bypassBucketNameValidation,
		},
	});

	validateSiteName(siteName);
	validatePrivacy(privacy, false);

	const accountId = await providerSpecifics.getAccountId({region});

	const bucketExists = await providerSpecifics.bucketExists({
		bucketName,
		region,
		expectedBucketOwner: accountId,
		forcePathStyle,
		requestHandler,
	});
	if (!bucketExists) {
		throw new Error(`No bucket with the name ${bucketName} exists`);
	}

	const subFolder = getSitesKey(siteName);

	const filesPromise = providerSpecifics.listObjects({
		bucketName,
		expectedBucketOwner: accountId,
		region,
		// The `/` is important to not accidentally delete sites with the same name but containing a suffix.
		prefix: `${subFolder}/`,
		forcePathStyle,
		requestHandler,
	});
	const bundlePromise = getBundle();
	const [files, bundleDir] = await waitForPromisesToFinish([
		filesPromise,
		bundlePromise,
	] as const);

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. Verify the bucket name spelling and run `npx remotion lambda buckets ls` (or `aws s3 ls`) to confirm the bucket exists.
  2. Ensure the region passed to deploySiteFromBundle matches the region where the bucket was created.
  3. Confirm the AWS credentials/profile in use own the bucket or are allowed to HeadBucket on it.
  4. Create the bucket with `npx remotion lambda buckets create` if it does not exist.

Example fix

// before
deploySiteFromBundle({bucketName: 'my-bukcet', region: 'us-east-1', bundleDir})
// after
// first: `npx remotion lambda buckets create`
deploySiteFromBundle({bucketName: 'my-bucket', region: 'us-east-1', bundleDir})
Defensive patterns

Strategy: validation

Validate before calling

import {headBucket} from '@aws-sdk/client-s3'
// before deploySiteFromBundle, confirm the bucket is reachable
async function assertBucketExists(s3, bucketName, expectedOwner) {
  try {
    await s3.send(new headBucket({Bucket: bucketName, ExpectedBucketOwner: expectedOwner}))
  } catch (e) {
    throw new Error(`Bucket '${bucketName}' not visible: ${e.message}`)
  }
}

Type guard

const isNonEmptyString = (v) => typeof v === 'string' && v.trim().length > 0

Try / catch

try {
  await deploySiteFromBundle({bucketName, region, bundleDir})
} catch (e) {
  if (/No bucket with the name/.test(e.message)) {
    // prompt user / create bucket, then retry once
  } else throw e
}

Prevention

When it happens

Trigger: Calling deploySiteFromBundle({bucketName, region, bundleDir}) where bucketName is misspelled, lives in a different region, belongs to a different AWS account, or was never created. Also triggered when the AWS credentials in use cannot see the bucket (permissions/owner mismatch).

Common situations: Forgetting to run `npx remotion lambda buckets create` first; typos in bucketName; wrong AWS profile selected; bucket created in us-east-1 but deploy targets eu-west-1; cross-account bucket where expectedBucketOwner check fails.

Related errors


AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12). Data as JSON: /api/errors/3bb80f839b1e7db5. Report an issue: GitHub.