Documentation
Framework
Version

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)