MetricSign
EN|NLRequest Access
Medium severitycompilation

Power BI Refresh Error:
InvalidSelectorError

What does this error mean?

dbt failed to parse a node selection expression passed via --select, --exclude, or --selector because it contains invalid syntax, unknown methods, or references a node that does not exist in the project.

Common causes

  • 1A selector expression uses an unrecognized method prefix such as tag: with an incorrect colon or space (e.g., 'tag :daily' instead of 'tag:daily')
  • 2The --select expression references a model name that has been renamed or deleted from the dbt project
  • 3A YAML selector file uses a syntax error such as a missing union or intersection operator between selector clauses

How to fix it

  1. 1Step 1: Run dbt ls --select <expression> in isolation to validate the selector before attaching it to a full dbt run — this provides a clear error without executing any models.
  2. 2Step 2: Check the selector syntax guide at docs.getdbt.com/reference/node-selection/syntax for supported methods (tag:, config:, fqn:, path:, etc.) and their correct format.
  3. 3Step 3: If using a YAML selector file (selectors.yml), validate the YAML structure and ensure every selector definition uses either 'union' or 'intersection' as the top-level key.
  4. 4Step 4: Verify that any model, tag, or config value referenced in the selector actually exists in the project by running dbt ls --select <partial_selector>.

Frequently asked questions

Can I test a selector without running any models?

Yes. dbt ls --select <expression> lists all nodes that match the selector without executing anything — it is the safest way to validate selectors before a production run.

What is the difference between --select and --models?

They are functionally equivalent in dbt Core; --models is a legacy alias for --select. Both accept the same node selection syntax.

Other compilation errors