{"record":{"id":"b4e9cdacd9cddd29","repo":"remotion-dev/remotion","slug":"no-composition-is-currently-selected","errorCode":null,"errorMessage":"No composition is currently selected.","messagePattern":"No composition is currently selected\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/studio/src/components/WebMcp.tsx","lineNumber":971,"sourceCode":"\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tsequenceId: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tminLength: 1,\n\t\t\t\t\t\t\t\tdescription: 'The sequence ID returned by get_sequences.',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['sequenceId'],\n\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t},\n\t\t\t\t\tannotations: {readOnlyHint: false},\n\t\t\t\t\texecute: ({sequenceId}) => {\n\t\t\t\t\t\tif (typeof sequenceId !== 'string' || sequenceId.length === 0) {\n\t\t\t\t\t\t\tthrow new Error('sequenceId must be a non-empty string.');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst compositionId = currentCompositionRef.current;\n\t\t\t\t\t\tif (compositionId === null) {\n\t\t\t\t\t\t\tthrow new Error('No composition is currently selected.');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!canSelectRef.current) {\n\t\t\t\t\t\t\tthrow new Error('Studio sequence selection is unavailable.');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst timelineTrack = getCurrentTimeline().find(\n\t\t\t\t\t\t\t(candidate) => candidate.sequence.id === sequenceId,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (!timelineTrack) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t`Sequence ${sequenceId} not found in the current composition.`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst selection = getTimelineSelectionFromNodePathInfo(\n\t\t\t\t\t\t\ttimelineTrack.nodePathInfo,\n\t\t\t\t\t\t);","sourceCodeStart":953,"sourceCodeEnd":989,"githubUrl":"https://github.com/remotion-dev/remotion/blob/b2f4e34732f3c6c222ea029413e22dc402218cd7/packages/studio/src/components/WebMcp.tsx#L953-L989","documentation":"selectSequence requires Studio's sequence selection capability to be available (canSelect). If the current context does not support selecting sequences (e.g. the timeline/selection API is unavailable for the current composition), it throws.","triggerScenarios":"Calling selectSequence when Studio cannot perform selection in the current mode, such as before the editor is ready or in a context where selection is disabled.","commonSituations":"MCP automation hitting Studio during startup or in a state where Visual Mode/timeline selection is not active.","solutions":["Retry after Studio is fully loaded and a composition is displayed","Ensure you are in the editor view where timeline selection is possible","Update Studio — selection availability depends on recent Studio versions"],"exampleFix":null,"handlingStrategy":"retry","validationCode":"if (!canSelect) { /* wait for Studio editor to be ready, then retry */ }","typeGuard":null,"tryCatchPattern":"catch (e) { if (e.message === 'Studio sequence selection is unavailable.') { await waitForReady(); await retry(); } }","preventionTips":["Let Studio fully load before automating selection","Keep Studio updated to a version exposing sequence selection"],"tags":["studio","mcp","sequence","selection"],"backgroundTag":"feature-unavailable-in-state","analyzedSha":"b2f4e34732f3c6c222ea029413e22dc402218cd7","analyzedAt":"2026-08-28T15:39:09.316Z","contentChangedAt":"2026-08-28T15:39:09.316Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}