hasura/graphql-engine · error · BooleanExpressionError::FieldLevelComparisonOperatorConfigurationNotSupported
Field level comparison operator configuration is not fully s
Error message
Field level comparison operator configuration is not fully supported yet. Please use \"enableAll\":true.
What it means
Indicates that per-field comparison operator configuration on a boolean expression type is not yet implemented; only enabling all operators for all fields is supported. Thrown when metadata restricts comparison operators on specific fields of a boolean expression type.
Source
Thrown at v3/crates/metadata-resolve/src/stages/boolean_expressions/error.rs:150
#[error(
"The field {field_name:} has type {field_type:} but the field's boolean expression type {field_boolean_expression_type_name:} has type {underlying_type:}"
)]
FieldTypeMismatch {
field_name: FieldName,
field_type: QualifiedTypeName,
field_boolean_expression_type_name: BooleanExpressionTypeIdentifier,
underlying_type: QualifiedTypeName,
},
#[error(
"Scalar representations for data connector '{data_connector_name}' could not found for boolean expression type {boolean_expression_type}"
)]
DataConnectorScalarRepresentationsNotFound {
data_connector_name: Qualified<DataConnectorName>,
boolean_expression_type: Qualified<CustomTypeName>,
},
#[error(
"Field level comparison operator configuration is not fully supported yet. Please use \"enableAll\":true."
)]
FieldLevelComparisonOperatorConfigurationNotSupported,
#[error(
"Field level comparison operator configuration is not fully supported yet. Please add all fields in filterable_fields."
)]
FieldLevelComparisonOperatorNeedsAllFields,
#[error("a source must be defined for model {model:} in order to use filter expressions")]
CannotUseFilterExpressionsWithoutSource { model: Qualified<ModelName> },
#[error(
"Target model {model_name:} not found, referenced in relationship {relationship_name:}"
)]
TargetModelNotFound {
relationship_name: RelationshipName,
model_name: Qualified<ModelName>,View on GitHub (pinned to 724551b9ae)
Solutions
- Replace the per-field comparison operator configuration with the global option that enables all operators (e.g. operators: { enableAll: true } on the booleanExpressionType)
- Remove the field-level operators block entirely
Example fix
// before
booleanExpressionType:
operators:
_eq: [rating]
// after
booleanExpressionType:
operators:
enableAll: true Defensive patterns
Strategy: validation
Validate before calling
if (boolExpType.operators && !boolExpType.operators.enableAll && boolExpType.operators.fields) {
fail('per-field comparison operators are not supported; use enableAll: true');
} Prevention
- Use operators.enableAll for boolean expression types in current versions
- Track release notes for when field-level operator support lands
When it happens
Trigger: Declaring a booleanExpressionType with per-field comparisonOperators configuration (e.g. enabling only _eq/_lt on a single field) instead of using the blanket operators option.
Common situations: Trying to fine-tune which GraphQL comparison operators are exposed per field; migrating metadata written against a spec that implied field-level operator control.
Related errors
- error fetching config from server: %w
- error fetching server config: %v
- error while creating http client with TLS configuration %w
- makePerformExistsSubquery: only table relationships currentl
- Cannot perform an order by target of type ${orderByElement.t
AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28).
Data as JSON: /api/errors/0d2a2ee8ff66b017.
Report an issue: GitHub.