A non-serializable value was detected in the state / in an action, in the path
Redux Toolkit’s middleware found a Date, Promise, class instance or function in state or an action.
A non-serializable value was detectednon-serializable value was detected in an action Meaning
Redux state should be plain serializable data so devtools, persistence and time-travel work. Common: Date objects, Error objects, Maps, File objects, or redux-persist actions.
Common causes
- Storing Date/Map/Set/class instances in state
- Passing events or Files in action payloads
- redux-persist actions (needs ignoredActions)
⚡ Quick fix
- Store ISO strings/timestamps instead of Date
- Keep non-serializable data outside Redux
- Configure serializableCheck.ignoredActions for redux-persist
Detailed fix by platform
React
getDefaultMiddleware({ serializableCheck: { ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER] } })
How to diagnose
- Path — Which path is named?
- Value — What type is it?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
Most viewed in React
- Objects are not valid as a React child Error: Objects are not valid as a React child
- Functions cannot be passed Error: Functions cannot be passed directly to Client Components unless you explicitly expose it by marking it with "use server".
- No QueryClient set Error: No QueryClient set, use QueryClientProvider to set one
Other ways to find it
Where this error sits
Origin: On your device. Errors that are often confused with or caused by this one (click to open):
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 13 Oct 2026