Error Tracking troubleshooting
Contents
This page covers troubleshooting for Error Tracking. For setup, see the installation guides.
Have a question? Ask PostHog AI
Exceptions not appearing
If PostHog isn't capturing errors:
Use the SDK Doctor to verify your SDKs are updated to the latest version
Verify exception capture is enabled in project settings
Only unhandled exceptions auto-capture. For caught errors, use
posthog.captureException():JavaScriptWait a few minutes and check Error Tracking in the PostHog app. Issues may take a few minutes to update after ingesting new error events
Source maps not resolving
If stack traces show minified code instead of original source:
Verify source maps are uploaded to the correct project by navigating to Error Tracking and selecting Configure > Symbol sets. You'll also see warnings for missing symbol sets
The
releasetag in your SDK config must match the version you uploaded:JavaScriptSource map paths must match your production bundle URLs exactly
Upload source maps before deploying code that references them
See the source maps guide for upload instructions.
'Script error' with no stack trace
For security purposes, browsers hide error details from scripts loaded from different domains. This shows as Script error with no stack trace.
To fix, add crossorigin="anonymous" to your script tags:
If the script is within your control, also set the Access-Control-Allow-Origin response header to your origin:
Or allow any origin:
You can also use session recordings to see what user actions triggered the error.
'Non-Error promise rejection' with no stack trace
This happens when you reject a promise with a string instead of an Error object. Without an Error object, there's no stack trace to capture.
For third-party libraries that reject with strings, wrap the rejection:
'Minified React error' with no stack trace
In production builds, React removes debugging information to reduce bundle size. Errors look like:
To debug:
- Upload source maps to get readable stack traces. See the source maps guide
- Visit the error URL in the message to understand what went wrong
- Watch session recordings to see what user actions triggered the error, then reproduce in development
- Use a development build which includes full error messages. Only use this for debugging, not production