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

  1. Move the call to the flat surface, e.g. `Config.setMaxTimelineTracks(...)`.
  2. 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

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


AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12). Data as JSON: /api/errors/e8cdd896ec6265a5. Report an issue: GitHub.