Powerful type-safe extension system. Intercept and manipulate inputs, outputs, and core with hooks; Add new methods; And more.
📦
Ecosystem
Meet real-world project needs with extensions for common and niche needs like OpenTelemetry, file uploads, schema errors, and more.
🚛
Multi-Transport
Not just a great way to query GraphQL APIs. Execute documents against in-memory schemas just as easily with the same interface.
🧙
Custom Scalars
Easily add client-side codecs for custom scalars in the schema to enable automatic encoding of arguments and decoding of data on every request.
🪵
Document Builder
Optional TypeScript alternative to GQL syntax for building type-safe documents including tailored methods for root fields, batch method for multiple root fields, and a document method for 1:1 with GraphQL.
⛑️
Type Safe Results ( Document Builder )
Automatically inferred type safe results based on your document's structure including selection sets, aliases, directives, inline fragments, unions, and more.
🎲
Schema Errors ( Extension )
First class support for schemas that have modelled errors into their design. Result Fields can be made to throw on errors or automatically map to error classes.
📄
Static Document Builder
Generate typed GraphQL documents at compile-time without a client instance. Perfect for passing to other GraphQL clients or building tools. Zero runtime overhead.
📮
Output Modes
Control error handling patterns with envelope mode (wrap results), return-error mode (errors as values), or throw mode. Configure globally or per-request.
🎭
gql.tada Support ( Coming Soon )
Automatic integration with gql.tada for type-safe GraphQL documents using the standard GraphQL syntax. Best of both worlds. Track progress →
Jason Kuhrt
Creator
Ex @prisma Dialogue littleBits. Creator Graffle Molt Paka Nexus. Shapeshifting Polymath ≒ Art ∙ Design ∙ Engineering. Heart humanities. In an alternate universe ⊻ Coureur de Bois, Architect, Athlete, Lego Master Builder