{"record":{"id":"09b6bb0bacee7cf5","repo":"dbt-labs/dbt-core","slug":"invalid-adapter-type-in-manifest","errorCode":null,"errorMessage":"Invalid adapter_type in manifest {}","messagePattern":"Invalid adapter_type in manifest (.+?)","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/dbt-schemas/src/schemas/manifest/manifest.rs","lineNumber":1179,"sourceCode":"    // Match dbt-core's `_sort_values`: deterministic, sorted, dedup'd values.\n    for v in parent_map.values_mut() {\n        v.sort();\n        v.dedup();\n    }\n    for v in child_map.values_mut() {\n        v.sort();\n        v.dedup();\n    }\n\n    (parent_map, child_map)\n}\n\npub fn nodes_from_dbt_manifest(manifest: DbtManifest, dbt_quoting: DbtQuoting) -> Nodes {\n    let mut nodes = Nodes::default();\n\n    let adapter_type =\n        AdapterType::from_str(&manifest.metadata.adapter_type).unwrap_or_else(|_| {\n            panic!(\n                \"Invalid adapter_type in manifest {}\",\n                &manifest.metadata.adapter_type\n            )\n        });\n\n    let source_default_quoting = default_dbt_quoting_for(adapter_type);\n\n    // A previous manifest carries its own `adapter_type` (just parsed above), which is the\n    // spelling authority for the alias-authored keys in that file -- so canonicalize\n    // `unrendered_config` the same way the parser does on the write side, or a manifest written\n    // by pre-fix Fusion (authored spelling) looks like a `state:modified` false positive against\n    // freshly parsed (canonical) config. Suppress-only and idempotent (see the callee's doc\n    // comment); on a duplicate the canonical spelling wins rather than erroring, since this is\n    // data we did not write this run.\n    let canonicalize_unrendered_config = |cfg: BTreeMap<String, YmlValue>| {\n        dbt_adapter_core::config_aliases::canonicalize_previous_manifest_config_keys(\n            adapter_type,\n            cfg,","sourceCodeStart":1161,"sourceCodeEnd":1197,"githubUrl":"https://github.com/dbt-labs/dbt-core/blob/0267ce9170576975b76b64ce856b2e5848e96617/crates/dbt-schemas/src/schemas/manifest/manifest.rs#L1161-L1197","documentation":"nodes_from_dbt_manifest hard-panics because manifest.metadata.adapter_type does not parse into any known AdapterType — the manifest was produced by an adapter unknown to this build, or the field is empty/garbled. The abort happens while constructing the Nodes structure from a parsed dbt manifest file.","triggerScenarios":"Thrown at crates/dbt-schemas/src/schemas/manifest/manifest.rs:1179 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect metadata.adapter_type in manifest.json and correct it to a supported adapter name","Regenerate the manifest with the matching adapter so metadata is populated correctly","Replace the panic with a returned error so callers can report the problem instead of aborting the process"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0267ce9170576975b76b64ce856b2e5848e96617","analyzedAt":"2026-09-07T21:53:39.732Z","contentChangedAt":"2026-09-07T21:53:39.732Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}