Supported dbt versions for dbt Projects on Snowflake

Snowflake provides managed runtimes for dbt Projects to ensure a secure and predictable execution environment. Because dbt releases can introduce breaking changes or security vulnerabilities, Snowflake follows a structured lifecycle for each version. This policy allows users to pin specific versions for governance and reproducibility while providing a clear timeline for required migrations.

Important

dbt Labs end-of-life dates don’t affect your dbt project objects on Snowflake. Any dbt project object pinned to a dbt version will continue to run on Snowflake, even after dbt Labs deprecates that version or ends support for it. Snowflake decommissions a version only through its own lifecycle, and announces any decommission at least three months in advance through the behavior change release process. For more information, see How Snowflake handles older dbt versions.

Supported versions for dbt Projects

dbt Version SupportedSnowflake Support Leveldbt Labs Support
dbt 2.0.0Active supportActive
dbt Fusion 2.0.0-preview.210Active supportActive
dbt Fusion 2.0.0-preview.186Active supportActive
dbt Fusion 2.0.0-preview.175Active supportActive
dbt Core 1.12.3Active supportActive support until Jul 15, 2027
dbt Core 1.11.11Active supportActive support until Dec 18, 2026
dbt Core 1.10.15Active supportDeprecated
dbt Core 1.9.4Active supportDeprecated

The dbt Labs Support column is for reference only. It shows each version’s support status from dbt Labs and doesn’t affect whether the version runs on Snowflake.

The DBT_VERSION parameter implicitly defines the execution engine based on the version, as shown in the table below.

Version based engine mapping

User Input (DBT_VERSION)ConditionResulting Engine
'1.x' (for example, 1.9.4)Version < 2.0dbt Core (Python-based)
'2.x' (for example, 2.0.0)Version >= 2.0dbt Fusion (Rust-based)

View supported dbt versions

To view supported dbt versions, run the SYSTEM$SUPPORTED_DBT_VERSIONS system function, as shown in the following example:

SELECT SYSTEM$SUPPORTED_DBT_VERSIONS();
[{"dbt_version":"1.9.4","type":"dbt Core"},{"dbt_version":"1.10.15","type":"dbt Core"},{"dbt_version":"1.11.11","type":"dbt Core"},{"dbt_version":"1.12.3","type":"dbt Core"},{"dbt_version":"2.0.0-preview","type":"dbt Fusion"},{"dbt_version":"2.0.0-preview.175","type":"dbt Fusion"},{"dbt_version":"2.0.0-preview.186","type":"dbt Fusion"},{"dbt_version":"2.0.0-preview.210","type":"dbt Fusion"},{"dbt_version":"2.0.0","type":"dbt Fusion"}]

Set the account-level default version

Account administrators can set a default dbt version using the DEFAULT_DBT_VERSION account parameter. Changing this parameter doesn’t affect existing dbt project objects. It only applies to projects created afterward when an explicit DBT_VERSION attribute is not specified. This lets you opt in to newer versions without requiring users to specify DBT_VERSION in every CREATE DBT PROJECT statement.

ALTER ACCOUNT SET DEFAULT_DBT_VERSION = '1.12.3';

This default version is also used by workspaces to set the initial dbt workspace runtime version.

Individual dbt project objects can still override the account default by specifying DBT_VERSION at creation time, by using ALTER DBT PROJECT, or during each execution with EXECUTE DBT PROJECT.

Alter the dbt execution version

To alter the dbt version that the dbt project object will execute, run the ALTER DBT PROJECT command as shown in the following example:

ALTER DBT PROJECT my_dbt_project SET DBT_VERSION = '1.12.3';

Create a dbt project object pinned to a version

The following example creates a dbt project object pinned to the 1.12.3 dbt version:

CREATE OR REPLACE DBT PROJECT my_dbt_project
  FROM '@my_stage/dbt_files'
  DBT_VERSION = '1.12.3';

Note

You can also override the dbt version for a single execution by specifying DBT_VERSION in the EXECUTE DBT PROJECT statement.

For more information and examples, see CREATE DBT PROJECT and ALTER DBT PROJECT.

Migrate to dbt Fusion

dbt Fusion is a ground-up Rust rewrite of the dbt runtime, designed to deliver significantly faster parse and compile times. Fusion runs dbt 2.x versions, including dbt 2.0.0. The “preview” in earlier 2.0.0-preview version names reflects dbt Labs’ versioning convention, not the release status. These versions are generally available on both dbt Platform and Snowflake.

To migrate from dbt Core to dbt Fusion, use the following resources:

How Snowflake handles older dbt versions

Snowflake manages dbt versions independently of dbt Labs. You can leave existing dbt project objects on their pinned version or upgrade them on your own schedule. When your team is ready, you can create new dbt project objects on newer versions.

On Snowflake, each version is in one of the following states:

  • Supported: The version is available for new and existing dbt project objects. Snowflake provides full technical support, including security patches.
  • Deprecated: The version has reached the end of its active development cycle. dbt project objects pinned to a deprecated version keep running, but Snowflake recommends that you don’t create new dbt project objects on it.
  • Decommissioned: Snowflake has removed the version. dbt project objects pinned to a decommissioned version fail to execute until you update them to a supported version. If Snowflake decides to decommission a dbt version, we will provide at least three months of lead time before the decommission takes effect. We will announce any decommissions through the standard behavior change release process.

When dbt Labs changes the support status of a dbt version, the version’s support status on Snowflake doesn’t change. Even if a version reaches Critical Support, Deprecated, or End of Life status according to dbt Labs (https://docs.getdbt.com/docs/dbt-versions/core#latest-releases), it remains supported on Snowflake. You don’t need to upgrade because of a dbt Labs date.