Apollo Server and Apollo Client persisted query hash store compatibility
0 reputation · 26 Jan 2026, 08:49 UTC
Goal
Configure a repeatable local development stack where Apollo Server runs in persisted query mode and Apollo Client sends requests through the persistedQueries link.
Constraints
The GraphQL specification does not mandate query persistence, so each implementation defines its own hash store and request lifecycle. Assuming Apollo Server 4.x and Apollo Client 3.x, the server must accept the client-generated query IDs, and the client must match the server's hash format. Pinning library versions reduces drift, but it does not resolve whether schema introspection is required at build time or runtime when a hash is missing.
Questions
- Does Apollo Server persist query hashes in a way that Apollo Client can reproduce without runtime schema introspection?
- Which Apollo Server and Apollo Client version pairs guarantee matching persisted query hash behavior?
- Should the development container fail fast when a client query hash is absent from the server store?