Catchup controls whether Airflow creates missed historical DAG runs.
If start_date = Jan 1, today is Jul 1, schedule is daily:
catchup=True→ may create many historical runs (Jan 1 … Jun 30)catchup=False→ won't automatically create all those historical runs
Use False when historical execution isn't required. Use backfill intentionally when you need history.