dbt-labs/dbt-core · warning
For Snowflake {auth_method} authentication, '{field}' will b
Error message
For Snowflake {auth_method} authentication, '{field}' will be ignored and can be safely removed from your profile. What it means
This is a deprecation-style warning emitted by the Snowflake auth parser when a profile contains a field that does not apply to the selected authentication method. The parser builds a SnowflakeAuthIR enum where each variant (password, keypair, OAuth, SSO, PAT, workload identity) only consumes a subset of profile fields; anything left over is passed to warn_ignored_auth_field so the user knows the value is dead configuration. The connection still proceeds using the relevant fields.
Source
Thrown at crates/dbt-auth/src/snowflake/mod.rs:128
"workload_identity_entra_resource can only be set if workload_identity_provider is Azure",
));
}
Ok(SnowflakeAuthIR::WorkloadIdentity {
provider,
entra_resource,
token: config.get_str("token"),
})
}
static WARN_3DES_KEY_ONCE: Once = Once::new();
fn warn_ignored_auth_field(
warning_printer: &dyn AuthWarningPrinter,
auth_method: &str,
field: &str,
) {
warning_printer.warn(&format!(
"For Snowflake {auth_method} authentication, '{field}' will be ignored and can be safely removed from your profile."
));
}
#[derive(Debug)]
enum SnowflakeAuthIR<'a> {
Warehouse {
user: &'a str,
password: &'a str,
},
WarehouseMFA {
user: &'a str,
password: &'a str,
},
KeypairPath {
user: &'a str,
path: &'a str,
passphrase: Option<&'a str>,View on GitHub (pinned to 0267ce9170)
Solutions
- Remove the named field from the Snowflake profile entry in profiles.yml
- Verify the remaining fields match the documented set for the chosen auth method (e.g. user+password, or user+private_key_path/passphrase)
- Re-run dbt and confirm the warning is gone and authentication still succeeds
Example fix
# before my_snowflake: method: externalbrowser user: me@corp password: hunter2 # ignored for SSO # after my_snowflake: method: externalbrowser user: me@corp
Defensive patterns
Strategy: validation
Validate before calling
import yaml
def check_snowflake_profile(profile: dict) -> list[str]:
field_sets = {
"password": {"user", "password"},
"externalbrowser": {"user"},
"keypair": {"user", "private_key_path"},
}
auth = profile.get("authenticator") or profile.get("method")
allowed = field_sets.get(auth)
if allowed is None:
return []
extra = set(profile) - allowed - {"type", "account", "database", "schema", "warehouse", "role", "threads"}
return [f"Field '{f}' is ignored for auth '{auth}'" for f in extra] Prevention
- Keep one canonical profile template per Snowflake auth method
- Delete unused fields immediately when switching authenticator/method
- Run dbt debug after any profiles.yml change to surface ignored-field warnings early
When it happens
Trigger: Parsing a Snowflake profile whose auth_method variant does not use the supplied field — e.g. providing a 'password' with authenticator='externalbrowser' SSO, or 'private_key' with method='password', or a 'token' alongside keypair auth.
Common situations: Copying an example profile that mixes fields from multiple auth methods; switching authenticator from password to keypair or SSO without deleting the now-unused password/token fields; team profiles accumulated over years of method changes.
Understand the failure class
- Authentication and authorization failures — expired tokens, bad credentials, and missing scopes.
Related errors
- InvalidConfig
- Version '{:?}' does not meet the required format
- when data_type is date, inner must be a TimeConfig
- generic backend authentication
- authentication method {} not implemented
AI-assisted analysis of dbt-labs/dbt-core@0267ce9170 (2026-09-07).
Data as JSON: /api/errors/9c4b5b5ca0bad34b.
Report an issue: GitHub.