# \#client

**URL:** https://community.apollographql.com/tag/client/1.md

[Latest](https://community.apollographql.com/latest.md) · [Categories](https://community.apollographql.com/categories.md) · [Tags](https://community.apollographql.com/tags.md)

---

## [Should BatchHttpLink exclude mutations by default?](https://community.apollographql.com/t/should-batchhttplink-exclude-mutations-by-default/10058)

<div class="topic-metadata">

**Author:** [@markl](https://community.apollographql.com/u/markl)\
**Replies:** 4\
**Last updated:** [September 17, 2026, 5:15pm UTC](https://community.apollographql.com/t/should-batchhttplink-exclude-mutations-by-default/10058 "2026-09-17T17:15:41Z")

</div>

BatchHttpLink’s default batchKey function does not distinguish between queries and mutations. Both get grouped into the same batch. I understand that in theory it’s a valid transport level optimization since the server a…

---

## [V4: Event loop saturation when InMemoryCache executeSelectionSet/executeSubSelectedArray caches are full (thrashing under high subscription churn)](https://community.apollographql.com/t/v4-event-loop-saturation-when-inmemorycache-executeselectionset-executesubselectedarray-caches-are-full-thrashing-under-high-subscription-churn/10009)

<div class="topic-metadata">

**Author:** [@kimh](https://community.apollographql.com/u/kimh)\
**Replies:** 1\
**Last updated:** [August 28, 2026, 5:00pm UTC](https://community.apollographql.com/t/v4-event-loop-saturation-when-inmemorycache-executeselectionset-executesubselectedarray-caches-are-full-thrashing-under-high-subscription-churn/10009 "2026-08-28T17:00:56Z")

</div>

We have an app that maintains a large number of concurrent GraphQL subscriptions (order of 500+) writing frequent updates into a single InMemoryCache during the initial load and UI maintains about the same number of watc…

---

## [Many repeat cache watches causing memory/CPU overhead](https://community.apollographql.com/t/many-repeat-cache-watches-causing-memory-cpu-overhead/9556)

<div class="topic-metadata">

**Author:** [@jcostello](https://community.apollographql.com/u/jcostello)\
**Replies:** 19\
**Last updated:** [May 6, 2026, 8:40pm UTC](https://community.apollographql.com/t/many-repeat-cache-watches-causing-memory-cpu-overhead/9556 "2026-05-06T20:40:41Z")

</div>

I’m working on a large project that can render up to 5,000 items on a page at once. In general, we try to follow fragment colocation, where a component uses useFragment to declare its data requirements. However, we’re se…

---

## [Apollo iOS 2.0 Migration and parsing data](https://community.apollographql.com/t/apollo-ios-2-0-migration-and-parsing-data/9756)

<div class="topic-metadata">

**Author:** [@irisha8787](https://community.apollographql.com/u/irisha8787)\
**Replies:** 1\
**Last updated:** [March 21, 2026, 12:39am UTC](https://community.apollographql.com/t/apollo-ios-2-0-migration-and-parsing-data/9756 "2026-03-21T00:39:37Z")

</div>

Prior to 2.0 version, GraphQLResponse had a few helpful public functions like parseResponse that could be used by the consumers, but now they seem to be removed. I didn’t see any info on these in the migration guide, is …

---

## [Two quries with some common objects causing infinite api calls](https://community.apollographql.com/t/two-quries-with-some-common-objects-causing-infinite-api-calls/9747)

<div class="topic-metadata">

**Author:** [@Muhammad\_Abdul\_Rehma](https://community.apollographql.com/u/Muhammad_Abdul_Rehma)\
**Replies:** 0\
**Last updated:** [March 10, 2026, 10:03am UTC](https://community.apollographql.com/t/two-quries-with-some-common-objects-causing-infinite-api-calls/9747 "2026-03-10T10:03:25Z")

</div>

I can see this topic was opened with the same issue, i tired everything from the docs, but I didn’t find any solution. Any luck if anyone founds solution for this?

---

## [MCP Apps Framework for Apollo Client + Apollo MCP Server is GA](https://community.apollographql.com/t/mcp-apps-framework-for-apollo-client-apollo-mcp-server-is-ga/9733)

<div class="topic-metadata">

**Author:** [@Andrew\_McGivery](https://community.apollographql.com/u/Andrew_McGivery)\
**Replies:** 1\
**Last updated:** [March 7, 2026, 12:42am UTC](https://community.apollographql.com/t/mcp-apps-framework-for-apollo-client-apollo-mcp-server-is-ga/9733 "2026-03-07T00:42:07Z")

</div>

You can now build and serve MCP Apps using Apollo Client and Apollo MCP Server without standing up or maintaining dedicated MCP infrastructure. This release introduces a full framework and template for building conversa…

---

## [Remove references from queries after eviction and before repopulation (from another query)](https://community.apollographql.com/t/remove-references-from-queries-after-eviction-and-before-repopulation-from-another-query/9714)

<div class="topic-metadata">

**Author:** [@Mateo\_Jaouen](https://community.apollographql.com/u/Mateo_Jaouen)\
**Replies:** 1\
**Last updated:** [February 11, 2026, 10:30pm UTC](https://community.apollographql.com/t/remove-references-from-queries-after-eviction-and-before-repopulation-from-another-query/9714 "2026-02-11T22:30:04Z")

</div>

Hello, I’m facing an issue with references while moving a “file” from a folder to a subfolder. When I move an “file“ I first evict it from the cache (then invalidate the destination folder queries), the object disappea…

---

## [Incorrect mutation caller return type — \`data\` is nullish when \`errorPolicy\` is \`none\`](https://community.apollographql.com/t/incorrect-mutation-caller-return-type-data-is-nullish-when-errorpolicy-is-none/9667)

<div class="topic-metadata">

**Author:** [@SimpleCreations](https://community.apollographql.com/u/SimpleCreations)\
**Replies:** 2\
**Last updated:** [January 23, 2026, 4:19pm UTC](https://community.apollographql.com/t/incorrect-mutation-caller-return-type-data-is-nullish-when-errorpolicy-is-none/9667 "2026-01-23T16:19:52Z")

</div>

Consider the following example: const \[createPost\] = useMutation(CreatePostDocument); const handleSubmit = async () =\> { const { data } = await createPost({ variables: { text: 'abc' } }); if (data != null) …

---

## [useFragment requires concrete \_\_typename for interface types](https://community.apollographql.com/t/usefragment-requires-concrete-typename-for-interface-types/9657)

<div class="topic-metadata">

**Author:** [@jcostello](https://community.apollographql.com/u/jcostello)\
**Replies:** 1\
**Last updated:** [January 23, 2026, 12:49pm UTC](https://community.apollographql.com/t/usefragment-requires-concrete-typename-for-interface-types/9657 "2026-01-23T12:49:20Z")

</div>

I’m working on a large project that is currently running into some friction when using useFragment with types that implement interfaces. Context: Our app preloads data in a custom package and components then read that …

---

## [Tutorial Series: Headless Craft CMS with GraphQL and React](https://community.apollographql.com/t/tutorial-series-headless-craft-cms-with-graphql-and-react/9652)

<div class="topic-metadata">

**Author:** [@kmgdev](https://community.apollographql.com/u/kmgdev)\
**Replies:** 0\
**Last updated:** [January 20, 2026, 6:17pm UTC](https://community.apollographql.com/t/tutorial-series-headless-craft-cms-with-graphql-and-react/9652 "2026-01-20T18:17:42Z")

</div>

Hi everyone, I’ve recently completed a tutorial series on setting up a React site using Apollo Client to query a headless Craft CMS backend. It’s designed for frontend devs coming from traditional CMS development looking…

---

## [Router Auth Directives + Token Refresh Clarification](https://community.apollographql.com/t/router-auth-directives-token-refresh-clarification/9502)

<div class="topic-metadata">

**Author:** [@mjfaga](https://community.apollographql.com/u/mjfaga)\
**Replies:** 4\
**Last updated:** [January 9, 2026, 7:49pm UTC](https://community.apollographql.com/t/router-auth-directives-token-refresh-clarification/9502 "2026-01-09T19:49:06Z")

</div>

Hey folks - hoping there is some good guidance or clarification that someone can give me regarding the JWT Authentication flows built into the router. I want to use the Routers @authenticated/@requiresScopes directives …

---

## [Set headers in RetryLink](https://community.apollographql.com/t/set-headers-in-retrylink/9605)

<div class="topic-metadata">

**Author:** [@swrobel](https://community.apollographql.com/u/swrobel)\
**Replies:** 3\
**Last updated:** [January 7, 2026, 9:00am UTC](https://community.apollographql.com/t/set-headers-in-retrylink/9605 "2026-01-07T09:00:10Z")

</div>

I’m interested in adding a header Request-Attempt to help identify requests made via RetryLink functionality, and how many retries may have been attempted. Looking at the API docs, I don’t see a way to modify operation.…

---

## [Handling complex async execution and debugging in apollo](https://community.apollographql.com/t/handling-complex-async-execution-and-debugging-in-apollo/9584)

<div class="topic-metadata">

**Author:** [@heidi477](https://community.apollographql.com/u/heidi477)\
**Replies:** 0\
**Last updated:** [December 15, 2025, 8:47pm UTC](https://community.apollographql.com/t/handling-complex-async-execution-and-debugging-in-apollo/9584 "2025-12-15T20:47:14Z")

</div>

Hi everyone, I’m running into some challenges managing complex async execution flows in an Apollo-based setup, especially when multiple dependent operations fail silently or are hard to trace. While searching for better…

---

## [Cannot destructure property '\_\_extends' of '\_tslib.default' as it is undefined](https://community.apollographql.com/t/cannot-destructure-property-extends-of-tslib-default-as-it-is-undefined/9501)

<div class="topic-metadata">

**Author:** [@Chenter\_PHAI](https://community.apollographql.com/u/Chenter_PHAI)\
**Replies:** 3\
**Last updated:** [December 5, 2025, 4:56am UTC](https://community.apollographql.com/t/cannot-destructure-property-extends-of-tslib-default-as-it-is-undefined/9501 "2025-12-05T04:56:53Z")

</div>

Hello, anyone can help me with this? I got error while exporting my EXPO App with embed and web as well. Thanks! bun expo export:embed --eager --platform ios --dev Cannot destructure property ‘\_\_extends’ of ‘\_tslib.…

---

## [Cache performance issues on v3 (maybeBroadcastWatch)](https://community.apollographql.com/t/cache-performance-issues-on-v3-maybebroadcastwatch/9570)

<div class="topic-metadata">

**Author:** [@cain](https://community.apollographql.com/u/cain)\
**Replies:** 2\
**Last updated:** [December 4, 2025, 11:05pm UTC](https://community.apollographql.com/t/cache-performance-issues-on-v3-maybebroadcastwatch/9570 "2025-12-04T23:05:42Z")

</div>

Hi all, we have a react web app and its performance is degrading quite a bit, im trying to debug and understand why. The issue seems to be related to how many components are listing for cache updates of a query. I know …

---

## [Recommended Way to Persist Pagination Offset Value Between Components?](https://community.apollographql.com/t/recommended-way-to-persist-pagination-offset-value-between-components/9563)

<div class="topic-metadata">

**Author:** [@kmgdev](https://community.apollographql.com/u/kmgdev)\
**Replies:** 1\
**Last updated:** [November 18, 2025, 5:50pm UTC](https://community.apollographql.com/t/recommended-way-to-persist-pagination-offset-value-between-components/9563 "2025-11-18T17:50:48Z")

</div>

I’ve got a super basic offset pagination setup on a blog website. There’s a homepage component with an entry listing, and a single page component for the post detail. I’m using offsetLimitPagination() to load new entries…

---

## [Why does firstvaluefrom from watchedquery return undefined](https://community.apollographql.com/t/why-does-firstvaluefrom-from-watchedquery-return-undefined/9552)

<div class="topic-metadata">

**Author:** [@Kheang\_Hok\_Chin](https://community.apollographql.com/u/Kheang_Hok_Chin)\
**Replies:** 5\
**Last updated:** [November 11, 2025, 3:13pm UTC](https://community.apollographql.com/t/why-does-firstvaluefrom-from-watchedquery-return-undefined/9552 "2025-11-11T15:13:04Z")

</div>

Hi guys, When migrating from v3 to v4, in this documentation it says result is deprecated for watchQuery : ObservableQuery - Apollo GraphQL Docs and also in v4 doc: ObservableQuery - Apollo GraphQL Docs I did some tes…

---

## [Rate limiting when publishing subgraph schemas](https://community.apollographql.com/t/rate-limiting-when-publishing-subgraph-schemas/9521)

<div class="topic-metadata">

**Author:** [@Alix\_Cook](https://community.apollographql.com/u/Alix_Cook)\
**Replies:** 1\
**Last updated:** [October 22, 2025, 5:45pm UTC](https://community.apollographql.com/t/rate-limiting-when-publishing-subgraph-schemas/9521 "2025-10-22T17:45:01Z")

</div>

Since the outage caused by AWS, we have been unable to publish our graphql schemas. When we run rover subgraph schema publish, we get a RATE\_LIMIT\_EXCEEDED response. This is not intermittent, this happens every time. I …

---

## [Caching and error handling](https://community.apollographql.com/t/caching-and-error-handling/9493)

<div class="topic-metadata">

**Author:** [@persilja](https://community.apollographql.com/u/persilja)\
**Replies:** 0\
**Last updated:** [October 9, 2025, 9:25am UTC](https://community.apollographql.com/t/caching-and-error-handling/9493 "2025-10-09T09:25:59Z")

</div>

Hi! I was wondering how to make the cache NOT write when there is an error in the graph ql response. Error Handling - Apollo GraphQL Docs The reason to not write responses that contains errors are the it could overwrit…

---

## [Is @stream field directive supported in v2?](https://community.apollographql.com/t/is-stream-field-directive-supported-in-v2/9491)

<div class="topic-metadata">

**Author:** [@Pat](https://community.apollographql.com/u/Pat)\
**Replies:** 0\
**Last updated:** [October 8, 2025, 5:29pm UTC](https://community.apollographql.com/t/is-stream-field-directive-supported-in-v2/9491 "2025-10-08T17:29:33Z")

</div>

The docs and a previously filed issue appear to indicate that @defer is supported, but it’s not clear if @stream is as well? Is that something that can be properly documented, as well as what other directives are (or are…

---

## [Use cached pagination data if query has already been requested before?](https://community.apollographql.com/t/use-cached-pagination-data-if-query-has-already-been-requested-before/9470)

<div class="topic-metadata">

**Author:** [@SimplySnide](https://community.apollographql.com/u/SimplySnide)\
**Replies:** 2\
**Last updated:** [October 8, 2025, 3:42pm UTC](https://community.apollographql.com/t/use-cached-pagination-data-if-query-has-already-been-requested-before/9470 "2025-10-08T15:42:56Z")

</div>

I’m using using Apollos useQuery hook in react to make a paginated request to my graphql server. The component provides set filters that can be toggled by the user and simply will add the value to the variables property. …

---

## [What's the actual recommendation regarding graphql-codegen?](https://community.apollographql.com/t/whats-the-actual-recommendation-regarding-graphql-codegen/9481)

<div class="topic-metadata">

**Author:** [@tyteen4a03](https://community.apollographql.com/u/tyteen4a03)\
**Replies:** 1\
**Last updated:** [October 6, 2025, 8:10am UTC](https://community.apollographql.com/t/whats-the-actual-recommendation-regarding-graphql-codegen/9481 "2025-10-06T08:10:29Z")

</div>

I was trying to debug issues around codegen not showing, and noticed that Apollo actually has conflicting advice regarding the use of @graphql-codegen/client-preset. The official tutorial suggests using it, but the offi…

---

## [SSR has 100% miss on AST print cache](https://community.apollographql.com/t/ssr-has-100-miss-on-ast-print-cache/9475)

<div class="topic-metadata">

**Author:** [@joeyciechanowicz](https://community.apollographql.com/u/joeyciechanowicz)\
**Replies:** 0\
**Last updated:** [October 2, 2025, 10:34am UTC](https://community.apollographql.com/t/ssr-has-100-miss-on-ast-print-cache/9475 "2025-10-02T10:34:27Z")

</div>

When server-side rendering I’ve noticed that a lot of memory allocation and CPU time is spent printing the query AST. The printer does have a cache, but you get a 100% cache miss rate as the query gets transformed by th…

---

## [What's the proper way to write subscribeToMore.updateQuery in Typescript?](https://community.apollographql.com/t/whats-the-proper-way-to-write-subscribetomore-updatequery-in-typescript/9455)

<div class="topic-metadata">

**Author:** [@mzbyszynski](https://community.apollographql.com/u/mzbyszynski)\
**Replies:** 4\
**Last updated:** [September 29, 2025, 3:53pm UTC](https://community.apollographql.com/t/whats-the-proper-way-to-write-subscribetomore-updatequery-in-typescript/9455 "2025-09-29T15:53:11Z")

</div>

I’m running into some TypeScript challenges after upgrading to Apollo Client 4.x. I’m following this example provided in the docs for using subscribeToMore() from useQuery() The code example has this: const unsubscr…

---

## [Building Agentic UI](https://community.apollographql.com/t/building-agentic-ui/9463)

<div class="topic-metadata">

**Author:** [@kevin\_chu](https://community.apollographql.com/u/kevin_chu)\
**Replies:** 0\
**Last updated:** [September 26, 2025, 10:35pm UTC](https://community.apollographql.com/t/building-agentic-ui/9463 "2025-09-26T22:35:31Z")

</div>

Hey Apollo community! :waving\_hand: We, Apollo, has recently started experimenting with Agentic UI - think making agents capable of knowing the state and context of your UI and be able to interact directly with your UI …

---

## [Queries not being cached as expected](https://community.apollographql.com/t/queries-not-being-cached-as-expected/9434)

<div class="topic-metadata">

**Author:** [@rmjensen](https://community.apollographql.com/u/rmjensen)\
**Replies:** 4\
**Last updated:** [September 11, 2025, 5:36pm UTC](https://community.apollographql.com/t/queries-not-being-cached-as-expected/9434 "2025-09-11T17:36:03Z")

</div>

Hello, I feel like I’m misunderstanding something essential and it’s resulting it excessive network requests throughout our application whereas I’d expect these requests to be fulfilled by the cache more frequently. Pr…

---

## [Apollo Client 4.0 is Here!](https://community.apollographql.com/t/apollo-client-4-0-is-here/9429)

<div class="topic-metadata">

**Author:** [@jerelmiller](https://community.apollographql.com/u/jerelmiller)\
**Replies:** 0\
**Last updated:** [September 3, 2025, 5:26pm UTC](https://community.apollographql.com/t/apollo-client-4-0-is-here/9429 "2025-09-03T17:26:46Z")

</div>

:high\_voltage: Apollo Client 4.0 is Live Apollo Client 4.0 is here, a leaner, cleaner GraphQL client built for modern JavaScript and TypeScript. This release makes apps faster, bundles smaller, and the developer experie…

---

## [Apollo iOS bypassing URLSession's cache-control behaviour by checking its own store first in \`.returnCacheDataElseFetch\`](https://community.apollographql.com/t/apollo-ios-bypassing-urlsessions-cache-control-behaviour-by-checking-its-own-store-first-in-returncachedataelsefetch/9417)

<div class="topic-metadata">

**Author:** [@grse](https://community.apollographql.com/u/grse)\
**Replies:** 2\
**Last updated:** [September 2, 2025, 12:34am UTC](https://community.apollographql.com/t/apollo-ios-bypassing-urlsessions-cache-control-behaviour-by-checking-its-own-store-first-in-returncachedataelsefetch/9417 "2025-09-02T00:34:05Z")

</div>

Hi team, While digging into caching behavior in Apollo iOS, I noticed something I wanted to clarify. In CacheReadInterceptor, the .returnCacheDataElseFetch currently checks Apollo’s store first: case .returnCacheDataEl…

---

## [The hook useQuery is not supported in React Server Components, but only in Client Components](https://community.apollographql.com/t/the-hook-usequery-is-not-supported-in-react-server-components-but-only-in-client-components/9422)

<div class="topic-metadata">

**Author:** [@kmgdev](https://community.apollographql.com/u/kmgdev)\
**Replies:** 2\
**Last updated:** [September 1, 2025, 9:42pm UTC](https://community.apollographql.com/t/the-hook-usequery-is-not-supported-in-react-server-components-but-only-in-client-components/9422 "2025-09-01T21:42:27Z")

</div>

Been trying to get set up in a fresh Next.js install. I’m using the Next.js integration and followed the setup instructions on the Github page. When I try to call useQuery I get this Next.js error: The hook useQuery i…

---

## [How to evict all related queries from cache that reference ids of deleted entities](https://community.apollographql.com/t/how-to-evict-all-related-queries-from-cache-that-reference-ids-of-deleted-entities/9408)

<div class="topic-metadata">

**Author:** [@Temzasse](https://community.apollographql.com/u/Temzasse)\
**Replies:** 7\
**Last updated:** [August 29, 2025, 4:38pm UTC](https://community.apollographql.com/t/how-to-evict-all-related-queries-from-cache-that-reference-ids-of-deleted-entities/9408 "2025-08-29T16:38:56Z")

</div>

Hi :waving\_hand:t2: I’m trying to optimize the way we update the Apollo cache after deleting various entities. The Apollo Client docs have rather good examples about this topic but manually managing the cache can be qui…

[Next page](https://community.apollographql.com/tag/client/1.md?match_all_tags=true&page=1&tags%5B%5D=client)
