remotion-dev/remotion · error · Error

Lambda was created but has no name

Error message

Lambda was created but has no name

What it means

After createFunction() returns from AWS, deployFunction() checks that the response contains a FunctionName. If AWS returned a CreateFunction response with no FunctionName field, Remotion throws this error. This is a defensive guard against an unexpected/incomplete AWS API response and is not caused by user misconfiguration — it typically indicates an SDK version mismatch or an AWS-side anomaly.

Source

Thrown at packages/lambda/src/api/deploy-function.ts:111

		accountId,
		memorySizeInMb: params.memorySizeInMb,
		timeoutInSeconds: params.timeoutInSeconds,
		retentionInDays:
			params.cloudWatchLogRetentionPeriodInDays ??
			LambdaClientInternals.DEFAULT_CLOUDWATCH_RETENTION_PERIOD,
		alreadyCreated: Boolean(alreadyDeployed),
		ephemerealStorageInMb: params.diskSizeInMb,
		customRoleArn: params.customRoleArn as string,
		enableLambdaInsights: params.enableLambdaInsights ?? false,
		logLevel: params.logLevel,
		vpcSubnetIds: params.vpcSubnetIds as string,
		vpcSecurityGroupIds: params.vpcSecurityGroupIds as string,
		runtimePreference: params.runtimePreference,
		requestHandler: null,
	});

	if (!created.FunctionName) {
		throw new Error('Lambda was created but has no name');
	}

	return {
		functionName: created.FunctionName,
		alreadyExisted: Boolean(alreadyDeployed),
	};
};

const errorHandled = wrapWithErrorHandling(internalDeployFunction);

/*
 * @description Creates an AWS Lambda function in your account that will be able to render a video in the cloud.
 * @see [Documentation](https://remotion.dev/docs/lambda/deployfunction)
 */
export const deployFunction = ({
	createCloudWatchLogGroup,
	memorySizeInMb,
	region,

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. Retry the deployFunction() call — transient AWS anomalies can occasionally produce malformed responses.
  2. Ensure your @remotion/lambda and AWS SDK versions are compatible and up to date.
  3. If this persists, inspect the raw AWS CreateFunction response by enabling verbose logging and report it as a Remotion issue.
  4. If testing with a mocked Lambda client, make sure the mock returns a CreateFunctionCommand output with a populated FunctionName field.
Defensive patterns

Strategy: retry

Try / catch

async function deployWithRetry(params: DeployFunctionInput, maxRetries = 2): Promise<string> {
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
    try {
      const {functionName} = await deployFunction(params);
      return functionName;
    } catch (err) {
      if (
        err instanceof Error &&
        err.message.includes('Lambda was created but has no name') &&
        attempt < maxRetries
      ) {
        continue;
      }
      throw err;
    }
  }
  throw new Error('Unreachable');
}

Prevention

When it happens

Trigger: The internal createFunction() call succeeds (no AWS exception thrown) but the returned object has a falsy FunctionName. This can happen if the AWS SDK returns an unexpected shape, or if a future CreateFunction API change omits the field.

Common situations: AWS SDK version incompatibility where the response object shape differs from what Remotion expects; extremely rare AWS-side issues; using a mock or stubbed Lambda client in tests that does not populate FunctionName.

Related errors


AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12). Data as JSON: /api/errors/ee8ebc346b746987. Report an issue: GitHub.