hasura/graphql-engine · error · BooleanExpressionError::UnknownTypeInObjectBooleanExpressionType
unknown type '{type_name}' used in object boolean expression
Error message
unknown type '{type_name}' used in object boolean expression '{boolean_expression_type_name}' What it means
Thrown by the boolean_expressions resolution stage when an object boolean expression type references an object type (via objectType) that is not defined in the resolved subgraph metadata. Every boolean expression type must be backed by an existing, resolvable object type; a lookup miss produces this error with both type names.
Source
Thrown at v3/crates/metadata-resolve/src/stages/boolean_expressions/error.rs:18
use super::BooleanExpressionTypeIdentifier;
use crate::QualifiedTypeReference;
use crate::helpers::type_mappings::TypeMappingCollectionError;
use crate::stages::{
boolean_expressions, data_connectors, graphql_config, relationships, scalar_boolean_expressions,
};
use crate::types::error::{ContextualError, TypePredicateError};
use crate::types::subgraph::{Qualified, QualifiedTypeName};
use open_dds::{
data_connector::{DataConnectorName, DataConnectorObjectType},
models::ModelName,
relationships::RelationshipName,
types::{CustomTypeName, FieldName},
};
#[derive(Debug, thiserror::Error)]
pub enum BooleanExpressionError {
#[error(
"unknown type '{type_name}' used in object boolean expression '{boolean_expression_type_name}'"
)]
UnknownTypeInObjectBooleanExpressionType {
boolean_expression_type_name: Qualified<CustomTypeName>,
type_name: Qualified<CustomTypeName>,
},
#[error(
"unsupported type '{type_name}' used in object boolean expression. '{boolean_expression_type_name}'; only object types are supported"
)]
UnsupportedTypeInObjectBooleanExpressionType {
boolean_expression_type_name: Qualified<CustomTypeName>,
type_name: Qualified<CustomTypeName>,
},
#[error(
"unknown data connector {data_connector:} referenced in object boolean expression type {object_boolean_expression_type:}"
)]
UnknownDataConnectorInObjectBooleanExpressionType {
data_connector: Qualified<DataConnectorName>,View on GitHub (pinned to 724551b9ae)
Solutions
- Correct the objectType reference in the boolean expression type definition to point at an existing object type
- Verify the object type is defined in the same namespace and included in the current metadata build
- If the type was renamed/deleted, update or remove the boolean expression type accordingly
- Rebuild to confirm resolution passes
Example fix
# before - name: my_sub objectType: my_sub.Missing_Type # after - name: my_sub objectType: my_sub.ExistingType
Defensive patterns
Strategy: validation
Validate before calling
// Pre-check: every boolean expression's objectType must be a declared object type
for be in &metadata.object_boolean_expression_types {
let q = be.object_type.to_qualified_string();
if !object_types.contains(&q) {
return Err(format!("boolean expression {} references unknown object type {q}", be.name));
}
} Try / catch
match resolve(metadata) {
Err(BooleanExpressionError::UnknownTypeInObjectBooleanExpressionType { boolean_expression_type_name, type_name }) => {
// point user at the boolean expression definition to fix objectType
}
other => other,
} Prevention
- Codemod objectType references when renaming object types
- Generate boolean expression scaffolding from existing object types instead of hand-writing names
When it happens
Trigger: Declaring an ObjectBooleanExpressionType in OpenDD whose objectType points to a Qualified type name that does not exist; renaming or deleting the underlying object type without updating boolean expression definitions.
Common situations: Typo in the objectType field, metadata files split across subgraphs where the object type lives in another build, stale references after refactors, or copy-pasting boolean expression definitions between projects.
Related errors
- Unknown type: {type_name}
- argument {argument_name:?} has an issue: {issue:?}
- unsupported type '{type_name}' used in object boolean expres
- unknown data connector {data_connector:} referenced in objec
- unknown data connector object type {data_connector_object_ty
AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28).
Data as JSON: /api/errors/d6e01d3fd455e504.
Report an issue: GitHub.