remotion-dev/remotion · error · Error
The config format has changed. Change `Config.Preview.*()` c
Error message
The config format has changed. Change `Config.Preview.*()` calls to `Config.*()` in your config file.
What it means
`Config.Preview` was the namespace for Studio/preview-server options in the old config layout. The flat `Config` getter throws on access so any remaining `Config.Preview.*` call surfaces a clear migration message instead of silently doing nothing.
Source
Thrown at packages/cli/src/config/index.ts:750
);
},
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.',
);
},
get Preview() {
throw new Error(
'The config format has changed. Change `Config.Preview.*()` calls to `Config.*()` in your config file.',
);
},
get Puppeteer() {
throw new Error(
'The config format has changed. Change `Config.Puppeteer.*()` calls to `Config.*()` in your config file.',
);
},
setMaxTimelineTracks: StudioServerInternals.setMaxTimelineTracks,
setKeyboardShortcutsEnabled: keyboardShortcutsOption.setConfig,
setInteractivityEnabled: interactivityOption.setConfig,
setAllowHtmlInCanvasEnabled,
setRspack: rspackOption.setConfig,
setExperimentalRspackEnabled: rspackOption.setConfig,
setNumberOfSharedAudioTags: numberOfSharedAudioTagsOption.setConfig,
setExperimentalKeepAudioContextAlive:
experimentalKeepAudioContextAliveOption.setConfig,
setWebpackPollingInMilliseconds: webpackPollOption.setConfig,View on GitHub (pinned to 78fe4bb3fd)
Solutions
- Move the call to the flat surface, e.g. `Config.setMaxTimelineTracks(...)`.
- Search the config file for all namespaced calls (`Bundling|Rendering|Output|Log|Preview|Puppeteer`) and migrate them together.
Example fix
// before Config.Preview.setMaxTimelineTracks(20); // after Config.setMaxTimelineTracks(20);
Defensive patterns
Strategy: validation
Validate before calling
const src = readFileSync('remotion.config.ts', 'utf8');
if (/Config\.Preview\./.test(src)) {
throw new Error('Remove Config.Preview.* calls; use flat Config.* setters.');
} Prevention
- Search the config for all six removed namespaces in one grep on every upgrade.
- Keep studio-related setters together so they are easy to migrate as a group.
When it happens
Trigger: A config file calling `Config.Preview.setMaxTimelineTracks(...)` (or any `Config.Preview.*`) under Remotion 4.x+/5.x.
Common situations: Post-upgrade config that still references the Studio namespace; onboarding template cloned from an old repo; mismatched docs vs installed version.
Related errors
- The config format has changed. Change `Config.Bundling.*()`
- 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.Puppeteer.*()`
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/e8cdd896ec6265a5.
Report an issue: GitHub.