diff --git a/packages/query-core/src/__tests__/queryClient.test-d.tsx b/packages/query-core/src/__tests__/queryClient.test-d.tsx
index 94cef6ff9b..e06d5829bd 100644
--- a/packages/query-core/src/__tests__/queryClient.test-d.tsx
+++ b/packages/query-core/src/__tests__/queryClient.test-d.tsx
@@ -225,18 +225,13 @@ describe('fully typed usage', () => {
       }
     const mutationOptions: MutationOptions<TData, TError> = {}
 
-    const queryFilters: QueryFilters<
-      TData,
-      TError,
-      TData,
-      DataTag<QueryKey, TData, TError>
-    > = {
+    const queryFilters: QueryFilters<DataTag<QueryKey, TData, TError>> = {
       predicate(query) {
         expectTypeOf(query).toEqualTypeOf<
-          Query<TData, TError, TData, DataTag<QueryKey, TData, TError>>
+          Query<unknown, Error, unknown, ReadonlyArray<unknown>>
         >()
-        expectTypeOf(query.state.data).toEqualTypeOf<TData | undefined>()
-        expectTypeOf(query.state.error).toEqualTypeOf<TError | null>()
+        expectTypeOf(query.state.data).toEqualTypeOf<unknown>()
+        expectTypeOf(query.state.error).toEqualTypeOf<Error | null>()
         return false
       },
     }
@@ -267,7 +262,7 @@ describe('fully typed usage', () => {
 
     const queriesData = queryClient.getQueriesData(queryFilters)
     expectTypeOf(queriesData).toEqualTypeOf<
-      Array<[QueryKey, TData | undefined]>
+      Array<[ReadonlyArray<unknown>, unknown]>
     >()
 
     const queryData3 = queryClient.setQueryData(queryKey, { foo: '' })
@@ -286,11 +281,9 @@ describe('fully typed usage', () => {
     >[1]
 
     expectTypeOf<SetQueriesDataUpdaterArg>().toEqualTypeOf<
-      Updater<TData | undefined, TData | undefined>
-    >()
-    expectTypeOf(queriesData2).toEqualTypeOf<
-      Array<[QueryKey, TData | undefined]>
+      Updater<unknown, unknown>
     >()
+    expectTypeOf(queriesData2).toEqualTypeOf<Array<[QueryKey, unknown]>>()
 
     const queryState = queryClient.getQueryState(queryKey)
     expectTypeOf(queryState).toEqualTypeOf<
@@ -530,10 +523,8 @@ describe('invalidateQueries', () => {
     queryClient.invalidateQueries({
       queryKey,
       predicate: (query) => {
-        expectTypeOf(query.state.data).toEqualTypeOf<number | undefined>()
-        expectTypeOf(query.queryKey).toEqualTypeOf<
-          DataTag<Array<string>, number>
-        >()
+        expectTypeOf(query.state.data).toEqualTypeOf<unknown>()
+        expectTypeOf(query.queryKey).toEqualTypeOf<QueryKey>()
         return true
       },
     })
@@ -547,10 +538,8 @@ describe('cancelQueries', () => {
     queryClient.cancelQueries({
       queryKey,
       predicate: (query) => {
-        expectTypeOf(query.state.data).toEqualTypeOf<number | undefined>()
-        expectTypeOf(query.queryKey).toEqualTypeOf<
-          DataTag<Array<string>, number>
-        >()
+        expectTypeOf(query.state.data).toEqualTypeOf<unknown>()
+        expectTypeOf(query.queryKey).toEqualTypeOf<QueryKey>()
         return true
       },
     })
@@ -564,10 +553,8 @@ describe('removeQueries', () => {
     queryClient.removeQueries({
       queryKey,
       predicate: (query) => {
-        expectTypeOf(query.state.data).toEqualTypeOf<number | undefined>()
-        expectTypeOf(query.queryKey).toEqualTypeOf<
-          DataTag<Array<string>, number>
-        >()
+        expectTypeOf(query.state.data).toEqualTypeOf<unknown>()
+        expectTypeOf(query.queryKey).toEqualTypeOf<QueryKey>()
         return true
       },
     })
@@ -581,10 +568,8 @@ describe('refetchQueries', () => {
     queryClient.refetchQueries({
       queryKey,
       predicate: (query) => {
-        expectTypeOf(query.state.data).toEqualTypeOf<number | undefined>()
-        expectTypeOf(query.queryKey).toEqualTypeOf<
-          DataTag<Array<string>, number>
-        >()
+        expectTypeOf(query.state.data).toEqualTypeOf<unknown>()
+        expectTypeOf(query.queryKey).toEqualTypeOf<QueryKey>()
         return true
       },
     })
@@ -598,10 +583,8 @@ describe('resetQueries', () => {
     queryClient.resetQueries({
       queryKey,
       predicate: (query) => {
-        expectTypeOf(query.state.data).toEqualTypeOf<number | undefined>()
-        expectTypeOf(query.queryKey).toEqualTypeOf<
-          DataTag<Array<string>, number>
-        >()
+        expectTypeOf(query.state.data).toEqualTypeOf<unknown>()
+        expectTypeOf(query.queryKey).toEqualTypeOf<QueryKey>()
         return true
       },
     })
diff --git a/packages/query-core/src/__tests__/utils.test-d.tsx b/packages/query-core/src/__tests__/utils.test-d.tsx
index 91be29f3d4..03a7aebad3 100644
--- a/packages/query-core/src/__tests__/utils.test-d.tsx
+++ b/packages/query-core/src/__tests__/utils.test-d.tsx
@@ -4,43 +4,13 @@ import type { QueryFilters } from '../utils'
 import type { DataTag, QueryKey } from '../types'
 
 describe('QueryFilters', () => {
-  it('should be typed if generics are passed', () => {
-    type TData = { a: number; b: string }
-
-    const filters: QueryFilters<
-      TData,
-      Error,
-      TData,
-      DataTag<QueryKey, TData>
-    > = {
-      predicate(query) {
-        expectTypeOf(query.setData({ a: 1, b: '1' })).toEqualTypeOf<TData>()
-        return true
-      },
-      queryKey: ['key'] as DataTag<undefined, TData>,
-    }
-
-    const queryClient = new QueryClient()
-
-    const data = queryClient.getQueryData(filters.queryKey!)
-    expectTypeOf(data).toEqualTypeOf<TData | undefined>()
-
-    const error = queryClient.getQueryState(filters.queryKey!)?.error
-    expectTypeOf(error).toEqualTypeOf<Error | null | undefined>()
-  })
-
-  it('should be typed if generics are passed including an error type', () => {
+  it('should be typed unknown even if tagged generics are passed', () => {
     type TData = { a: number; b: string }
     type TError = Error & { message: string }
 
-    const filters: QueryFilters<
-      TData,
-      TError,
-      TData,
-      DataTag<QueryKey, TData, TError>
-    > = {
+    const filters: QueryFilters<DataTag<QueryKey, TData, TError>> = {
       predicate(query) {
-        expectTypeOf(query.setData({ a: 1, b: '1' })).toEqualTypeOf<TData>()
+        expectTypeOf(query.setData({ a: 1, b: '1' })).toEqualTypeOf<unknown>()
         return true
       },
       queryKey: ['key'] as DataTag<undefined, TData, TError>,
diff --git a/packages/query-core/src/queryCache.ts b/packages/query-core/src/queryCache.ts
index b7772fe03d..dd7123eaac 100644
--- a/packages/query-core/src/queryCache.ts
+++ b/packages/query-core/src/queryCache.ts
@@ -190,7 +190,7 @@ export class QueryCache extends Subscribable<QueryCacheListener> {
     ) as Query<TQueryFnData, TError, TData> | undefined
   }
 
-  findAll(filters: QueryFilters<any, any, any, any> = {}): Array<Query> {
+  findAll(filters: QueryFilters<any> = {}): Array<Query> {
     const queries = this.getAll()
     return Object.keys(filters).length > 0
       ? queries.filter((query) => matchQuery(filters, query))
diff --git a/packages/query-core/src/queryClient.ts b/packages/query-core/src/queryClient.ts
index 821d1433ce..ad920601fc 100644
--- a/packages/query-core/src/queryClient.ts
+++ b/packages/query-core/src/queryClient.ts
@@ -106,9 +106,9 @@ export class QueryClient {
     this.#unsubscribeOnline = undefined
   }
 
-  isFetching<
-    TQueryFilters extends QueryFilters<any, any, any, any> = QueryFilters,
-  >(filters?: TQueryFilters): number {
+  isFetching<TQueryFilters extends QueryFilters<any> = QueryFilters>(
+    filters?: TQueryFilters,
+  ): number {
     return this.#queryCache.findAll({ ...filters, fetchStatus: 'fetching' })
       .length
   }
@@ -166,25 +166,10 @@ export class QueryClient {
 
   getQueriesData<
     TQueryFnData = unknown,
-    TQueryFilters extends QueryFilters<
-      any,
-      any,
-      any,
-      any
-    > = QueryFilters<TQueryFnData>,
-    TInferredQueryFnData = TQueryFilters extends QueryFilters<
-      infer TData,
-      any,
-      any,
-      any
-    >
-      ? TData
-      : TQueryFnData,
-  >(
-    filters: TQueryFilters,
-  ): Array<[QueryKey, TInferredQueryFnData | undefined]> {
+    TQueryFilters extends QueryFilters<any> = QueryFilters,
+  >(filters: TQueryFilters): Array<[QueryKey, TQueryFnData | undefined]> {
     return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {
-      const data = state.data as TInferredQueryFnData | undefined
+      const data = state.data as TQueryFnData | undefined
       return [queryKey, data]
     })
   }
@@ -226,34 +211,21 @@ export class QueryClient {
 
   setQueriesData<
     TQueryFnData,
-    TQueryFilters extends QueryFilters<
-      any,
-      any,
-      any,
-      any
-    > = QueryFilters<TQueryFnData>,
-    TInferredQueryFnData = TQueryFilters extends QueryFilters<
-      infer TData,
-      any,
-      any,
-      any
-    >
-      ? TData
-      : TQueryFnData,
+    TQueryFilters extends QueryFilters<any> = QueryFilters,
   >(
     filters: TQueryFilters,
     updater: Updater<
-      NoInfer<TInferredQueryFnData> | undefined,
-      NoInfer<TInferredQueryFnData> | undefined
+      NoInfer<TQueryFnData> | undefined,
+      NoInfer<TQueryFnData> | undefined
     >,
     options?: SetDataOptions,
-  ): Array<[QueryKey, TInferredQueryFnData | undefined]> {
+  ): Array<[QueryKey, TQueryFnData | undefined]> {
     return notifyManager.batch(() =>
       this.#queryCache
         .findAll(filters)
         .map(({ queryKey }) => [
           queryKey,
-          this.setQueryData<TInferredQueryFnData>(queryKey, updater, options),
+          this.setQueryData<TQueryFnData>(queryKey, updater, options),
         ]),
     )
   }
@@ -273,19 +245,8 @@ export class QueryClient {
     )?.state
   }
 
-  removeQueries<
-    TQueryFnData = unknown,
-    TError = DefaultError,
-    TTaggedQueryKey extends QueryKey = QueryKey,
-    TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,
-    TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,
-  >(
-    filters?: QueryFilters<
-      TInferredQueryFnData,
-      TInferredError,
-      TInferredQueryFnData,
-      TTaggedQueryKey
-    >,
+  removeQueries<TTaggedQueryKey extends QueryKey = QueryKey>(
+    filters?: QueryFilters<TTaggedQueryKey>,
   ): void {
     const queryCache = this.#queryCache
     notifyManager.batch(() => {
@@ -295,19 +256,8 @@ export class QueryClient {
     })
   }
 
-  resetQueries<
-    TQueryFnData = unknown,
-    TError = DefaultError,
-    TTaggedQueryKey extends QueryKey = QueryKey,
-    TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,
-    TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,
-  >(
-    filters?: QueryFilters<
-      TInferredQueryFnData,
-      TInferredError,
-      TInferredQueryFnData,
-      TTaggedQueryKey
-    >,
+  resetQueries<TTaggedQueryKey extends QueryKey = QueryKey>(
+    filters?: QueryFilters<TTaggedQueryKey>,
     options?: ResetOptions,
   ): Promise<void> {
     const queryCache = this.#queryCache
@@ -326,19 +276,8 @@ export class QueryClient {
     })
   }
 
-  cancelQueries<
-    TQueryFnData = unknown,
-    TError = DefaultError,
-    TTaggedQueryKey extends QueryKey = QueryKey,
-    TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,
-    TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,
-  >(
-    filters?: QueryFilters<
-      TInferredQueryFnData,
-      TInferredError,
-      TInferredQueryFnData,
-      TTaggedQueryKey
-    >,
+  cancelQueries<TTaggedQueryKey extends QueryKey = QueryKey>(
+    filters?: QueryFilters<TTaggedQueryKey>,
     cancelOptions: CancelOptions = {},
   ): Promise<void> {
     const defaultedCancelOptions = { revert: true, ...cancelOptions }
@@ -352,19 +291,8 @@ export class QueryClient {
     return Promise.all(promises).then(noop).catch(noop)
   }
 
-  invalidateQueries<
-    TQueryFnData = unknown,
-    TError = DefaultError,
-    TTaggedQueryKey extends QueryKey = QueryKey,
-    TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,
-    TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,
-  >(
-    filters?: InvalidateQueryFilters<
-      TInferredQueryFnData,
-      TInferredError,
-      TInferredQueryFnData,
-      TTaggedQueryKey
-    >,
+  invalidateQueries<TTaggedQueryKey extends QueryKey = QueryKey>(
+    filters?: InvalidateQueryFilters<TTaggedQueryKey>,
     options: InvalidateOptions = {},
   ): Promise<void> {
     return notifyManager.batch(() => {
@@ -385,19 +313,8 @@ export class QueryClient {
     })
   }
 
-  refetchQueries<
-    TQueryFnData = unknown,
-    TError = DefaultError,
-    TTaggedQueryKey extends QueryKey = QueryKey,
-    TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,
-    TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,
-  >(
-    filters?: RefetchQueryFilters<
-      TInferredQueryFnData,
-      TInferredError,
-      TInferredQueryFnData,
-      TTaggedQueryKey
-    >,
+  refetchQueries<TTaggedQueryKey extends QueryKey = QueryKey>(
+    filters?: RefetchQueryFilters<TTaggedQueryKey>,
     options: RefetchOptions = {},
   ): Promise<void> {
     const fetchOptions = {
diff --git a/packages/query-core/src/types.ts b/packages/query-core/src/types.ts
index c973b6a758..0aafb2f1af 100644
--- a/packages/query-core/src/types.ts
+++ b/packages/query-core/src/types.ts
@@ -576,21 +576,13 @@ export interface RefetchOptions extends ResultOptions {
   cancelRefetch?: boolean
 }
 
-export interface InvalidateQueryFilters<
-  TQueryFnData = unknown,
-  TError = DefaultError,
-  TData = TQueryFnData,
-  TQueryKey extends QueryKey = QueryKey,
-> extends QueryFilters<TQueryFnData, TError, TData, TQueryKey> {
+export interface InvalidateQueryFilters<TQueryKey extends QueryKey = QueryKey>
+  extends QueryFilters<TQueryKey> {
   refetchType?: QueryTypeFilter | 'none'
 }
 
-export interface RefetchQueryFilters<
-  TQueryFnData = unknown,
-  TError = DefaultError,
-  TData = TQueryFnData,
-  TQueryKey extends QueryKey = QueryKey,
-> extends QueryFilters<TQueryFnData, TError, TData, TQueryKey> {}
+export interface RefetchQueryFilters<TQueryKey extends QueryKey = QueryKey>
+  extends QueryFilters<TQueryKey> {}
 
 export interface InvalidateOptions extends RefetchOptions {}
 export interface ResetOptions extends RefetchOptions {}
diff --git a/packages/query-core/src/utils.ts b/packages/query-core/src/utils.ts
index eaf0cc4c89..eb4a6e51db 100644
--- a/packages/query-core/src/utils.ts
+++ b/packages/query-core/src/utils.ts
@@ -14,12 +14,7 @@ import type { FetchOptions, Query } from './query'
 
 // TYPES
 
-export interface QueryFilters<
-  TQueryFnData = unknown,
-  TError = DefaultError,
-  TData = TQueryFnData,
-  TQueryKey extends QueryKey = QueryKey,
-> {
+export interface QueryFilters<TQueryKey extends QueryKey = QueryKey> {
   /**
    * Filter to active queries, inactive queries or all queries
    */
@@ -31,7 +26,7 @@ export interface QueryFilters<
   /**
    * Include queries matching this predicate function
    */
-  predicate?: (query: Query<TQueryFnData, TError, TData, TQueryKey>) => boolean
+  predicate?: (query: Query) => boolean
   /**
    * Include queries matching this query key
    */
diff --git a/packages/vue-query/src/queryClient.ts b/packages/vue-query/src/queryClient.ts
index b8d149261a..ca0fe3953d 100644
--- a/packages/vue-query/src/queryClient.ts
+++ b/packages/vue-query/src/queryClient.ts
@@ -156,14 +156,7 @@ export class QueryClient extends QC {
     TTaggedQueryKey extends QueryKey = QueryKey,
     TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,
     TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,
-  >(
-    filters?: QueryFilters<
-      TInferredQueryFnData,
-      TInferredError,
-      TInferredQueryFnData,
-      TTaggedQueryKey
-    >,
-  ): void
+  >(filters?: QueryFilters<TTaggedQueryKey>): void
   removeQueries(filters: MaybeRefDeep<QueryFilters> = {}): void {
     return super.removeQueries(cloneDeepUnref(filters))
   }
@@ -175,12 +168,7 @@ export class QueryClient extends QC {
     TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,
     TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,
   >(
-    filters?: QueryFilters<
-      TInferredQueryFnData,
-      TInferredError,
-      TInferredQueryFnData,
-      TTaggedQueryKey
-    >,
+    filters?: QueryFilters<TTaggedQueryKey>,
     options?: MaybeRefDeep<ResetOptions>,
   ): Promise<void>
   resetQueries(
@@ -197,12 +185,7 @@ export class QueryClient extends QC {
     TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,
     TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,
   >(
-    filters?: QueryFilters<
-      TInferredQueryFnData,
-      TInferredError,
-      TInferredQueryFnData,
-      TTaggedQueryKey
-    >,
+    filters?: QueryFilters<TTaggedQueryKey>,
     options?: MaybeRefDeep<CancelOptions>,
   ): Promise<void>
   cancelQueries(
@@ -219,29 +202,11 @@ export class QueryClient extends QC {
     TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,
     TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,
   >(
-    filters?: InvalidateQueryFilters<
-      TInferredQueryFnData,
-      TInferredError,
-      TInferredQueryFnData,
-      TTaggedQueryKey
-    >,
+    filters?: InvalidateQueryFilters<TTaggedQueryKey>,
     options?: MaybeRefDeep<InvalidateOptions>,
   ): Promise<void>
-  invalidateQueries<
-    TQueryFnData = unknown,
-    TError = DefaultError,
-    TTaggedQueryKey extends QueryKey = QueryKey,
-    TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,
-    TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,
-  >(
-    filters: MaybeRefDeep<
-      InvalidateQueryFilters<
-        TInferredQueryFnData,
-        TInferredError,
-        TInferredQueryFnData,
-        TTaggedQueryKey
-      >
-    > = {},
+  invalidateQueries<TTaggedQueryKey extends QueryKey = QueryKey>(
+    filters: MaybeRefDeep<InvalidateQueryFilters<TTaggedQueryKey>> = {},
     options: MaybeRefDeep<InvalidateOptions> = {},
   ): Promise<void> {
     const filtersCloned = cloneDeepUnref(filters)
@@ -256,12 +221,7 @@ export class QueryClient extends QC {
       return Promise.resolve()
     }
 
-    const refetchFilters: RefetchQueryFilters<
-      TInferredQueryFnData,
-      TInferredError,
-      TInferredQueryFnData,
-      TTaggedQueryKey
-    > = {
+    const refetchFilters: RefetchQueryFilters<TTaggedQueryKey> = {
       ...filtersCloned,
       type: filtersCloned.refetchType ?? filtersCloned.type ?? 'active',
     }
@@ -280,12 +240,7 @@ export class QueryClient extends QC {
     TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,
     TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,
   >(
-    filters?: RefetchQueryFilters<
-      TInferredQueryFnData,
-      TInferredError,
-      TInferredQueryFnData,
-      TTaggedQueryKey
-    >,
+    filters?: RefetchQueryFilters<TTaggedQueryKey>,
     options?: MaybeRefDeep<RefetchOptions>,
   ): Promise<void>
   refetchQueries(