remotion-dev/remotion · error · Error

The config format has changed. Change `Config.Output.*()` ca

Error message

The config format has changed. Change `Config.Output.*()` calls to `Config.*()` in your config file.

What it means

`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.

Source

Thrown at packages/cli/src/config/index.ts:740

	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.',
		);
	},
	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.',
		);
	},

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. Flatten the call: `Config.setCodec(...)` directly on `Config`.
  2. Audit the whole config file for other removed namespaces (`Rendering`, `Bundling`, `Log`, `Preview`, `Puppeteer`) and migrate them in the same pass.

Example fix

// before
Config.Output.setCodec('h264');
// after
Config.setCodec('h264');
Defensive patterns

Strategy: validation

Validate before calling

const src = readFileSync('remotion.config.ts', 'utf8');
if (/Config\.Output\./.test(src)) {
  throw new Error('Remove Config.Output.* calls; use flat Config.* setters.');
}

Prevention

When it happens

Trigger: Any config file calling `Config.Output.setCodec(...)` or another `Config.Output.*` method, loaded under Remotion 4.x+/5.x.

Common situations: Stale `remotion.config.ts` after a major upgrade; team shared snippet that pre-dates the flat config; documentation/tutorial written against v3.

Related errors


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