Complete Apache Airflow keyboard shortcuts and commands reference — 10 shortcuts across 1 categories. Quick reference cheat sheet for Windows & Mac.
Apache Airflow is operated through its web UI most of the time, but the airflow CLI is what you use to start the components, test a task in isolation and manage DAGs from a shell or a deployment script. The table lists the commands from the Airflow 2 CLI; the notes mark which ones changed in Airflow 3, where the webserver became the API server.
| Shortcut | Action |
|---|---|
| airflow dags list | List DAGs |
| airflow dags trigger <dag_id> | Trigger DAG |
| airflow dags pause <dag_id> | Pause DAG |
| airflow dags unpause <dag_id> | Unpause DAG |
| airflow tasks list <dag_id> | List tasks |
| airflow tasks run <dag_id> <task_id> <date> | Run task |
| airflow db init | Init database |
| airflow scheduler | Start scheduler |
| airflow webserver -p 8080 | Start webserver |
| airflow celery worker | Start worker |
The most essential Apache Airflow shortcuts are: airflow dags list (List DAGs), airflow dags trigger <dag_id> (Trigger DAG), airflow dags pause <dag_id> (Pause DAG).
The Apache Airflow shortcut for list dags is airflow dags list.
Yes — use My Stack to combine Apache Airflow shortcuts with any other platform on this site into one printable reference, which is useful if your daily workflow spans several tools.
airflow db init creates the metadata database on first install (Airflow 2.7 and later prefer airflow db migrate, which also upgrades an existing one). airflow scheduler starts the scheduler that parses DAGs and queues tasks, airflow webserver -p 8080 starts the UI — in Airflow 3 this is airflow api-server — and airflow celery worker starts a worker when the Celery executor is configured. Each runs in the foreground, so production deployments run them under systemd or as separate containers.
airflow dags list shows every DAG the scheduler has parsed, with its file path, and is the first check when a new DAG does not appear in the UI. airflow dags trigger <dag_id> creates a manual run, and airflow dags pause <dag_id> and airflow dags unpause <dag_id> control whether scheduled runs are created; new DAGs start paused unless configured otherwise, which is the usual reason "my DAG never runs".
airflow tasks list <dag_id> prints the task IDs, and airflow tasks run <dag_id> <task_id> <date> executes one task instance for a logical date through the executor, recording state. For development, airflow tasks test takes the same arguments but runs the task in-process without the scheduler or database state, which is the fastest way to debug an operator; airflow dags test does the same for a whole DAG.
Open your assistant with this page preloaded as the source — great for follow-up questions like "which of these work in other apps?"