remotion-dev/remotion · error · Error

No composition with the ID "${compId}" found.

Error message

No composition with the ID "${compId}" found.

What it means

Thrown by `remotion benchmark` after it collects the requested composition IDs (positional args or the multi-composition picker) and cannot find one of them in the compositions registered by the entry point. Each requested ID is matched exactly against `comps.find((c) => c.id === compId)`; a miss aborts the whole benchmark run.

Source

Thrown at packages/cli/src/benchmark.ts:419

			commandLine: parsedCli,
		}).value,
		onLog: RenderInternals.defaultOnLog,
	});

	const ids = (
		remainingArgs[0]
			? String(remainingArgs[0])
					.split(',')
					.map((c) => c.trim())
					.filter(truthy)
			: await showMultiCompositionsPicker(comps, logLevel)
	) as string[];

	const compositions = ids.map((compId) => {
		const composition = comps.find((c) => c.id === compId);

		if (!composition) {
			throw new Error(`No composition with the ID "${compId}" found.`);
		}

		return composition;
	});

	if (compositions.length === 0) {
		Log.error(
			{indent: false, logLevel},
			'No composition IDs passed. Add another argument to the command specifying at least 1 composition ID.',
		);
	}

	const benchmark: Record<string, Record<string, number[]>> = {};

	let count = 1;

	const x264Preset = x264Option.getValue({commandLine: parsedCli}).value;
	const audioBitrate = audioBitrateOption.getValue({

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. List available IDs with `remotion compositions <entry>` and copy the exact `id`.
  2. Verify the ID spelling and casing against the `<Composition id="...">` in the entry file.
  3. Ensure the entry file passed to benchmark is the one that registers the composition you want.

Example fix

// before
$ remotion benchmark src/index.ts MyComposition
// after (id is lowercase, as registered)
$ remotion benchmark src/index.ts my-composition
Defensive patterns

Strategy: validation

Validate before calling

// Resolve available IDs once, validate requested IDs against them.
import {getCompositions} from '@remotion/renderer';
const comps = await getCompositions(serveUrl, {inputProps});
const available = new Set(comps.map((c) => c.id));
const requested = ['myComp', 'otherComp'];
const missing = requested.filter((id) => !available.has(id));
if (missing.length) {
  throw new Error(`Unknown composition IDs: ${missing.join(', ')}`);
}

Type guard

const isKnownComposition = (id: string, comps: {id: string}[]): boolean =>
  comps.some((c) => c.id === id);

Prevention

When it happens

Trigger: Running `remotion benchmark <entry> myComp,otherComp` where any ID in the comma-separated list is not a registered `<Composition id="...">`. Also reachable through the interactive picker if the list was typed in manually and an ID is misspelled.

Common situations: Renaming a composition without updating benchmark scripts; passing the composition's display name or file name instead of its `id`; case mismatch (`MyComp` vs `mycomp`); stale copied IDs after refactoring.

Related errors


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