Turnstile ‘timeout-or-duplicate’ for a valid token

We have integrated Turnstile widget into our React Native app using web-view: https://github.com/react-native-webview/react-native-webview. Everything was working fine until May 9. We started to notice ‘timeout-or-duplicate’ errors in our logs. Most of the token verifications are passing, but there is a number of failed verifications.

The thing is that we refresh the token prior making any requests, which means we always pass a brand new token to the verification endpoint. Only after Turnstile widget obtains a new token we make our request. We don’t store that token anywhere, so it could not accidentally be passed to the verification endpoint.

I know Turnstile is still in beta, but it was working fine before. Is there any way how we can fix this error? Or maybe there is so called “debug mode” which may help us to debug and troubleshoot that?


just fyi, we didn’t release any changes regarding Turnstile on May 9.

we render the widget explicitly and use invisible mode.

Hello Team,

As an enterprise-level Cloudflare customer, we’ve recently encountered a situation that aligns with our internal testing. We’re diligently implementing the new Turnstile Token, ensuring precise adherence to the guidelines and registering almost all JS SDK callbacks. However, we’ve noticed that the token sporadically triggers a timeout-or-duplicate error, despite our certainty that the token is neither a duplicate nor outdated.

Interestingly, our backend engineer discovered a potential workaround: when the same token is retried, it seems to proceed successfully. This suggests that replication latency or a potential cache misconfiguration could be the culprit. Currently, we’re navigating this issue by applying a “retry-once” approach, but we’d greatly appreciate it if this issue could be resolved at its root.

Thank you.