remotion-dev/remotion · error · Error
Studio playback controls are not ready.
Error message
Studio playback controls are not ready.
What it means
The play tool requires Internals.timeValueRef.current to be non-null; it is null when the Studio player/playback UI has not mounted yet.
Source
Thrown at packages/studio/src/components/WebMcp.tsx:1533
type: 'object',
properties: {},
additionalProperties: false,
},
annotations: {readOnlyHint: false},
execute: () => {
const compositionId = currentCompositionRef.current;
if (compositionId === null) {
throw new Error('No composition is currently selected.');
}
if (getCurrentDuration() <= 1) {
throw new Error(
'The current composition is a still and cannot play.',
);
}
if (Internals.timeValueRef.current === null) {
throw new Error('Studio playback controls are not ready.');
}
play();
return Promise.resolve({
currentContent: currentContentRef.current,
playing: true,
});
},
},
{signal: controller.signal},
),
modelContext.registerTool(
{
name: 'pause',
title: 'Pause Studio composition',
description:
'Pause the current Remotion Studio composition at the current frame.',
inputSchema: {View on GitHub (pinned to b2f4e34732)
Solutions
- Wait for the Studio player UI to be mounted (composition fully loaded) before calling play
- Retry after load completes
Defensive patterns
Strategy: retry
Try / catch
try { await playTool(); } catch (e) { if (e.message.includes('not ready')) { await waitForStudioReady(); await playTool(); } else throw e; } Prevention
- Wait for the player UI to mount before playback commands
- Retry once after startup
When it happens
Trigger: Calling play very early during Studio bootstrap before the player controls are mounted, or in an environment where the player did not render.
Common situations: Racing MCP tool calls against Studio startup.
Related errors
- The current composition is a still and cannot play.
- The artifact filename ${artifact.filename} was emitted more
- compositionName must be a string.
- Composition ${compositionName} not found.
- sequenceId must be a non-empty string.
AI-assisted analysis of remotion-dev/remotion@b2f4e34732 (2026-08-28).
Data as JSON: /api/errors/9a8231b9c0bbf250.
Report an issue: GitHub.