dbt-labs/dbt-core · error

DbtSeed does not support setting detected_unsafe

Error message

DbtSeed does not support setting detected_unsafe

What it means

DbtSeed's set_detected_introspection implementation is an intentional hard panic: seeds are plain CSV files and never carry introspection/unsafe metadata, so the trait method is unimplemented. Hitting it means generic node-handling code invoked an introspection setter on a node kind that cannot hold that state.

Solutions

  1. Match on the concrete node type before calling set_detected_introspection and skip DbtSeed
  2. Move the introspection flag to a wrapper/trait only model-like nodes implement
  3. Return a no-op or Err instead of panicking if the trait contract allows
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at crates/dbt-schemas/src/schemas/nodes.rs:1869 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of dbt-labs/dbt-core@0267ce9170 (2026-09-07). Data as JSON: /api/errors/01ecc1247e5f645a. Report an issue: GitHub.

Appendix: source

Thrown at crates/dbt-schemas/src/schemas/nodes.rs:1869

                            "same_fqn",
                            same_fqn_result,
                            Some((
                                format!("{:?}", &self.common().fqn),
                                format!("{:?}", &other_seed.common().fqn),
                            )),
                        ),
                        ("same_database_representation", same_db_repr_result, None),
                    ],
                );
            }

            result
        } else {
            false
        }
    }
    fn set_detected_introspection(&mut self, _introspection: IntrospectionKind) {
        panic!("DbtSeed does not support setting detected_unsafe");
    }
}

impl InternalDbtNodeAttributes for DbtSeed {
    fn search_name(&self) -> String {
        self.__common_attr__.name.clone()
    }

    fn selector_string(&self) -> String {
        self.__common_attr__.fqn.join(".")
    }

    fn serialized_config(&self) -> YmlValue {
        dbt_yaml::to_value(&self.deprecated_config).expect("Failed to serialize to YAML")
    }
}

impl InternalDbtNode for DbtTest {

View on GitHub (pinned to 0267ce9170)