hasura/graphql-engine · error · CompatibilityError
duplicate compatibility config found
Error message
duplicate compatibility config found
What it means
Two or more compatibility configuration entries overlap for the same date/range, so resolution is ambiguous.
Source
Thrown at v3/crates/compatibility/src/config.rs:29
// TODO: add flags.
}
#[derive(Clone, Debug, PartialEq, serde::Serialize, opendds_derive::OpenDd)]
#[serde(rename_all = "camelCase")]
#[serde(deny_unknown_fields)]
#[opendd(json_schema(id = "v2/CompatibilityConfig"))]
/// The compatibility configuration of the Hasura metadata.
pub struct CompatibilityConfigV2 {
/// Any backwards incompatible changes made to Hasura DDN after this date won't impact the metadata.
pub date: CompatibilityDate,
// TODO: add flags.
}
#[derive(Debug, PartialEq, thiserror::Error)]
pub enum CompatibilityError {
#[error("no compatibility config found")]
NoCompatibilityConfigFound,
#[error("duplicate compatibility config found")]
DuplicateCompatibilityConfig,
#[error("compatibility date {specified} is too old, oldest supported date is {oldest}")]
DateTooOld {
specified: CompatibilityDate,
oldest: CompatibilityDate,
},
#[error("compatibility date {0} is in the future")]
DateInTheFuture(CompatibilityDate),
}
View on GitHub (pinned to 724551b9ae)
Solutions
- Search the compatibility config source for entries matching the same date and remove duplicates
- Validate config after generation/merge to assert uniqueness
- Regenerate the config from a canonical source
Defensive patterns
Strategy: validation
Validate before calling
const dates = configs.map(c => c.date);
if (new Set(dates).size !== dates.length) throw new Error('duplicate compatibility config'); Prevention
- Generate configs from one canonical source
- Validate uniqueness in CI
When it happens
Trigger: Loading compatibility configs where multiple entries match a single compatibility date, e.g. duplicated entries in the config file or overlapping ranges.
Common situations: Copy-pasted entries in a compatibility config file; merged config files containing the same date twice; tooling that appends instead of replaces entries.
Related errors
- no compatibility config found
- compatibility date {specified} is too old, oldest supported
- compatibility date {0} is in the future
- error in getting server feature flags %w
- cannot create migrations directory: %w
AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28).
Data as JSON: /api/errors/12e62af83b5117ae.
Report an issue: GitHub.