diff --git a/packages/react-query/src/__tests__/useSuspenseQueries.test.tsx b/packages/react-query/src/__tests__/useSuspenseQueries.test.tsx
index ba15741ade..c97f01f12e 100644
--- a/packages/react-query/src/__tests__/useSuspenseQueries.test.tsx
+++ b/packages/react-query/src/__tests__/useSuspenseQueries.test.tsx
@@ -10,7 +10,7 @@ import {
import { act, fireEvent, render, waitFor } from '@testing-library/react'
import * as React from 'react'
import { ErrorBoundary } from 'react-error-boundary'
-import { useSuspenseQueries, useSuspenseQuery } from '..'
+import { skipToken, useSuspenseQueries, useSuspenseQuery } from '..'
import { createQueryClient, queryKey, renderWithClient, sleep } from './utils'
import type { UseSuspenseQueryOptions } from '..'
@@ -658,4 +658,40 @@ describe('useSuspenseQueries 2', () => {
expect(queryClient.getQueryData(key)).toBe(undefined)
})
})
+
+ it('should log an error when skipToken is passed as queryFn', () => {
+ const consoleErrorSpy = vi
+ .spyOn(console, 'error')
+ .mockImplementation(() => {})
+ const key = queryKey()
+
+ function Page() {
+ useSuspenseQueries({
+ queries: [
+ {
+ queryKey: key,
+ // @ts-expect-error
+ queryFn: Math.random() >= 0 ? skipToken : () => Promise.resolve(5),
+ },
+ ],
+ })
+
+ return null
+ }
+
+ function App() {
+ return (
+
+
+
+ )
+ }
+
+ renderWithClient(queryClient, )
+
+ expect(consoleErrorSpy).toHaveBeenCalledWith(
+ 'skipToken is not allowed for useSuspenseQueries',
+ )
+ consoleErrorSpy.mockRestore()
+ })
})