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

  1. Remove the named field from the Snowflake profile entry in profiles.yml
  2. Verify the remaining fields match the documented set for the chosen auth method (e.g. user+password, or user+private_key_path/passphrase)
  3. 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

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

Related errors


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