Field extensions

Author: martinbonninCreated Apr 25, 2025Updated Jul 30, 2026
Labels💭 Strawman (RFC 0)

Not being able to add directives to an existing field definition has been a growing pain point in Apollo Kotlin. This RFC solves that.

See https://github.com/graphql/graphql-spec/issues/952 for the initial use case

Current status

Object type extensions may extend existing fields.

In this example, we deprecate the field id on type Query by adding a @deprecated directive:

graphql
type Query {
  id: String
}
graphql
extend type Query {
  id: String @deprecated(reason: "Use newId")
}

Open questions

  • Are extensions a merge? Or just additive?