remotion-dev/remotion · warning · Error

The current composition is a still and has no timeline zoom.

Error message

The current composition is a still and has no timeline zoom.

What it means

The timeline zoom tool refuses to operate on stills: a composition with durationInFrames <= 1 has a single frame and therefore no timeline zoom.

Source

Thrown at packages/studio/src/components/WebMcp.tsx:1670

					annotations: {readOnlyHint: false},
					execute: ({zoom}) => {
						if (
							typeof zoom !== 'number' ||
							!Number.isFinite(zoom) ||
							zoom < 0 ||
							zoom > 1
						) {
							throw new Error('zoom must be a finite number between 0 and 1.');
						}

						const compositionId = currentCompositionRef.current;
						if (compositionId === null) {
							throw new Error('No composition is currently selected.');
						}

						const durationInFrames = getCurrentDuration();
						if (durationInFrames <= 1) {
							throw new Error(
								'The current composition is a still and has no timeline zoom.',
							);
						}

						const timelineViewportWidth =
							scrollableRef.current?.clientWidth ?? 0;
						const minZoom = getTimelineMinZoom({
							durationInFrames,
							timelineViewportWidth,
						});
						const timelineZoom = clampTimelineZoom({
							zoom: normalizedToTimelineZoom({
								normalized: zoom,
								minZoom,
							}),
							durationInFrames,
							timelineViewportWidth,
						});

View on GitHub (pinned to b2f4e34732)

Solutions

  1. Switch to an animated composition before adjusting timeline zoom
  2. Skip zoom operations for stills
Defensive patterns

Strategy: type-guard

Validate before calling

const {durationInFrames} = await getCompositionTool();
if (durationInFrames <= 1) skipZoom();

Prevention

When it happens

Trigger: Calling set-timeline-zoom while a Still is selected.

Common situations: Automation assuming a video composition when the user has a Still open.

Related errors


AI-assisted analysis of remotion-dev/remotion@b2f4e34732 (2026-08-28). Data as JSON: /api/errors/95181007fedec19e. Report an issue: GitHub.