{"record":{"id":"878809bb082747a3","repo":"remotion-dev/remotion","slug":"the-config-format-has-changed-change-config-outp","errorCode":null,"errorMessage":"The config format has changed. Change `Config.Output.*()` calls to `Config.*()` in your config file.","messagePattern":"The config format has changed\\. Change `Config\\.Output\\.\\*\\(\\)` calls to `Config\\.\\*\\(\\)` in your config file\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/cli/src/config/index.ts","lineNumber":740,"sourceCode":"\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},\n\tget Preview() {\n\t\tthrow new Error(\n\t\t\t'The config format has changed. Change `Config.Preview.*()` calls to `Config.*()` in your config file.',\n\t\t);\n\t},\n\tget Puppeteer() {\n\t\tthrow new Error(\n\t\t\t'The config format has changed. Change `Config.Puppeteer.*()` calls to `Config.*()` in your config file.',\n\t\t);\n\t},","sourceCodeStart":722,"sourceCodeEnd":758,"githubUrl":"https://github.com/remotion-dev/remotion/blob/78fe4bb3fdb5a2cd68724393d63cb223db333fa7/packages/cli/src/config/index.ts#L722-L758","documentation":"`Config.Output` was the old namespace for output-related setters (e.g. `Config.Output.setCodec`). The flat `Config` object replaces it with a throwing getter so unmigrated config files stop at first access rather than silently being ignored.","triggerScenarios":"Any config file calling `Config.Output.setCodec(...)` or another `Config.Output.*` method, loaded under Remotion 4.x+/5.x.","commonSituations":"Stale `remotion.config.ts` after a major upgrade; team shared snippet that pre-dates the flat config; documentation/tutorial written against v3.","solutions":["Flatten the call: `Config.setCodec(...)` directly on `Config`.","Audit the whole config file for other removed namespaces (`Rendering`, `Bundling`, `Log`, `Preview`, `Puppeteer`) and migrate them in the same pass."],"exampleFix":"// before\nConfig.Output.setCodec('h264');\n// after\nConfig.setCodec('h264');","handlingStrategy":"validation","validationCode":"const src = readFileSync('remotion.config.ts', 'utf8');\nif (/Config\\.Output\\./.test(src)) {\n  throw new Error('Remove Config.Output.* calls; use flat Config.* setters.');\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Treat any `Config.<Capitalized>.` access as a code smell after upgrading.","Add an ESLint custom rule banning the removed namespaces."],"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"}