remotion-dev/remotion · error · Error

Since April 2023, more AWS permissions are required to creat

Error message

Since April 2023, more AWS permissions are required to create an S3 bucket. You need to update your user policy to continue. See https://remotion.dev/docs/lambda/s3-public-access for instructions on how to resolve this issue.

What it means

While creating a bucket, Remotion calls DeleteBucketOwnershipControls to disable Object Writer ownership so ACLs can be used. If that call is denied (error message contains 'Access Denied'), the IAM user lacks s3:PutBucketOwnershipControls. Since April 2023 AWS requires these extra permissions to fully configure a bucket, so the client surfaces a dedicated, link-bearing message.

Source

Thrown at packages/lambda-client/src/create-bucket.ts:38

			new CreateBucketCommand({
				Bucket: bucketName,
			}),
		);

		try {
			await getS3Client({
				region,
				customCredentials: null,
				forcePathStyle,
				requestHandler,
			}).send(
				new DeleteBucketOwnershipControlsCommand({
					Bucket: bucketName,
				}),
			);
		} catch (err) {
			if ((err as Error).message.includes('Access Denied')) {
				throw new Error(
					'Since April 2023, more AWS permissions are required to create an S3 bucket. You need to update your user policy to continue. See https://remotion.dev/docs/lambda/s3-public-access for instructions on how to resolve this issue.',
				);
			}

			throw err;
		}

		try {
			await getS3Client({
				region,
				customCredentials: null,
				forcePathStyle,
				requestHandler,
			}).send(
				new DeletePublicAccessBlockCommand({
					Bucket: bucketName,
				}),
			);

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. Attach the current recommended Remotion IAM policy (linked in the message) which includes s3:PutBucketOwnershipControls, s3:PutBucketPublicAccessBlock, s3:PutBucketPolicy, s3:PutBucketAcl
  2. Re-run the bucket creation once the policy is updated
Defensive patterns

Strategy: try-catch

Try / catch

try {
  await getOrCreateBucket({...});
} catch (err) {
  if ((err as Error).message.includes('more AWS permissions are required to create an S3 bucket')) {
    // update IAM policy per https://remotion.dev/docs/lambda/s3-public-access
  }
  throw err;
}

Prevention

When it happens

Trigger: getOrCreateBucket / createBucket invoked with an IAM user whose policy lacks s3:PutBucketOwnershipControls.

Common situations: Pre-April-2023 IAM policy still attached; minimal hand-rolled policy; corporate restricted policy.

Related errors


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