MetricSign
EN|NLRequest Access
High severitydbt

Power BI Refresh Error:
Runtime Error: profile not found

What does this error mean?

dbt could not find the profile named in dbt_project.yml in profiles.yml. This prevents dbt from connecting to any database and blocks all runs.

Common causes

  • 1The profile name in dbt_project.yml (the `profile:` key) does not match any profile defined in profiles.yml
  • 2Profiles.yml is located in the wrong directory — dbt looks in `~/.dbt/` by default
  • 3A CI/CD environment is missing the profiles.yml file because it is not committed to version control (correctly excluded via .gitignore) but also not injected into the environment
  • 4The project was cloned to a new machine and profiles.yml was not recreated
  • 5A typo in the profile name in dbt_project.yml

How to fix it

  1. 1Check the `profile:` value in dbt_project.yml — it must exactly match a top-level key in profiles.yml.
  2. 2Verify profiles.yml exists at `~/.dbt/profiles.yml` (or at the path specified by the `--profiles-dir` flag).
  3. 3Run `dbt debug` to see which profiles.yml path dbt is reading and which profile it's looking for.
  4. 4In CI/CD, inject profiles.yml as a secret or use environment variables with dbt's env_var() macro — never commit credentials.
  5. 5For dbt Cloud, profiles are managed in the dbt Cloud UI (connection settings) — you do not need a local profiles.yml.

Frequently asked questions

How do I set up profiles.yml for a CI/CD pipeline?

Use dbt's environment variable support: define credentials as env vars (e.g., DBT_USER, DBT_PASSWORD) and reference them in profiles.yml with `{{ env_var('DBT_USER') }}`. Store the template in the repo and inject secrets via CI/CD.

Official documentation: dbt-docs

Other dbt errors