vercel/next.js · error · Error
`unstable_isUnrecognizedActionError` can only be used on…
Error message
`unstable_isUnrecognizedActionError` can only be used on the client.
What it means
Server-module stub: this file is the react-server export surface of navigation, and unstable_isUnrecognizedActionError is a client-only hook. Importing and calling it from a server component resolves to this always-throwing placeholder instead of the real client implementation.
Solutions
- Call unstable_isUnrecognizedActionError only in Client Components; guard with typeof window or move the check to the client.
Defensive patterns
Strategy: validation
When it happens
Trigger: unstable_isUnrecognizedActionError is imported or called in a server context.
Common situations: A React Server Component or server module references this client-only helper.
AI-assisted analysis of vercel/next.js@0eb3775416 (2026-08-19).
Data as JSON: /api/errors/e16a4d456f662945.
Report an issue: GitHub.
Appendix: source
Thrown at packages/next/src/client/components/navigation.react-server.ts:4
import { ReadonlyURLSearchParams } from './readonly-url-search-params'
export function unstable_isUnrecognizedActionError(): boolean {
throw new Error(
'`unstable_isUnrecognizedActionError` can only be used on the client.'
)
}
export { redirect, permanentRedirect } from './redirect'
export { notFound } from './not-found'
export { forbidden } from './forbidden'
export { unauthorized } from './unauthorized'
export { unstable_rethrow } from './unstable-rethrow'
export { ReadonlyURLSearchParams }
export const RedirectType = {
push: 'push',
replace: 'replace',
} as const
View on GitHub (pinned to 0eb3775416)