# Feature catalog — TanStack/query

> Canonical page: https://codevetter.com/unpack/query/feature-catalog

# Feature catalog — TanStack/query

Scanned commit 29859ae60c8dca0a5cdbf8abccc775b655cf43e2 (2026-10-02). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The public product is a family of APIs for server-state management. Inspected features include reactive and imperative queries, mutations, pagination, background refresh, streaming, and server/client hydration. Persistence and cross-tab synchronization are optional integrations. Developer tools and lint rules support application debugging and API usage.
- React exports useQuery, useQueries, Suspense query variants, prefetch hooks, useInfiniteQuery, mutation hooks, activity indicators, providers, and option factories. — [packages/react-query/src/index.ts#L8-L26](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/react-query/src/index.ts#L8-L26) [packages/react-query/src/index.ts#L32-L56](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/react-query/src/index.ts#L32-L56)
- queryClient.query resolves stale data through fetch or returns fresh cached data, then applies optional select; infiniteQuery marks options as infinite and delegates to query. — [packages/query-core/src/queryClient.ts#L580-L604](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/query-core/src/queryClient.ts#L580-L604) [packages/query-core/src/queryClient.ts#L690-L697](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/query-core/src/queryClient.ts#L690-L697)
- Queries support dependent execution through enabled or skipToken, initial data, selected results, and previous-page placeholders through keepPreviousData. — [packages/react-query/src/useQuery.ts#L164-L224](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/react-query/src/useQuery.ts#L164-L224) [packages/react-query/src/useQuery.ts#L226-L283](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/react-query/src/useQuery.ts#L226-L283) [packages/query-core/src/queryClient.ts#L1051-L1053](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/query-core/src/queryClient.ts#L1051-L1053)
- Background refresh supports mount, focus, reconnect, and interval triggers; interval fetching respects enabled/server checks and focus unless refetchIntervalInBackground is enabled. — [packages/query-core/src/queryObserver.ts#L478-L483](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/query-core/src/queryObserver.ts#L478-L483) [packages/query-core/src/queryObserver.ts#L510-L536](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/query-core/src/queryObserver.ts#L510-L536) [packages/query-core/src/queryObserver.ts#L847-L873](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/query-core/src/queryObserver.ts#L847-L873)
- Infinite queries fetch forward or backward using page-parameter callbacks, maintain pages and pageParams together, stop when subsequent parameters are nullish, and bound retained pages through maxPages. — [packages/query-core/src/infiniteQueryBehavior.ts#L40-L107](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/query-core/src/infiniteQueryBehavior.ts#L40-L107)
- Mutations expose fire-and-forget mutate and promise-returning mutateAsync, optimistic lifecycle callbacks, and serialization for mutations sharing scope.id. — [packages/react-query/src/useMutation.ts#L224-L245](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/react-query/src/useMutation.ts#L224-L245) [packages/query-core/src/mutation.ts#L319-L383](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/query-core/src/mutation.ts#L319-L383) [packages/query-core/src/mutationCache.ts#L195-L224](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/query-core/src/mutationCache.ts#L195-L224)
- Optional state portability includes hydrate/dehydrate, storage-backed cache persistence, cross-tab broadcasts, and streamed AsyncIterable accumulation with reset, append, or replace refetch modes. — [packages/query-core/src/hydration.ts#L208-L245](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/query-core/src/hydration.ts#L208-L245) [packages/query-persist-client-core/src/persist.ts#L71-L88](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/query-persist-client-core/src/persist.ts#L71-L88) [packages/query-broadcast-client-experimental/src/index.ts#L49-L73](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/query-broadcast-client-experimental/src/index.ts#L49-L73) [packages/query-core/src/streamedQuery.ts#L9-L20](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/query-core/src/streamedQuery.ts#L9-L20)
- Devtools provides query/mutation views, filtering and sorting state, offline controls, and JSON cache editing; the ESLint plugin provides eight registered rules with recommended and stricter configurations. — [packages/query-devtools/src/Devtools.tsx#L674-L735](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/query-devtools/src/Devtools.tsx#L674-L735) [packages/query-devtools/src/Devtools.tsx#L2302-L2334](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/query-devtools/src/Devtools.tsx#L2302-L2334) [packages/eslint-plugin-query/src/rules.ts#L20-L29](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/eslint-plugin-query/src/rules.ts#L20-L29) [packages/eslint-plugin-query/src/index.ts#L17-L30](https://github.com/TanStack/query/blob/29859ae60c8dca0a5cdbf8abccc775b655cf43e2/packages/eslint-plugin-query/src/index.ts#L17-L30)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
