remotion-dev/remotion · error · Error

getSites() has moved to `@remotion/lambda-client`. Please im

Error message

getSites() has moved to `@remotion/lambda-client`. Please import it from there.

What it means

In Remotion v5 (when NoReactInternals.ENABLE_V5_BREAKING_CHANGES is true), getSites() is no longer a working function exported from @remotion/lambda. It is replaced by a throwing stub directing users to import it from @remotion/lambda-client. This is part of the v5 package split that moves client-side rendering APIs into their own package.

Source

Thrown at packages/lambda/src/index.ts:135

	: deprecatedRenderStillOnLambda;

/**
 * @deprecated Import this from `@remotion/lambda-client` instead
 */
const presignUrl = NoReactInternals.ENABLE_V5_BREAKING_CHANGES
	? () => {
			throw new Error(
				'presignUrl() has moved to `@remotion/lambda-client`. Please import it from there.',
			);
		}
	: deprecatedPresignUrl;

/**
 * @deprecated Import this from `@remotion/lambda-client` instead
 */
const getSites = NoReactInternals.ENABLE_V5_BREAKING_CHANGES
	? () => {
			throw new Error(
				'getSites() has moved to `@remotion/lambda-client`. Please import it from there.',
			);
		}
	: deprecatedGetSites;

export {
	deleteFunction,
	deleteRender,
	deleteSite,
	deployFunction,
	deploySite,
	deploySiteFromBundle,
	downloadMedia,
	estimatePrice,
	getAwsClient,
	getCompositionsOnLambda,
	getFunctionInfo,
	getFunctions,

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. Import getSites from @remotion/lambda-client instead of @remotion/lambda.
  2. Install @remotion/lambda-client if needed.
  3. Update all other moved exports (renderMediaOnLambda, getRenderProgress, renderStillOnLambda, presignUrl) to the new package as well.

Example fix

// before
import {getSites} from '@remotion/lambda';

// after
import {getSites} from '@remotion/lambda-client';
Defensive patterns

Strategy: validation

Validate before calling

function assertLambdaClientImport(sourceModule: string, fnName: string): void {
  if (sourceModule === '@remotion/lambda' && NoReactInternals.ENABLE_V5_BREAKING_CHANGES) {
    throw new Error(
      `${fnName} must be imported from @remotion/lambda-client in v5.`
    );
  }
}

Prevention

When it happens

Trigger: Importing and calling getSites() from @remotion/lambda in a Remotion v5 codebase where ENABLE_V5_BREAKING_CHANGES is enabled.

Common situations: Upgrading from v4 to v5; listing deployed Remotion sites using the old import path; code from v4 documentation.

Related errors


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