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.
Supported versions for dbt Projects
| dbt Version Supported | Snowflake Support Level | dbt Labs Support |
|---|---|---|
| dbt Fusion 2.0.0-preview | Active support | Active |
| dbt Core 1.10.15 | Active support | Critical support until Jun 15, 2026 |
| dbt Core 1.9.4 | Active support | Deprecated |
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) | Condition | Resulting Engine |
|---|---|---|
'1.x' (for example, 1.9.4) | Version < 2.0 | dbt Core (Python-based) |
'2.x' (for example, 2.0.0-preview) | Version >= 2.0 | dbt Fusion (Rust-based) |
View supported dbt Core versions¶
To view supported dbt Core versions, run the SYSTEM$SUPPORTED_DBT_VERSIONS system function, as shown in the following example:
Set the account-level default version¶
Account administrators can set a default dbt version for all future dbt project objects created in the account using
the DEFAULT_DBT_VERSION account parameter. This lets you opt in to newer versions
without requiring users to specify DBT_VERSION in every CREATE DBT PROJECT statement.
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:
Create a dbt project object pinned to a version¶
The following example creates a dbt project object pinned to the 1.10.15 dbt version:
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 2.0.0-preview is a ground-up Rust rewrite of the dbt runtime, designed to deliver significantly faster parse and compile times. The “preview” in the name reflects dbt Labs’ versioning convention, not the release status. v2.0.0-preview.175 is generally available on both dbt Platform and Snowflake.
To migrate from dbt Core to dbt Fusion, use the following resources:
-
Automated fixes with dbt-autofix: Run
uvx dbt-autofixin your local terminal to automatically resolve dbt Core deprecation warnings and check package compatibility before switching to Fusion. No installation is required —uvxruns the tool directly. For more information, see dbt-labs/dbt-autofix. -
Official upgrade guide: The Upgrading to the dbt Fusion engine guide on the dbt Developer Hub covers the full migration process.
-
AI-assisted migration: The publicly available dbt Core to Fusion migration skill can be used by AI coding agents such as Cortex Code to guide migration work.
How deprecation and decommissioning work¶
- Snowflake supported versions: These versions are available for all new and existing projects. Snowflake provides full technical support, including security patches.
- Snowflake deprecated versions: These versions have reached the end of their active development cycle. While they remain fully functional for existing projects, users are discouraged from starting new projects on a deprecated version.
- Snowflake decommissioned versions: These versions are officially removed from the Snowflake environment. At this stage, any project pinned to a decommissioned version will fail to execute until it’s updated to a currently supported version.
- dbt Core Support Levels: Even if a version reaches Critical Support, Deprecated, or End of Life status according to dbt Labs, it remains supported on Snowflake. This means that you aren’t forced into immediate upgrades and can maintain your existing environment for as long as you choose.