## TL;DR

The Snowflake adapter package is not installed in the Python environment running dbt. Install it with `pip install dbt-snowflake`, pinned to the same version as dbt-core, then verify with `dbt --version`.

## Error

```text
"No module named 'dbt.adapters.snowflake'" install error
```

## Steps

1. Check what is installed: `pip show dbt-core` and `pip show dbt-snowflake`. Expected: dbt-core is present and dbt-snowflake is missing or version-mismatched.
2. Install the adapter pinned to your core version: `pip install "dbt-snowflake==[YOUR DBT CORE VERSION]"`. Expected: pip installs without dependency conflicts.
3. Verify the install: `dbt --version`. Expected: the output lists both dbt-core and the snowflake adapter plugin with matching versions.
4. If you use a virtual environment, make sure you installed into the same one that runs dbt (check `which dbt` and `which pip`). Expected: both point at the same environment.
5. Run `dbt debug`. Expected: the adapter loads and the connection check runs.

## When to use

- dbt fails with `No module named 'dbt.adapters.[ADAPTER]'`.
- Fresh machine, new virtualenv, or new CI image.

## When not to use

- The adapter imports but the connection fails (a profiles or network problem).
- You need a different adapter (install `dbt-bigquery`, `dbt-postgres`, etc. instead).

## Tool compatibility

- dbt Core 1.x with the matching adapter major version. Always keep core and adapter versions in sync.

## Variant phrasings

### No module named 'dbt.adapters.bigquery' / 'dbt.adapters.postgres'

Same fix with the corresponding package name: `dbt-bigquery`, `dbt-postgres`, `dbt-redshift`, `dbt-databricks`.

### Adapter version mismatch warnings

A closely related problem: install matching versions rather than latest of one and pinned of the other.

## Why it happens

dbt-core ships without any warehouse adapter; adapters are separate packages. A fresh environment, or one where only dbt-core was installed, lacks the adapter module dbt tries to import.

## Edge cases

- Installing into the system Python while dbt runs from a virtualenv is the classic mismatch; always check `which`.
- Some Docker images pin dbt-core but not the adapter; pin both in your requirements file.
- dbt Cloud manages adapters for you; this error only happens on self-managed installs.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_GrluVDtyB5yASCDzjWV-xQ
