Lambda durable functions, introduced in re:Invent 2025, are a great fit for long-running workflows that need to wait for external events, callbacks, or simply pause between steps. A single durable execution can run up to 1 year, which opens up a lot of use cases that previously required Step Functions or custom orchestration.
Even though the execution can span up to 1 year, it is better to be clear about what "1 year" actually refers to. A durable execution is not a single Lambda invocation that stays alive for a year. A durable execution can consist of multiple separate invocations. Between those invocations, the execution can be moved to wait state or go to sleep and you will not be charged for that. Every one of those individual invocations still has to finish within the standard 15 minute Lambda function timeout. And, the total duration of those individual invocations and the wait time must be maximum of 1 year. From the caller's perspective the execution can span hours, days, or up to a year, even though a single invocation must run for maximum 15 minutes.
However, this is not always true. When you start invoking a durable function from an event source mapping (ESM), such as SQS, Kinesis, or DynamoDB Streams, that total duration of the execution is limited to only 15 minutes. This is including intermediate invocations and the waits.









