You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
React Query Devtools cannot serialize BigInt type #3082
Describe the bug
One of the models that I am caching with React Query is a BigInt type. Unfortunately, when I try and inspect the data in the devtools explorer, I get an uncaught error: TypeError: Do not know how to serialize a BigInt.
To Reproduce
Steps to reproduce the behavior:
Add an object using a BigInt type to the query cache
Open the Devtools
Select the query in the browser to inspect the data
See the error
Expected behavior
I should be able to view properly serialised data in the devtools browser.
Screenshots
Desktop (please complete the following information):
hmm, how should we serialize the BigInt ? You can certainly have non-serializable data in your cache, its just not very common. A couple of things won't work with non-serializable data:
hydration, which includes SSR and the persist plugins
structural sharing
for the persist plugins, we actually have an option to provide a different serializer:
Thanks Dominik. I think you raise a good point, this will also cause an issue with hydration. Is there an option to specify the serializer for hydration, because that's probably a bigger issue? I'd love to take a look at this if I get the time. I'm busy right now, but might get time in the new year if my manager lets me!
it's actually not a concern of hydration / dehydration, because that gives you an object, but it seems that passing this object to the return value of getStaticProps in nextJs expects it so be json serializable ?
Yeah I just dug into the hydration code and the serialisation will all be the purview of Next, so I can just serialise it myself for hydration. I'll take a look into the dev tools in the new year.
Thanks Henrique! I've actually just this week stopped storing the bigint and started using the select option to convert to bigint on the way out of the cache.
I got same issue but in @tanstack/react-query not in the devtool. do we have any way to bypass this since Im using generate tool and the generate code required BigInt
Activity
TkDodo commentedon Dec 10, 2021
hmm, how should we serialize the BigInt ? You can certainly have non-serializable data in your cache, its just not very common. A couple of things won't work with non-serializable data:
for the persist plugins, we actually have an option to provide a different serializer:
https://github.com/tannerlinsley/react-query/blob/b84681fdc7d37645cd149f40e98cb18fd8bc393c/src/createWebStoragePersister/index.ts#L28-L29
if you want, you can contribute something similar to the devtools, as long as it defaults to
JSON.stringifythemagickoala commentedon Dec 10, 2021
Thanks Dominik. I think you raise a good point, this will also cause an issue with hydration. Is there an option to specify the serializer for hydration, because that's probably a bigger issue? I'd love to take a look at this if I get the time. I'm busy right now, but might get time in the new year if my manager lets me!
TkDodo commentedon Dec 10, 2021
@Ephem I think we decided with this issue:
that its a limitation of hydration to only support json serializable values, right? We have since documented it here:
https://react-query.tanstack.com/reference/hydration#limitations
it's actually not a concern of hydration / dehydration, because that gives you an
object, but it seems that passing this object to the return value ofgetStaticPropsin nextJs expects it so be json serializable ?themagickoala commentedon Dec 10, 2021
Yeah I just dug into the hydration code and the serialisation will all be the purview of Next, so I can just serialise it myself for hydration. I'll take a look into the dev tools in the new year.
TkDodo commentedon Feb 14, 2022
@themagickoala any updates here, are you actively working on a serializer option for the devtools?
themagickoala commentedon Feb 14, 2022
Afraid not, circumstances have conspired against me and I don't see myself having capacity for this.
HenriqueDerosa commentedon Mar 23, 2022
Hey @themagickoala, @TkDodo , I'd like to have a look on this issue!
I didn't get why javascript doesn't stringify the BigInt. Checking it here.
tannerlinsley commentedon Mar 26, 2022
🎉 This issue has been resolved in version 3.34.18 🎉
The release is available on:
Your semantic-release bot 📦🚀
themagickoala commentedon Mar 26, 2022
Thanks Henrique! I've actually just this week stopped storing the bigint and started using the select option to convert to bigint on the way out of the cache.
tannerlinsley commentedon Apr 2, 2022
🎉 This issue has been resolved in version 4.0.0-alpha.24 🎉
The release is available on:
Your semantic-release bot 📦🚀
mc-petry commentedon Oct 31, 2022
Should we reopen this issue?
@tanstack/react-query" 4.13.5@tanstack/react-query-devtools: 4.13.5When i open devtools all is ok:

but when i tried to select detailed view with key that contains
biginti have an error:vctqs1 commentedon Aug 16, 2023
I got same issue but in
@tanstack/react-querynot in the devtool. do we have any way to bypass this since Im using generate tool and the generate code requiredBigIntTkDodo commentedon Aug 16, 2023
if it's in the QueryKey: pass a custom
queryKeyHashFnif it's in the
data, it shouldn't be a problem.vctqs1 commentedon Aug 16, 2023
ohh I see thank you
0x33dm commentedon Jun 6, 2024
I'm having the same problem but on
react-query-devtoolswhile using https://wagmi.sh/ library.In some screens when i opened the dev tools it will throw that error.
I had to add this to my
ReactQueryProviderfilemurderteeth commentedon Sep 3, 2024
so helpful, tu! i ended up adding it my react apps' entry, main.tsx. this way it applied everywhere which doesn't seem to hurt anything
whoislewys commentedon Oct 9, 2024
If you are using Wagmi, do NOT follow this response:
--
Instead, follow TKDodo's recommendation and the Wagmi docs example - use the same
hashFnused by Wagmi to serialize query keys. From their docs:0x33dm commentedon Oct 9, 2024
that's cool, thanks for letting me know.
fix: react-query bigint serialization problem
fix: react-query bigint serialization problem
Hugoo commentedon Sep 3, 2025
The dev tool part is probably what was missing from this issue in the wagmi repo:
Adding this for reference as the other issue is locked now.