{"record":{"id":"8d884c7055556a7e","repo":"remotion-dev/remotion","slug":"guideid-must-be-a-non-empty-string","errorCode":null,"errorMessage":"guideId must be a non-empty string.","messagePattern":"guideId must be a non-empty string\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/studio/src/components/WebMcp.tsx","lineNumber":1466,"sourceCode":"\t\t\t\t\tdescription:\n\t\t\t\t\t\t'Remove a guide from the current Remotion Studio composition by its guide ID.',\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\tguideId: {\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:\n\t\t\t\t\t\t\t\t\t'The guide ID returned by get_guides or add_guide.',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['guideId'],\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: ({guideId}) => {\n\t\t\t\t\t\tif (typeof guideId !== 'string' || guideId.length === 0) {\n\t\t\t\t\t\t\tthrow new Error('guideId 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\tconst guideExists = guidesListRef.current.some(\n\t\t\t\t\t\t\t(guide) =>\n\t\t\t\t\t\t\t\tguide.id === guideId && guide.compositionId === compositionId,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (!guideExists) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t`Guide ${guideId} 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 nextGuides = guidesListRef.current.filter(","sourceCodeStart":1448,"sourceCodeEnd":1484,"githubUrl":"https://github.com/remotion-dev/remotion/blob/b2f4e34732f3c6c222ea029413e22dc402218cd7/packages/studio/src/components/WebMcp.tsx#L1448-L1484","documentation":"The remove-guide tool requires guideId to be a non-empty string. Empty or non-string values are rejected before any state lookup.","triggerScenarios":"Calling remove-guide with guideId: \"\", null, or a number.","commonSituations":"LLM clients hallucinating guide IDs or passing an empty default.","solutions":["Pass the exact guide ID string previously returned by the list/add guide tools"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if (typeof guideId !== 'string' || guideId.length === 0) throw new Error('guideId required');","typeGuard":"const isNonEmptyString = (v: unknown): v is string => typeof v === 'string' && v.length > 0;","tryCatchPattern":null,"preventionTips":["Only use IDs returned by guide list/add tools"],"tags":["mcp","validation","guides"],"backgroundTag":"invalid-argument-value","analyzedSha":"b2f4e34732f3c6c222ea029413e22dc402218cd7","analyzedAt":"2026-08-28T15:39:09.316Z","contentChangedAt":"2026-08-28T15:39:09.316Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}