remotion-dev/remotion · error · Error
Failed to upgrade Remotion, run with --log=info info to see
Error message
Failed to upgrade Remotion, run with --log=info info to see logs
What it means
Thrown by the upgrade command when the spawned package manager exits non-zero AND the log level is above 'info' (e.g. warn/error), so stdio was 'ignore' and the installer's output was suppressed. Because no logs were shown, the message tells you to re-run with --log=info to see them.
Source
Thrown at packages/cli/src/upgrade.ts:295
const task = spawn(manager, command, {
env: {
...process.env,
ADBLOCK: '1',
DISABLE_OPENCOLLECTIVE: '1',
},
stdio: RenderInternals.isEqualOrBelowLogLevel(logLevel, 'info')
? 'inherit'
: 'ignore',
});
await new Promise<void>((resolve) => {
task.on('close', (code) => {
if (code === 0) {
resolve();
} else if (RenderInternals.isEqualOrBelowLogLevel(logLevel, 'info')) {
throw new Error('Failed to upgrade Remotion, see logs above');
} else {
throw new Error(
'Failed to upgrade Remotion, run with --log=info info to see logs',
);
}
});
});
};
View on GitHub (pinned to 78fe4bb3fd)
Solutions
- Re-run with verbose logs: `npx remotion upgrade --log=info`.
- Once the installer error is visible, follow the same steps as for error 116.
- If running in CI, temporarily set --log=info to capture the cause.
Example fix
// before $ npx remotion upgrade --log=warn Failed to upgrade Remotion, run with --log=info info to see logs // after $ npx remotion upgrade --log=info
Defensive patterns
Strategy: try-catch
Validate before calling
const shouldRunVerbose = (logLevel: string) => {
if (!['info', 'verbose'].includes(logLevel)) {
throw new Error('Run `remotion upgrade` with --log=info to capture installer output on failure');
}
};
shouldRunVerbose(currentLogLevel); Try / catch
try {
await upgradeCli({logLevel: 'info'});
} catch (err) {
if (err instanceof Error && err.message.includes('run with --log=info')) {
// retry with verbose logs to capture root cause
await upgradeCli({logLevel: 'info'});
}
throw err;
} Prevention
- Always run `remotion upgrade` with at least --log=info in CI to capture failures.
- Pipe CI command output to a log artifact for post-mortem.
When it happens
Trigger: Same underlying failure as error 116 (installer non-zero exit) but the command was invoked with a quiet log level such as `--log=warn` or `--log=error`, hiding the installer output.
Common situations: CI pipelines or scripts that set --log=warn to reduce noise, then cannot diagnose an upgrade failure; default-log users who muted output.
Related errors
- No lockfile was found in your project (one of ${StudioServer
- Failed to upgrade Remotion, see logs above
- No lockfile was found in your project (one of ${StudioServer
- The following packages are not Remotion packages: ${invalidP
- Could not determine version of installed Remotion packages:
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/59fbcb9b1437bc42.
Report an issue: GitHub.