remotion-dev/remotion · error · Error
The config format has changed. Change `Config.Bundling.*()`
Error message
The config format has changed. Change `Config.Bundling.*()` calls to `Config.*()` in your config file.
What it means
`Config.Bundling` was a property on the old namespaced Remotion config object (pre-4.0). The current `Config` is flat, so the `Bundling` getter has been replaced with a getter that throws to fail fast on un-migrated config files. Accessing `Config.Bundling` triggers it.
Source
Thrown at packages/cli/src/config/index.ts:730
* @deprecated 'The config format has changed. Change `Config.Rendering.*()` calls to `Config.*()` in your config file.'
*/
Rendering: void;
/**
* @deprecated 'The config format has changed. Change `Config.Output.*()` calls to `Config.*()` in your config file.'
*/
Output: void;
};
const setAllowHtmlInCanvasEnabled = (_enabled: boolean) => {
Log.warn(
{indent: false, logLevel: 'info'},
'Config.setAllowHtmlInCanvasEnabled() is now a no-op because HTML-in-canvas is enabled by default when supported. You can remove this option from your config file.',
);
};
export const Config: FlatConfig = {
get Bundling() {
throw new Error(
'The config format has changed. Change `Config.Bundling.*()` calls to `Config.*()` in your config file.',
);
},
get Rendering() {
throw new Error(
'The config format has changed. Change `Config.Rendering.*()` calls to `Config.*()` in your config file.',
);
},
get Output() {
throw new Error(
'The config format has changed. Change `Config.Output.*()` calls to `Config.*()` in your config file.',
);
},
get Log() {
throw new Error(
'The config format has changed. Change `Config.Log.*()` calls to `Config.*()` in your config file.',
);
},View on GitHub (pinned to 78fe4bb3fd)
Solutions
- Delete the `Config.Bundling.*()` namespace calls; call the same setters directly on `Config` (e.g. `Config.setWebpackOverride(...)`).
- Run the upgrade helper / consult the v3→v4 migration guide to map each removed namespaced setter.
Example fix
// before Config.Bundling.setWebpackOverride((config) => config); // after Config.setWebpackOverride((config) => config);
Defensive patterns
Strategy: validation
Validate before calling
// Lint the config file for removed namespaces before running Remotion.
import {readFileSync} from 'node:fs';
const src = readFileSync('remotion.config.ts', 'utf8');
if (/Config\.Bundling\./.test(src)) {
throw new Error('Remove Config.Bundling.* calls; use flat Config.* setters.');
} Prevention
- Run the v3→v4 migration codemod when upgrading major versions.
- Pin docs to the installed Remotion version.
When it happens
Trigger: Any config file left over from Remotion ≤3.x calling `Config.Bundling.setOverride(...)` (or any `Config.Bundling.*`). The getter throws on property access, before any method runs.
Common situations: Upgrading a project from Remotion 3.x to 4.x/5.x without migrating `remotion.config.ts`; copying an old tutorial's config; CI building against new Remotion with a stale config committed.
Related errors
- The config format has changed. Change `Config.Rendering.*()`
- The config format has changed. Change `Config.Output.*()` ca
- The config format has changed. Change `Config.Log.*()` calls
- The config format has changed. Change `Config.Preview.*()` c
- The config format has changed. Change `Config.Puppeteer.*()`
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/7b7ecedfc7067ca9.
Report an issue: GitHub.