gatsbyjs/gatsby · error

Deprecated syntax of sort and/or aggregation field arguments

Error message

Deprecated syntax of sort and/or aggregation field arguments were found in your query (see https://gatsby.dev/graphql-nested-sort-and-aggregate). Query was automatically converted to a new syntax. You should update query in your code.\n\nCurrent query:\n\n${reporter.stripIndent(originalQueryText)}\n\nConverted query:\n\n${print(transformedDocument)}

What it means

Error "Deprecated syntax of sort and/or aggregation field arguments were found in your query (see https://gatsby.dev/graphql-nested-sort-and-aggregate). Query was automatically converted to a new syntax. You should update query in your code.\n\nCurrent query:\n\n${reporter.stripIndent(originalQueryText)}\n\nConverted query:\n\n${print(transformedDocument)}" thrown in gatsbyjs/gatsby.

Source

Thrown at packages/gatsby/src/query/graphql-runner.ts:146

    errors = validate(schema, document)
    warnings = validate(schema, document, [NoDeprecatedCustomRule])

    if (!errors.length) {
      this.validDocuments.set(originalDocument, document)
    } else {
      const { ast: transformedDocument, hasChanged } =
        tranformDocument(document)
      if (hasChanged) {
        const { errors, warnings, document } = this.validate(
          schema,
          originalQueryText,
          transformedDocument,
          originalDocument
        )

        if (!errors.length) {
          reporter.warn(
            `Deprecated syntax of sort and/or aggregation field arguments were found in your query (see https://gatsby.dev/graphql-nested-sort-and-aggregate). Query was automatically converted to a new syntax. You should update query in your code.\n\nCurrent query:\n\n${reporter.stripIndent(
              originalQueryText
            )}\n\nConverted query:\n\n${print(transformedDocument)}`
          )
        }

        return { errors, warnings, document }
      }
    }

    return { errors, warnings, document }
  }

  getStats(): IGraphQLRunnerStatResults | null {
    if (this.stats) {
      const comparatorsUsedObj: Array<{
        comparator: string
        amount: number

View on GitHub (pinned to e85d62f177)

Solutions

  1. Update the query in your code to the nested syntax, e.g. sort: {fields: [...], order: [...]} and object-form aggregate arguments (see https://gatsby.dev/graphql-nested-sort-and-aggregate)
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at packages/gatsby/src/query/graphql-runner.ts:146 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of gatsbyjs/gatsby@e85d62f177 (2026-08-26). Data as JSON: /api/errors/15f4b5390ffa51a2. Report an issue: GitHub.