Skip to content
Latchkey

dbt "found N models ... but could not match any" selection in CI

dbt loaded the project and found your models, but the --select (or --models) criterion matched no nodes, so it reports "Nothing to do" or a warning that the selection matched nothing. The build silently did no work.

What this error means

dbt run prints "Found N models ..." then "Nothing to do. Try checking your model configs and model specification args" or "The selection criterion 'X' does not match any nodes".

dbt
Found 24 models, 8 tests, 0 snapshots, 0 analyses, 412 macros, 0 operations
The selection criterion 'tag:nightly' does not match any nodes
Nothing to do. Try checking your model configs and model specification args

Common causes

A selector that matches no nodes

A tag, path, or model name in --select does not exist in the project (a typo, or a tag never applied), so the set is empty.

Wrong selection method syntax

Using --select path:wrong/dir or a misspelled method makes dbt resolve an empty set instead of erroring loudly.

How to fix it

List the graph and fix the selector

  1. Run dbt ls to print the nodes dbt actually sees.
  2. Confirm the tag, path, or name in --select exists in that list.
  3. Correct the selector so it matches real nodes.
Terminal
dbt ls --select tag:nightly

Apply the tag the selector expects

If you select by tag, ensure the models actually carry it in their config.

models/marts/orders.sql
{{ config(tags=['nightly']) }}

How to prevent it

  • Validate selectors with dbt ls before wiring them into CI.
  • Keep tags and paths consistent between models and selectors.
  • Treat an empty selection as a failure in scheduled jobs if work was expected.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →