{"record":{"id":"7b7ecedfc7067ca9","repo":"remotion-dev/remotion","slug":"the-config-format-has-changed-change-config-bund","errorCode":null,"errorMessage":"The config format has changed. Change `Config.Bundling.*()` calls to `Config.*()` in your config file.","messagePattern":"The config format has changed\\. Change `Config\\.Bundling\\.\\*\\(\\)` calls to `Config\\.\\*\\(\\)` in your config file\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/cli/src/config/index.ts","lineNumber":730,"sourceCode":"\t\t * @deprecated 'The config format has changed. Change `Config.Rendering.*()` calls to `Config.*()` in your config file.'\n\t\t */\n\t\tRendering: void;\n\t\t/**\n\t\t * @deprecated 'The config format has changed. Change `Config.Output.*()` calls to `Config.*()` in your config file.'\n\t\t */\n\t\tOutput: void;\n\t};\n\nconst setAllowHtmlInCanvasEnabled = (_enabled: boolean) => {\n\tLog.warn(\n\t\t{indent: false, logLevel: 'info'},\n\t\t'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.',\n\t);\n};\n\nexport const Config: FlatConfig = {\n\tget Bundling() {\n\t\tthrow new Error(\n\t\t\t'The config format has changed. Change `Config.Bundling.*()` calls to `Config.*()` in your config file.',\n\t\t);\n\t},\n\tget Rendering() {\n\t\tthrow new Error(\n\t\t\t'The config format has changed. Change `Config.Rendering.*()` calls to `Config.*()` in your config file.',\n\t\t);\n\t},\n\tget Output() {\n\t\tthrow new Error(\n\t\t\t'The config format has changed. Change `Config.Output.*()` calls to `Config.*()` in your config file.',\n\t\t);\n\t},\n\tget Log() {\n\t\tthrow new Error(\n\t\t\t'The config format has changed. Change `Config.Log.*()` calls to `Config.*()` in your config file.',\n\t\t);\n\t},","sourceCodeStart":712,"sourceCodeEnd":748,"githubUrl":"https://github.com/remotion-dev/remotion/blob/78fe4bb3fdb5a2cd68724393d63cb223db333fa7/packages/cli/src/config/index.ts#L712-L748","documentation":"`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.","triggerScenarios":"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.","commonSituations":"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.","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."],"exampleFix":"// before\nConfig.Bundling.setWebpackOverride((config) => config);\n// after\nConfig.setWebpackOverride((config) => config);","handlingStrategy":"validation","validationCode":"// Lint the config file for removed namespaces before running Remotion.\nimport {readFileSync} from 'node:fs';\nconst src = readFileSync('remotion.config.ts', 'utf8');\nif (/Config\\.Bundling\\./.test(src)) {\n  throw new Error('Remove Config.Bundling.* calls; use flat Config.* setters.');\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Run the v3→v4 migration codemod when upgrading major versions.","Pin docs to the installed Remotion version."],"tags":["config","migration","breaking-change","deprecation"],"backgroundTag":null,"analyzedSha":"78fe4bb3fdb5a2cd68724393d63cb223db333fa7","analyzedAt":"2026-08-12T17:18:50.444Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}