MetricSign
EN|NLRequest Access
High severityconfiguration

Power BI Refresh Error:
SchemaConfigError

What does this error mean?

dbt failed to parse a schema.yml or properties file due to an invalid configuration. This error surfaces at project compile time — before any models run — and blocks the entire job. Common triggers include wrong indentation, unrecognised keys, invalid data types for config values, or referencing a column or model that does not exist in the project.

Common causes

  • 1A YAML indentation error in schema.yml causes the config block to be parsed as a plain string instead of a mapping
  • 2An unrecognised top-level key is present in the model or source config block (e.g., a typo like `desciption` instead of `description`)
  • 3A column listed under `columns:` in schema.yml does not exist in the model's SELECT, causing dbt's contract enforcement to fail
  • 4A data_type value in a model contract block uses a warehouse-specific type that is not supported by the adapter's type mapping
  • 5A meta or config key is nested at the wrong level (e.g., under `columns:` instead of `config:`)

How to fix it

  1. 1Run `dbt parse` or `dbt compile` locally to surface the exact file and line number of the schema error before pushing to dbt Cloud.
  2. 2Use a YAML linter (e.g., yamllint) to catch indentation and syntax issues before committing changes to schema.yml files.
  3. 3Check the dbt Cloud run log for the `SchemaConfigError` message — it typically names the file and the offending key.
  4. 4Compare the failing config block against the dbt documentation for the property you are configuring to verify key names and nesting.
  5. 5If using model contracts, ensure every column listed in the contract exists in the model's SELECT statement and that data types match the warehouse.

Frequently asked questions

Will a SchemaConfigError in one schema.yml file block models in other files?

Yes — dbt compiles the entire project before running any models. A single invalid schema file prevents compilation and blocks all models in the job.

How do I find which schema.yml file caused the error?

The dbt Cloud run log includes the file path and line number in the SchemaConfigError message. Locally, `dbt parse` exits with the same detail.

Other configuration errors