remotion-dev/remotion · critical · Error

Should not download a browser in Cloud Run

Error message

Should not download a browser in Cloud Run

What it means

Thrown inside getCompositionFromBody() when the headless browser attempts to download its binary on Cloud Run. Remotion Cloud Run services ship with a pre-installed browser, so a download request indicates the bundle/serve URL is misconfigured or the browser binary is missing from the image.

Source

Thrown at packages/cloudrun/src/functions/helpers/get-composition-from-body.ts:30

			},
			envVariables: body.envVariables ?? {},
			id: body.composition,
			indent: false,
			serializedInputPropsWithCustomSchema:
				body.serializedInputPropsWithCustomSchema,
			logLevel: body.logLevel,
			onBrowserLog: () => null,
			port: null,
			puppeteerInstance: undefined,
			server: undefined,
			timeoutInMilliseconds:
				body.delayRenderTimeoutInMilliseconds ??
				RenderInternals.DEFAULT_TIMEOUT,
			offthreadVideoCacheSizeInBytes: body.offthreadVideoCacheSizeInBytes,
			offthreadVideoThreads: body.offthreadVideoThreads,
			binariesDirectory: null,
			onBrowserDownload: () => {
				throw new Error('Should not download a browser in Cloud Run');
			},
			onServeUrlVisited: () => undefined,
			chromeMode: 'headless-shell',
			mediaCacheSizeInBytes: body.mediaCacheSizeInBytes,
		},
	);

	if (propsSize > 10_000_000) {
		RenderInternals.Log.warn(
			{indent: false, logLevel: body.logLevel},
			`The props of your composition are large (${propsSize} bytes). This may cause slowdown.`,
		);
	}

	return metadata;
};

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. Redeploy the Cloud Run service to ensure the bundled browser is present.
  2. Verify the serveUrl points to a Remotion bundle compatible with the deployed service version.
  3. Do not override browser configuration on Cloud Run; rely on the pre-bundled headless-shell.

Example fix

// no user code fix; this is a server-side invariant
// redeploy: npx remotion cloudrun services deploy --memory=2Gi --region=us-central1
Defensive patterns

Strategy: retry

Prevention

When it happens

Trigger: The onBrowserDownload callback fires while opening a puppeteer instance to extract the composition from the serve URL, meaning the system tried to fetch a Chromium binary instead of using the bundled one.

Common situations: A custom serve URL pointing to an environment without the bundled browser, a corrupted deployment image, or a serve URL that triggers a different code path expecting a download.

Related errors


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