hasura/graphql-engine · error · Error

unable to find field call

Error message

unable to find field call

What it means

While executing introspection the engine could not locate the expected field call node in the normalized AST. The introspection executor walks the normalized query to find the __schema field call; its absence violates an internal assumption.

Source

Thrown at v3/crates/graphql/lang-graphql/src/generate_graphql_schema.rs:17

/*
This module provides functions to generate introspection result as GraphQL schema
for each namespace from the schema.
 */
use json_ext;
use std::collections::BTreeMap;
use std::sync::OnceLock;
use tracing_util::SpanVisibility;
use tracing_util::{ErrorVisibility, TraceableError};

#[derive(Debug, thiserror::Error)]
pub enum Error {
    #[error("unable to parse introspection query: {0}")]
    ParseIntrospectionQuery(String),
    #[error("unable to normalize introspection query: {0}")]
    NormalizeIntrospectionQuery(String),
    #[error("unable to find field call")]
    FieldCallNotFound,
    #[error("Only __schema field is expected but found: {name:}")]
    OnlySchemaFieldExpected { name: String },
    #[error("introspection query failed: {0}")]
    IntrospactionQueryError(#[from] crate::introspection::Error),
    #[error("unable to serialize to json: {0}")]
    SerializeJson(#[from] serde_json::Error),
}
impl TraceableError for Error {
    fn visibility(&self) -> ErrorVisibility {
        ErrorVisibility::User
    }
}

/// Generate GraphQL schema for a given namespace
pub fn build_namespace_schema<
    S: crate::schema::SchemaContext,
    NSGet: crate::schema::NamespacedGetter<S>,

View on GitHub (pinned to 724551b9ae)

Solutions

  1. Rebuild with matched engine/lang-graphql versions
  2. Report upstream as an internal invariant violation
  3. Avoid custom introspection handling that mutates the normalized AST
Defensive patterns

Strategy: retry

Try / catch

// Internal invariant: retry; report upstream if reproducible

Prevention

When it happens

Trigger: Executing introspection where the normalized AST lacks the expected top-level field call; internal AST shape changes between engine versions.

Common situations: Version skew in custom builds; forks that alter normalization output shape.

Related errors


AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28). Data as JSON: /api/errors/9546ddd268119249. Report an issue: GitHub.