{"record":{"id":"11ac2988ffac8849","repo":"remotion-dev/remotion","slug":"you-have-tried-to-call-a-remotion-lambda-function-11ac29","errorCode":null,"errorMessage":"You have tried to call a Remotion Lambda function, but have not set the environment variable AWS_SECRET_ACCESS_KEY or REMOTION_AWS_SECRET_ACCESS_KEY.","messagePattern":"You have tried to call a Remotion Lambda function, but have not set the environment variable AWS_SECRET_ACCESS_KEY or REMOTION_AWS_SECRET_ACCESS_KEY\\.","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/lambda-client/src/check-credentials.ts","lineNumber":45,"sourceCode":"\n\tif (isLikelyToHaveAwsProfile()) {\n\t\treturn;\n\t}\n\n\tif (\n\t\t!getEnvVariable('AWS_ACCESS_KEY_ID') &&\n\t\t!getEnvVariable('REMOTION_AWS_ACCESS_KEY_ID')\n\t) {\n\t\tthrow new Error(\n\t\t\tmessageForVariable('AWS_ACCESS_KEY_ID or REMOTION_AWS_ACCESS_KEY_ID'),\n\t\t);\n\t}\n\n\tif (\n\t\t!getEnvVariable('AWS_SECRET_ACCESS_KEY') &&\n\t\t!getEnvVariable('REMOTION_AWS_SECRET_ACCESS_KEY')\n\t) {\n\t\tthrow new Error(\n\t\t\tmessageForVariable(\n\t\t\t\t'AWS_SECRET_ACCESS_KEY or REMOTION_AWS_SECRET_ACCESS_KEY',\n\t\t\t),\n\t\t);\n\t}\n};\n","sourceCodeStart":27,"sourceCodeEnd":52,"githubUrl":"https://github.com/remotion-dev/remotion/blob/78fe4bb3fdb5a2cd68724393d63cb223db333fa7/packages/lambda-client/src/check-credentials.ts#L27-L52","documentation":"Companion to the access-key check: checkCredentials throws if neither AWS_SECRET_ACCESS_KEY nor REMOTION_AWS_SECRET_ACCESS_KEY is set, and no profile resolves. Same skip rules apply (REMOTION_SKIP_AWS_CREDENTIALS_CHECK, AWS_PROFILE, detected profile file).","triggerScenarios":"Access key id is set but the secret access key env var is missing when an AWS call begins.","commonSituations":"Partial .env (key copied, secret forgotten), CI secret only partially configured, secret redacted by a CI mask.","solutions":["Set AWS_SECRET_ACCESS_KEY (or REMOTION_AWS_SECRET_ACCESS_KEY) alongside the access key id","Verify the secret was not truncated/filtered by CI masking","Use a profile / IAM role instead of long-lived env secrets where possible"],"exampleFix":"# .env\nAWS_ACCESS_KEY_ID=AKIA...\n# before: secret missing\n# after\nAWS_SECRET_ACCESS_KEY=<your-secret>","handlingStrategy":"validation","validationCode":"function assertAwsSecret() {\n  const secret = process.env.AWS_SECRET_ACCESS_KEY ?? process.env.REMOTION_AWS_SECRET_ACCESS_KEY;\n  if (!secret && !process.env.AWS_PROFILE && !process.env.REMOTION_AWS_PROFILE) {\n    throw new Error('Set AWS_SECRET_ACCESS_KEY before calling Remotion Lambda');\n  }\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Configure both access key id and secret together","Beware CI masking that strips one value","Prefer IAM roles / profiles over long-lived env secrets"],"tags":["aws","credentials","environment","configuration"],"backgroundTag":null,"analyzedSha":"78fe4bb3fdb5a2cd68724393d63cb223db333fa7","analyzedAt":"2026-08-12T17:18:50.444Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}