Why does my authenticator code/TOTP keep failing?

Last updated: June 4, 2026

The most likely culprit is clock skew, a slight mismatch between your device's clock and the server's clock.

TOTP codes reset every 30 seconds (at :00 and :30), and failures are heavily concentrated within a few seconds of those boundaries. If your clock is even slightly off, a code that looks valid on your screen may already be expired (or not yet valid) on the server's end.

Two quick fixes to try:

  1. Wait for the middle of the window — instead of using a new code the moment it appears, wait until you're a few seconds in. Using a code right at the :00 or :30 mark is risky if there's any skew at all.

  2. Sync your clock — verify your device time against an atomic clock source like time.is. Even a few seconds of drift can cause edge-of-window failures.