This tool works with both Expo and React Native CLI projects. Just install and go.
React Query bugs are almost never in the request. The network tab shows a clean 200 and the screen still shows yesterday's data, because the problem is in the cache: which key it landed under, whether the query is stale, whether anything is still observing it.
TanStack's own devtools answer exactly that — and they are web-only, so on React Native you are back to logging queryClient.getQueryData and rebuilding to read it. Buoy puts the same query browser on the device: every query with its key, state and cached data, editable in place, plus one-tap loading and error simulation.
The demo below is the real on-device tool on a mock QueryClient: the cache lights up, a checkout query fails, you inspect cart JSON, force a loading spinner without the network, restore it, then free-play.
Not a video — this is the shipped tool running on a mock QueryClient. Fresh, stale, fetching, inactive, error — every badge the list can show.
npm install @buoy-gg/react-queryThat's it. The React Query DevTools auto-detects your QueryClient and appears in your FloatingDevTools menu.
Data is valid and up-to-date
Data needs to be refetched
Currently loading data
Fetch paused (offline)
No active observers
Query failed
Manually trigger a fetch
Mark query as stale
Reset to initial state
Delete from cache
Simulate loading state
Simulate error state
Simulate loading & error states — Test how your UI handles loading spinners and error boundaries without waiting for real network conditions.
Track all your mutations in real-time:
Simulate offline mode with one tap. The WiFi toggle controls React Query's onlineManager to pause all queries — perfect for testing offline-first features.
The simulated states are cache-level, not network-level. Triggering a loading state replaces the query function with one that never resolves; it does not slow or block a real request. That is what makes it instant and repeatable — but if you want to see the actual request fail, use a Network override instead.
Mutations are observed, not replayed. You can read a mutation's variables, status and response, but there is no re-fire button — replaying a mutation would repeat its side effects on your real backend.
The official TanStack devtools are web-only. Install @buoy-gg/react-query and the same capabilities — query browser, cache inspector, state simulation — run inside your app on the device.
Yes. It's pure JavaScript — no native modules — so it works in Expo Go, dev builds, and production.