{"record":{"id":"ed89755e38094048","repo":"remotion-dev/remotion","slug":"sequenceid-must-be-a-non-empty-string","errorCode":null,"errorMessage":"sequenceId must be a non-empty string.","messagePattern":"sequenceId must be a non-empty string\\.","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/studio/src/components/WebMcp.tsx","lineNumber":966,"sourceCode":"\t\t\t\t\ttitle: 'Select Studio sequence',\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'Select and reveal a sequence in the current Remotion Studio timeline by the sequence ID returned by get_sequences.',\n\t\t\t\t\tinputSchema: {\n\t\t\t\t\t\ttype: 'object',\n\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);","sourceCodeStart":948,"sourceCodeEnd":984,"githubUrl":"https://github.com/remotion-dev/remotion/blob/b2f4e34732f3c6c222ea029413e22dc402218cd7/packages/studio/src/components/WebMcp.tsx#L948-L984","documentation":"The Web MCP selectSequence tool requires a composition to be currently selected in Studio. If currentComposition is null (nothing selected yet), the tool throws before looking up the sequence.","triggerScenarios":"Calling selectSequence before any composition is open in Studio, e.g. right after Studio loads with no composition chosen.","commonSituations":"Automated MCP scripts that skip the selectComposition step or run against a fresh Studio instance.","solutions":["Call the selectComposition MCP tool first to open a composition","Manually select a composition in Studio before running the sequence tool","Check the currentComposition state via MCP before calling selectSequence"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if (currentComposition === null) { /* call selectComposition first */ }","typeGuard":null,"tryCatchPattern":"try { ... } catch (e) { if (e.message === 'No composition is currently selected.') { await selectComposition(...); await retry(); } }","preventionTips":["Always run selectComposition before sequence operations in MCP scripts"],"tags":["studio","mcp","composition","state"],"backgroundTag":"missing-selection-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"}