Running large workflows can be time-consuming and expensive, especially when tasks have already produced valid outputs in previous runs. Latch provides two ways to avoid recomputing work:
Retry from failed task – ideal for resuming failed runs without changing inputs.
Task-level caching – useful for skipping specific tasks across multiple runs, even when inputs change.
These features help save compute resources, shorten iteration cycles, and speed up debugging.
By default, when a workflow fails, the Latch Console provides a Retry from failed task option. This resumes the workflow from the point of failure. Upstream tasks are skipped and their previous outputs are reused.This is ideal when:
Your inputs have not changed
You fixed a bug in your code and want to re-run without repeating completed steps
If you want to launch multiple executions with different workflow-level inputs, but avoid re-running certain expensive tasks whose own inputs have not changed (e.g., rebuilding reference genomes), you can enable task-level caching.This lets you persist outputs for those tasks across workflow runs, regardless of changes to unrelated workflow inputs upstream.