At a glance
- Identifier: #1206
- Stage: RFC 2 / Draft
- Champion: @BoD
- Latest activity: Marked as Ready for Next Stage on 2026-05-07
- Spec PR: https://github.com/graphql/graphql-spec/pull/1206
Spec PR description
Adds the ability to apply directives to directive definitions and to deprecate directives, with this syntax:
directive @onDirective on DIRECTIVE_DEFINITION
directive @foo @onDirective on OBJECT
directive @baz @deprecated(reason: "...") on OBJECT
extend directive @quux @deprecated(reason: "...")
With @IvanGoncharov's blessing, this PR is a continuation and updated version of #907 which I think can be closed. (There's also prior art in #567).
Motivation
Allow applying directive-exclusive features (e.g. @specifyBy, @deprecated) on directives.
For instance, on Apollo Kotlin we'd like to deprecate some client side directives.
Timeline
May 2026
- Marked as Ready for Next Stage on 2026-05-07 by benjie
- Added to WG agenda on 2026-05-07
April 2026
- Advanced to RFC 2 on 2026-04-02 by leebyron
- Added to WG agenda on 2026-04-02
January 2026
- Advanced to RFC 1 on 2026-01-15 by benjie
- Added to WG agenda on 2026-01-15
- Mentioned in WG notes on 2026-01-01
December 2025
- @BoD committed "Directives are not types" on 2025-12-19
- Top comment edited on 2025-12-18 by BoD
- Spec PR created on 2025-12-18 by BoD
- @BoD committed "Reformat with prettier" on 2025-12-18
- @BoD committed "Change the directive definition syntax to have applied directives aft…" on 2025-12-02
November 2025
- 3 commits pushed on 2025-11-27
- @BoD committed "Add directive extensions"
- @BoD committed "Make @deprecated applicable to DIRECTIVE_DEFINITION"
- @BoD committed "Update introspection"
December 2021
- @IvanGoncharov committed "Add support for directives on directives" on 2021-12-02