# Snapshots must be configured with a 'strategy' and 'unique\_key'

**URL:** <https://discourse.getdbt.com/t/snapshots-must-be-configured-with-a-strategy-and-unique-key/20340>\
**Category:** Help\
**Tags:** snapshots\
**Created:** [October 20, 2025, 11:55am UTC](https://discourse.getdbt.com/t/snapshots-must-be-configured-with-a-strategy-and-unique-key/20340 "2025-10-20T11:55:23Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![sarahs](https://sea2.discourse-cdn.com/flex020/user_avatar/discourse.getdbt.com/sarahs/32/6197_2.png) [@sarahs](https://discourse.getdbt.com/u/sarahs)\
**Post date:** [October 20, 2025, 11:55am UTC](https://discourse.getdbt.com/t/snapshots-must-be-configured-with-a-strategy-and-unique-key/20340/1 "2025-10-20T11:55:23Z")

</div>

## The problem I’m having

When i configure snapshot in a yml file, I encounter an error:

raise ValidationError(  
“Snapshots must be configured with a ‘strategy’ and ‘unique\_key’.”  
)  
dbt\_common.dataclass\_schema.ValidationError: Snapshots must be configured with a ‘strategy’ and ‘unique\_key’.

## The context of why I’m trying to do this

I am using the yml method as it’s recommended in the dbt documentation vs the config method which seems to be legacy: [Snapshot configurations | dbt Developer Hub](https://docs.getdbt.com/reference/snapshot-configs)

I am running:

Core:

- installed: 1.10.13
- latest: 1.10.13 - Up to date!

Plugins:

- snowflake: 1.10.2 - Up to date!

## What I’ve already tried

I tried removing double quotes for my unique\_key but I face the same error

## Some example code or error messages

```auto
  - name: my_snapshot
    relation: source('my_source', 'my_table')
    config:
      database: my_database
      schema: my_schema
      strategy: check
      unique_key: '"S#col_a"' #I have a column with a special character hence double quotes
      check_cols: 
        - 'col_b'
      dbt_valid_to_current: to_date('9999-12-31')
      hard_deletes: new_record

```
