remotion-dev/remotion · error · Error

getRenderProgress() has moved to `@remotion/lambda-client`.

Error message

getRenderProgress() 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), getRenderProgress() is no longer a working function exported from @remotion/lambda. It is replaced by a throwing stub that directs users to import it from @remotion/lambda-client. This is part of the v5 package split that moves client-side rendering APIs out of the main Lambda package.

Source

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

	deploySiteImplementation;

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

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

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

/**
 * @deprecated Import this from `@remotion/lambda-client` instead

View on GitHub (pinned to 78fe4bb3fd)

Solutions

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

Example fix

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

// after
import {getRenderProgress} 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 getRenderProgress() from @remotion/lambda in a Remotion v5 codebase where ENABLE_V5_BREAKING_CHANGES is enabled.

Common situations: Upgrading from v4 to v5; polling render progress using the old import path; code written against v4 documentation.

Related errors


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