{"record":{"id":"117d7204a78a33a4","repo":"remotion-dev/remotion","slug":"getsites-has-moved-to-remotion-lambda-client","errorCode":null,"errorMessage":"getSites() has moved to `@remotion/lambda-client`. Please import it from there.","messagePattern":"getSites\\(\\) has moved to `@remotion/lambda-client`\\. Please import it from there\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/lambda/src/index.ts","lineNumber":135,"sourceCode":"\t: deprecatedRenderStillOnLambda;\n\n/**\n * @deprecated Import this from `@remotion/lambda-client` instead\n */\nconst presignUrl = NoReactInternals.ENABLE_V5_BREAKING_CHANGES\n\t? () => {\n\t\t\tthrow new Error(\n\t\t\t\t'presignUrl() has moved to `@remotion/lambda-client`. Please import it from there.',\n\t\t\t);\n\t\t}\n\t: deprecatedPresignUrl;\n\n/**\n * @deprecated Import this from `@remotion/lambda-client` instead\n */\nconst getSites = NoReactInternals.ENABLE_V5_BREAKING_CHANGES\n\t? () => {\n\t\t\tthrow new Error(\n\t\t\t\t'getSites() has moved to `@remotion/lambda-client`. Please import it from there.',\n\t\t\t);\n\t\t}\n\t: deprecatedGetSites;\n\nexport {\n\tdeleteFunction,\n\tdeleteRender,\n\tdeleteSite,\n\tdeployFunction,\n\tdeploySite,\n\tdeploySiteFromBundle,\n\tdownloadMedia,\n\testimatePrice,\n\tgetAwsClient,\n\tgetCompositionsOnLambda,\n\tgetFunctionInfo,\n\tgetFunctions,","sourceCodeStart":117,"sourceCodeEnd":153,"githubUrl":"https://github.com/remotion-dev/remotion/blob/78fe4bb3fdb5a2cd68724393d63cb223db333fa7/packages/lambda/src/index.ts#L117-L153","documentation":"In Remotion v5 (when NoReactInternals.ENABLE_V5_BREAKING_CHANGES is true), getSites() is no longer a working function exported from @remotion/lambda. It is replaced by a throwing stub directing users to import it from @remotion/lambda-client. This is part of the v5 package split that moves client-side rendering APIs into their own package.","triggerScenarios":"Importing and calling getSites() from @remotion/lambda in a Remotion v5 codebase where ENABLE_V5_BREAKING_CHANGES is enabled.","commonSituations":"Upgrading from v4 to v5; listing deployed Remotion sites using the old import path; code from v4 documentation.","solutions":["Import getSites from @remotion/lambda-client instead of @remotion/lambda.","Install @remotion/lambda-client if needed.","Update all other moved exports (renderMediaOnLambda, getRenderProgress, renderStillOnLambda, presignUrl) to the new package as well."],"exampleFix":"// before\nimport {getSites} from '@remotion/lambda';\n\n// after\nimport {getSites} from '@remotion/lambda-client';","handlingStrategy":"validation","validationCode":"function assertLambdaClientImport(sourceModule: string, fnName: string): void {\n  if (sourceModule === '@remotion/lambda' && NoReactInternals.ENABLE_V5_BREAKING_CHANGES) {\n    throw new Error(\n      `${fnName} must be imported from @remotion/lambda-client in v5.`\n    );\n  }\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["When upgrading to v5, move getSites to @remotion/lambda-client.","Grep your codebase for getSites imports from @remotion/lambda after a major bump.","Follow the v5 migration guide for the complete list of moved exports."],"tags":["lambda","v5-breaking-change","migration","import","lambda-client","deprecation"],"backgroundTag":null,"analyzedSha":"78fe4bb3fdb5a2cd68724393d63cb223db333fa7","analyzedAt":"2026-08-12T17:18:50.444Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}