{"record":{"id":"d88a9662b7482bc6","repo":"remotion-dev/remotion","slug":"the-version-of-the-function-that-was-specified-as","errorCode":null,"errorMessage":"The version of the function that was specified as \"rendererFunctionName\" is ${VERSION} but the version of the function that invoked the render is ${params.launchFunctionConfig.version}. Please make sure that the version of the function that is specified as \"rendererFunctionName\" is the same as the version of the function that is invoked.","messagePattern":"The version of the function that was specified as \"rendererFunctionName\" is (.+?) but the version of the function that invoked the render is (.+?)\\. Please make sure that the version of the function that is specified as \"rendererFunctionName\" is the same as the version of the function that is invoked\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/serverless/src/handlers/renderer.ts","lineNumber":82,"sourceCode":"\t\t\t\taudioOutputLocation: string | null;\n\t\t\t\tisAudioOnly: boolean;\n\t\t\t\tcompletedAt: number;\n\t\t  }) => Promise<void>)\n\t\t| null;\n\tcancelSignal: CancelSignal | null;\n}): Promise<{}> => {\n\tif (params.type !== ServerlessRoutines.renderer) {\n\t\tthrow new Error('Params must be renderer');\n\t}\n\n\tconst chromiumOptions =\n\t\tinsideFunctionSpecifics.normalizeChromiumOptions?.({\n\t\t\tchromiumOptions: params.chromiumOptions,\n\t\t\tlogLevel: params.logLevel,\n\t\t}) ?? params.chromiumOptions;\n\n\tif (params.launchFunctionConfig.version !== VERSION) {\n\t\tthrow new Error(\n\t\t\t`The version of the function that was specified as \"rendererFunctionName\" is ${VERSION} but the version of the function that invoked the render is ${params.launchFunctionConfig.version}. Please make sure that the version of the function that is specified as \"rendererFunctionName\" is the same as the version of the function that is invoked.`,\n\t\t);\n\t}\n\n\tconst inputPropsPromise = decompressInputProps({\n\t\tbucketName: params.bucketName,\n\t\texpectedBucketOwner: options.expectedBucketOwner,\n\t\tregion: insideFunctionSpecifics.getCurrentRegionInFunction(),\n\t\tserialized: params.inputProps,\n\t\tpropsType: 'input-props',\n\t\tproviderSpecifics,\n\t\tforcePathStyle: params.forcePathStyle,\n\t\trequestHandler: null,\n\t});\n\n\tconst resolvedPropsPromise = decompressInputProps({\n\t\tbucketName: params.bucketName,\n\t\texpectedBucketOwner: options.expectedBucketOwner,","sourceCodeStart":64,"sourceCodeEnd":100,"githubUrl":"https://github.com/remotion-dev/remotion/blob/b2f4e34732f3c6c222ea029413e22dc402218cd7/packages/serverless/src/handlers/renderer.ts#L64-L100","documentation":"The renderer Lambda checks that the @remotion/lambda version running inside the renderer function matches the version embedded in the launch payload (launchFunctionConfig.version). A mismatch means the render would run with incompatible internals, so it refuses to proceed.","triggerScenarios":"params.launchFunctionConfig.version !== VERSION in the renderer handler — caused by deploying a new @remotion/lambda while the deployed Lambda function still bundles an older (or newer) version, or an orchestrator on a different version launching an older renderer function.","commonSituations":"Upgrading @remotion/lambda locally without redeploying the Lambda functions; multiple package versions in node_modules (duplicate @remotion/lambda); deployLambdaFunction skipped in CI; blue/green function versions out of sync.","solutions":["Redeploy the Lambda functions so they bundle the same @remotion/lambda version (deployLambdaFunction or npx remotion lambda functions deploy)","Deduplicate node_modules so a single @remotion/lambda version is installed (bun install / check lockfile)","Delete stale functions (remotion lambda functions rm) and deploy fresh","Pin @remotion/lambda (and all Remotion packages) to the same exact version across app and deployed functions"],"exampleFix":"// before\nbun install @remotion/lambda@latest\n// then render without redeploying -> version mismatch\n// after\nbun install @remotion/lambda@latest\nnpx remotion lambda functions deploy --region us-east-1  # redeploy matching function version","handlingStrategy":"retry","validationCode":"import {VERSION} from '@remotion/lambda';\nimport {getFunctions} from '@remotion/lambda';\nconst fns = await getFunctions({region, compatibleOnly: true});\nif (!fns.length) throw new Error('Deploy a Lambda function matching @remotion/lambda@' + VERSION);","typeGuard":"null","tryCatchPattern":"try {\n  await renderMediaOnLambda({...});\n} catch (e) {\n  if (String((e as Error).message).includes('rendererFunctionName')) {\n    // redeploy functions with matching version, then retry\n  } else { throw e; }\n}","preventionTips":["Always redeploy Lambda functions after upgrading @remotion/lambda","Use getFunctions({compatibleOnly: true}) to pick a version-matched function","Keep all Remotion packages on one exact version"],"tags":["lambda","serverless","version-mismatch","deployment"],"backgroundTag":"version-mismatch","analyzedSha":"b2f4e34732f3c6c222ea029413e22dc402218cd7","analyzedAt":"2026-09-09T13:27:51.281Z","contentChangedAt":"2026-09-09T13:27:51.281Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}