At a glance
- Identifier: #1206
- Stage: RFC 1 / Proposal
- Champion: @BoD
- Latest activity: Added to WG agenda on 2026-01-15
- 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
- Added to WG agenda on 2026-01-15
- Mentioned in WG notes on 2026-01-01
- Commit pushed on 2025-12-19 by BoD: Directives are not types
- Spec PR created on 2025-12-18 by BoD
- Commit pushed on 2025-12-18 by BoD: Reformat with prettier
- Commit pushed on 2025-12-02 by BoD: Change the directive definition syntax to have applied directives aft…
- 3 commits pushed on 2025-11-27:
- BoD committed "Add directive extensions"
- BoD committed "Make @deprecated applicable to DIRECTIVE_DEFINITION"
- BoD committed "Update introspection"
- Commit pushed on 2021-12-02 by IvanGoncharov: Add support for directives on directives