remotion-dev/remotion · error · Error

No Remotion packages found in your project. Install Remotion

Error message

No Remotion packages found in your project. Install Remotion first.

What it means

When no Remotion package is detected as installed (`installedRemotionPackages` empty), `addCommand` only permits installing `EXTRA_PACKAGES`. Any requested package that is not an extra is collected into `notExtraPackages`, and if non-empty, the error is thrown telling the user to install Remotion first.

Source

Thrown at packages/cli/src/add.ts:138

	if (installedRemotionPackages.length > 0) {
		try {
			const packageJson = require(packageJsonPath);
			targetVersion = packageJson.version;
			const packageList =
				toInstall.length === 1
					? toInstall[0]
					: `${toInstall.length} packages (${toInstall.join(', ')})`;
			Log.info({indent: false, logLevel}, `Installing ${packageList}`);
		} catch (err) {
			throw new Error(
				`Could not determine version of installed Remotion packages: ${(err as Error).message}`,
			);
		}
	} else {
		// If no Remotion packages are installed, we can only install extra packages
		const notExtraPackages = toInstall.filter((pkg) => !EXTRA_PACKAGES[pkg]);
		if (notExtraPackages.length > 0) {
			throw new Error(
				'No Remotion packages found in your project. Install Remotion first.',
			);
		}
	}

	const manager = StudioServerInternals.getPackageManager({
		remotionRoot,
		packageManager,
		dirUp: 0,
		logLevel,
	});

	if (manager === 'unknown') {
		throw new Error(
			`No lockfile was found in your project (one of ${StudioServerInternals.lockFilePaths
				.map((p) => p.path)
				.join(', ')}). Install dependencies using your favorite manager!`,
		);

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. Initialize Remotion first: `npx create-video@latest` or `npm install remotion @remotion/cli`.
  2. Ensure you run the command from the project root where Remotion is installed.
  3. Run `npm install` (or your manager) to populate node_modules before `remotion add`.
  4. Only use `remotion add` for extra packages once a core Remotion package exists.

Example fix

// before
// in a project with no remotion installed
npx remotion add @remotion/shapes

// after
npm install remotion @remotion/cli
npx remotion add @remotion/shapes
Defensive patterns

Strategy: validation

Validate before calling

function hasRemotionInstalled(deps: Record<string,string>): boolean {
  return Object.keys(deps).some(k => k === 'remotion' || k.startsWith('@remotion/'));
}

Type guard

const projectHasRemotion = (pkg: {dependencies?: Record<string,string>; devDependencies?: Record<string,string>}): boolean =>
  [...Object.keys(pkg.dependencies ?? {}), ...Object.keys(pkg.devDependencies ?? {})]
    .some(k => k === 'remotion' || k.startsWith('@remotion/'));

Try / catch

try { await addCommand({...}); }
catch (e) {
  if (e instanceof Error && /Install Remotion first/.test(e.message)) {
    await bootstrapRemotion();
  }
}

Prevention

When it happens

Trigger: Running `npx remotion add @remotion/<core-pkg>` in a project that has no Remotion packages installed yet; running in a fresh/empty directory; node_modules cleared but trying to add a Remotion dep before installing `remotion` or `@remotion/cli`.

Common situations: New project that hasn't run the Remotion starter; wrong working directory (not the project root); dependencies never installed after cloning.

Related errors


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