Docs
Code Rabbit
Cloudflare
AG Grid
Netlify
Neon
WorkOS
Clerk
Convex
Electric
Sentry
Prisma
Strapi
Unkey
UI.dev
Code Rabbit
Cloudflare
AG Grid
Netlify
Neon
WorkOS
Clerk
Convex
Electric
Sentry
Prisma
Strapi
Unkey
UI.dev
API Reference

environmentManager

The environmentManager manages how TanStack Query detects whether the current runtime should be treated as server-side.

By default, it uses the same server detection as the exported isServer utility from query-core.

Use this manager to override server detection globally for runtimes that are not traditional browser/server environments (for example, extension workers).

Its available methods are:

environmentManager.isServer

Returns whether the current runtime is treated as a server environment.

tsx
import { environmentManager } from '@tanstack/react-query'

const server = environmentManager.isServer()
import { environmentManager } from '@tanstack/react-query'

const server = environmentManager.isServer()

environmentManager.setIsServer

Overrides the server check globally.

tsx
import { environmentManager } from '@tanstack/react-query'

// Override
environmentManager.setIsServer(() => {
  return typeof window === 'undefined' && !('chrome' in globalThis)
})
import { environmentManager } from '@tanstack/react-query'

// Override
environmentManager.setIsServer(() => {
  return typeof window === 'undefined' && !('chrome' in globalThis)
})

Options

  • isServerValue: () => boolean

To restore the default behavior, set the function back to query-core's isServer utility:

tsx
import { environmentManager, isServer } from '@tanstack/react-query'

environmentManager.setIsServer(() => isServer)
import { environmentManager, isServer } from '@tanstack/react-query'

environmentManager.setIsServer(() => isServer)