remotion-dev/remotion · error · Error
Please specify at least one package name. Example: npx remot
Error message
Please specify at least one package name. Example: npx remotion add @remotion/transitions
What it means
Thrown by the `remotion add` subcommand when no positional package arguments were supplied. The add command installs additional @remotion/* packages into the current project and requires at least one package name to operate on.
Source
Thrown at packages/cli/src/index.ts:131
ffmpegCommand(process.argv.slice(3), logLevel);
} else if (command === 'gpu') {
await gpuCommand(logLevel);
} else if (command === 'ffprobe') {
ffprobeCommand(process.argv.slice(3), logLevel);
} else if (command === 'upgrade') {
await upgradeCommand({
remotionRoot,
packageManager: packageManager ?? undefined,
version:
versionFlagOption.getValue({commandLine: parsedCli}).value ??
undefined,
skipSkills: skipSkillsOption.getValue({commandLine: parsedCli}).value,
logLevel,
args,
});
} else if (command === 'add') {
if (args.length === 0) {
throw new Error(
'Please specify at least one package name. Example: npx remotion add @remotion/transitions',
);
}
// Find where additional flags start (arguments starting with -)
const flagIndex = args.findIndex((arg) => arg.startsWith('-'));
const packageNames = flagIndex === -1 ? args : args.slice(0, flagIndex);
const additionalArgs = flagIndex === -1 ? [] : args.slice(flagIndex);
await addCommand({
remotionRoot,
packageManager: packageManager ?? undefined,
packageNames,
logLevel,
args: additionalArgs,
});
} else if (command === 'skills') {
await skillsCommand(args, logLevel, {View on GitHub (pinned to 78fe4bb3fd)
Solutions
- Provide one or more package names: `npx remotion add @remotion/transitions @remotion/shapes`.
- If unsure which packages exist, browse https://remotion.dev/docs or run `npx remotion add @remotion/<tab>` completion.
Example fix
// before $ npx remotion add // after $ npx remotion add @remotion/transitions
Defensive patterns
Strategy: validation
Validate before calling
const validateAddArgs = (args: string[]) => {
const packageNames = args.filter((a) => !a.startsWith('-'));
if (packageNames.length === 0) {
throw new Error('Pass at least one package name to `remotion add`, e.g. @remotion/transitions');
}
return packageNames;
};
validateAddArgs(process.argv.slice(2)); Type guard
const hasPackageName = (args: string[]): boolean =>
args.some((a) => !a.startsWith('-')); Prevention
- Wrap `remotion add` invocations in a script that asserts the package list is non-empty.
- Document the expected package names in onboarding docs.
When it happens
Trigger: Running `npx remotion add` with no arguments, or only flags (e.g. `remotion add --help` style invocation that still reaches this branch).
Common situations: Forgetting the package name; assuming `add` with no args lists available packages; copy-paste truncation of a command.
Related errors
- The following packages are not Remotion packages: ${invalidP
- Could not determine version of installed Remotion packages:
- No Remotion packages found in your project. Install Remotion
- create-video is a CLI tool only. Run `npx create-video@lates
- No lockfile was found in your project (one of ${StudioServer
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/04940431c70d2b62.
Report an issue: GitHub.