The six-digit code is in an app on a phone you no longer have. The app's own instructions say to restore it by signing in to your account. That account asks for a six-digit code from the app you no longer have. Or the shorter version, which is the one most people arrive at: you cannot get a 2FA code because the email is inaccessible, and the email is inaccessible because you cannot get a 2FA code.

Nothing in that sequence is a bug, and no screen anywhere says this is circular. Each arrow was set up on a different day, by you, for good reasons. The ring only exists when you draw them together, and almost nobody draws them together until the day it closes.

This page is about recovery-channel dependency: which account's recovery runs through which address, how to see the rings before they trap you, and the order of operations that breaks one you are already inside. If the problem is simply that the phone is gone, start with lost your phone? how to get your authenticator codes back. If the question is where a sheet of one-time codes should live, that is where to store your 2FA backup codes. Come back here for the arrows between accounts.

The short answer

  1. Stop making attempts. Repeated failures get you throttled, and at two of the big providers a fresh attempt actively sets back the recovery that is already running.
  2. Count what is still open before you touch anything. A session that is still signed in somewhere is the most valuable thing you own today, and it is worth more than any password you can remember.
  3. Spend that session on something permanent — backup codes, a second factor on hardware you hold, a recovery address at a different provider.
  4. Attack the weakest node in the ring, not the account you actually want. The ring breaks anywhere.
  5. Only then file the provider's recovery form, once, from a device and a place you normally sign in from. Then wait, and do not keep trying.

Why the ring forms, and why email sits in the middle

Every account you own has two separate edges pointing out of it, and people set them up years apart.

The second factor is something you hold: a TOTP entry in an authenticator, a code by text message, a security key, a passkey on a device. The recovery channel is where the service turns when the ordinary way in fails — nearly always an email address, sometimes a phone number.

Those edges almost all terminate in the same place. The UK's National Cyber Security Centre puts the consequence plainly in its advice on why an email password deserves special treatment: a criminal with your email account can "reset all your other account passwords (and get access to all your other online accounts)" (NCSC). That hub shape is what makes email worth protecting, and it is also what turns one inaccessible mailbox into twenty inaccessible accounts.

A ring forms when an edge points back into something that is already downstream of what you lost. Three shapes cover almost every case.

The self-loop. The mailbox is protected by a code in an authenticator app, and that app's restore path signs you in to the very account whose codes it holds. This is the shape people hit with cloud-backed authenticators, because the backup is stored in the account the app is protecting. Restoring the app needs the account, and the account needs the app. What a reinstall actually brings back, app by app, is in the reinstall guide.

The mutual loop. Two mailboxes nominated as each other's recovery address. On paper that looks like redundancy. In practice both are usually protected by factors on the same phone, so one device failing takes out both halves of the pair at once.

The alias loop. The "second" address turns out to be an alias of the first, or a forward into the same mailbox. There was never a second destination, only a second name for the first one.

Map the chain: three columns, twenty minutes

Three account cards pointing at one envelope, with an arrow looping back through a phone
Write the arrows down and the ring is obvious. Until you do, every single step looks reasonable on its own.

Do this while you are signed in to everything, which is exactly when it feels unnecessary. One row per account, three columns and a verdict:

  1. What the second factor is, and where it physically lives. Not "authenticator app" — which app, on which device. Two entries in the same app on the same phone are one factor wearing two hats.
  2. Where a password reset actually lands. This is the column people get wrong, because they write down what they believe rather than what the service does. Open the forgot-password screen and read the masked hint it shows you, the j•••@g•••.com line. That hint is the ground truth. Do not submit anything; just read it and close the tab.
  3. That destination's own second factor. Which is where the rings show up, because the answer is so often the same app on the same phone as the row above.

Worked through four accounts, it looks like this:

AccountSecond factorReset lands onVerdict
Personal mailboxTOTP in the phone appWork mailboxFine on its own
Work mailboxTOTP in the same phone appPersonal mailboxCloses a ring with row 1
RegistrarTOTP in the same phone appPersonal mailboxNeeds a mailbox it cannot reach
BankText message to the phonePersonal mailboxSame device as every row above

Four rows, and the whole set collapses to one phone. The mutual pair in the first two rows is the clearest ring, but the honest reading is worse than that: every route out of this table starts by holding a device that is already assumed lost.

Read the rings off the table with one rule. Follow the "reset lands on" column from any row, then look up that destination's own factor. If you come back to a device or an app you have already written down, that is a ring. A chain that ends at something you hold independently — a sheet of codes in a drawer, a key on a keyring, a recovery contact who is a different person — is not a ring, and it is the only kind of chain worth having.

Which accounts deserve a row: every mailbox first, then the password manager, then the domain registrar and any cloud console, then money, then whatever else would ruin a month. Ten rows is plenty, and ten rows is twenty minutes.

Breaking a ring you are already inside

A hand pulling a punched strip out of a signed-in browser window beside a chain
A session that is still signed in is a credential with an expiry date you do not control.

Order matters more than effort here, and the first step is the one that feels most wrong.

1. Stop making attempts. Guessing again costs you more than it gains. Apple states that account recovery "might take several days or longer", that "contacting Apple Support can't help shorten the wait", and that signing in to a device during the wait cancels the request outright (Apple). Microsoft puts an account into a restricted state for 30 days when all security info is removed, and says plainly: "We can't expedite the 30-day process unless you cancel the request" (Microsoft). A frantic hour of retries can turn a two-day problem into a month-long one.

2. Count your live sessions before you change anything. Do not sign out. Do not clear cookies. Do not uninstall and reinstall the app to "reset" it. Go looking instead: the mail app on a tablet, a browser profile you never use, a work laptop, a desktop client with a stored token, the old phone in a drawer that still has a session on it. The Microsoft thread that ranks for this exact problem is a good example of how easy this is to overlook — the person writing it was still signed in and able to read and send mail in one browser, while being unable to reach the security settings that would have fixed anything (Microsoft Q&A).

3. Convert that session into something that outlives it. A live session is a credential with an expiry date you do not control, so spend it immediately, in this order:

  • Generate backup codes and write them down somewhere off the device. Google issues ten, each usable once: "after you use a backup code to sign in, that code becomes inactive" (Google).
  • Add a second factor on hardware you still hold — a second authenticator install, a security key, a passkey on a laptop you keep.
  • Add a recovery address at a different provider, and check afterwards that the forgot-password screen now shows the new destination.
  • Add a recovery contact where the platform supports one, which is a human being rather than another account you own.

4. Attack the weakest node, not the one you want. The instinct is to fight for the mailbox, because the mailbox is what everything else needs. That is usually the hardest node in the ring and often the only one with no human recourse at all. Go round the ring and find the account with saved backup codes, or a factor still physically in your hands, or a reset destination you can still read. Break the ring there, then walk it: that node can now receive the next reset, which unlocks the next one.

5. Separate the accounts that need the mailbox from the ones that do not. This is where most of the lockout disappears, because a lot of services never touch your email in the 2FA path. GitHub documents recovery codes, a passkey, a security key and a fallback SMS number as routes that stand on their own; the last-resort route, where you prove control of a registered SSH key or personal access token, does send a one-time password to your email first and takes up to three business days. GitHub is also blunt about the floor: support "will not be able to restore access to accounts with two-factor authentication enabled if you lose your two-factor authentication credentials" (GitHub Docs). Do the email-free accounts first; they are free wins and they often hold a code or a contact that helps with the rest.

6. File the recovery form once, properly. Google's own guidance for the recovery questions is about looking like yourself: use "a computer, phone, or tablet where you frequently sign in", be "in a location where you usually sign in, like at home or at work", and "try not to skip questions. If you're unsure of an answer, take your best guess rather than moving on to another question" (Google). One careful attempt from a familiar device beats six hurried ones from a hotel.

7. Know which rings do not break. Apple's recovery key turns off the standard recovery process by design: "if you set up a recovery key and can't provide it when you lose access to your account, you'll be locked out of your account permanently" (Apple). Twilio cannot reset an Authy backup password, which is covered in Authy code not working. Proton does not hold your password at all: "for security reasons, we don't keep user passwords on our systems. This means we can't reset your password for you if it's lost" (Proton). When you are against one of these, the time is better spent moving the accounts downstream of it to a mailbox you do control.

Who can break the loop for you, and who cannot

ProviderRoute that avoids your mailboxThe limit
Google AccountBackup codes, security key, a prompt on a signed-in deviceRecovery review is automated and prefers a familiar device and location
Microsoft consumer accountThe 25-digit recovery code, other security info already on fileRemoving all security info starts a 30-day restricted state nobody can shorten
Microsoft work or schoolYes: an administrator in your organisationOnly within that tenant, and only while you have an administrator
Apple AccountTrusted device, recovery contact, recovery keyRecovery takes days; a lost recovery key is permanent
GitHubRecovery codes, passkey, security key, fallback SMSSupport will not restore 2FA access; the fallback route still emails you
ProtonRecovery phrase or recovery fileNo password on their systems, so no reset without one of those

The pattern underneath that table is worth naming, because it explains every unsatisfying support reply you are going to get. The only party who reliably breaks a recovery loop is an administrator standing above your account. In a company that person exists: Microsoft documents that an Authentication Administrator can "require re-register MFA", which "deactivates the user's hardware OATH tokens and deletes the following authentication methods from this user: phone numbers, Microsoft Authenticator apps and software OATH tokens" (Microsoft Entra docs). If your lockout is on a work account, that is your first call and probably your only call.

For a personal account nobody holds that power, and the absence is deliberate rather than neglectful. A support agent who can switch off your second factor on request is a single phone call away from switching off somebody else's — which is one of the routes in can 2FA be bypassed. The price of nobody being able to talk their way past your second factor is that you cannot either.

Build a chain that has no rings

Five rules, and they are cheap to apply on a normal Tuesday.

  1. Pick one root and make it independent. Decide which mailbox everything else recovers through, then make sure its own way back in depends on nothing downstream of it: a printed set of backup codes, plus a second factor on separate hardware.
  2. Put the recovery address at a different provider, with a different factor. A second address at the same provider, protected by the same app on the same phone, is decoration.
  3. Never point two mailboxes at each other. The mutual loop is the most common self-inflicted ring, and it survives every test except the real one.
  4. Give every critical account one route that does not pass through email. A security key, a passkey, a recovery contact, or a current sheet of backup codes. Passkeys and authenticator apps and authenticator app vs security key cover what each one costs you.
  5. Keep a second factor on a second device, deliberately. Not as convenience — as a spare key. Using an authenticator app on two devices covers the routes and the one setting that quietly kills them.

Then test it the only way that works: pick an account, assume the phone is gone this minute, and say the route out loud. If it begins with "I get the email", keep going and say how you get into the mailbox. The yearly audit in where to store your 2FA backup codes is the natural place to redo the table, because a chain that was acyclic last year stops being acyclic the moment you change an address.

Where KeyNesta fits, and what it cannot do

KeyNesta holds TOTP and HOTP secrets and generates codes on your device. No account is needed to generate them, nothing is uploaded unless you turn sync on, and there is no phone number anywhere in it — the full list of what the server does and does not hold is what our server stores.

What it cannot do is the thing this page is about. KeyNesta cannot restore a mailbox for you. No authenticator can; only the mail provider can, by the routes in the table above. An authenticator holds the second factor, not the recovery channel, and a lockout of this shape is a recovery-channel problem.

Two further limits are worth stating before you plan around the product rather than around the problem. KeyNesta has no passkeys and no security keys: it generates TOTP and HOTP codes and nothing else, and passkeys are named on the features page among the things deliberately not built. So where a provider's email-free route is a passkey or a hardware key, KeyNesta is not that route, and registering one of those directly with the mailbox is the move.

And the sync account, if you use it, is an email address like everything else. A password reset there is a single-use emailed token, so if that address is one you have lost, the reset has nowhere to land. Three things soften it, and it is worth knowing which: the vault lives on your devices, so codes keep generating on every device already set up; the account password is not the vault passphrase, so resetting one has never opened the other; and while any device is still signed in, you can change the account's email address to one you control, from Settings, with your current account password. If the address on your sync account is one you no longer read, that last one is a two-minute job today and an impossible one later.

What KeyNesta cannot do for you either way is recover your vault. Sync is zero-knowledge, the server holds ciphertext and no key that opens it, and a forgotten passphrase is a dead end in the same way an unknown Authy backup password is — what zero-knowledge costs you is the honest version of that trade.

Frequently asked questions

My recovery email also has 2FA in the same app. Which account do I attack first?

Neither of the two in the ring, if you can help it. Look for a third account that can issue a reset into one of them and that you can still reach — one with saved backup codes, a factor still in your hands, or a session still signed in. Break the ring at that node, then use it to work back round. Attacking the strongest node first is how people burn their attempts.

Is it safe to keep retrying while I work out the 2FA recovery loop?

No, and this is the single most expensive mistake in a lockout. Repeated failures trigger automated throttling, a new Apple recovery request cancels the one already running, and a Microsoft security-info change cannot be sped up once it has started. Work out the route first on paper, then make one attempt.

How do I check where a password reset link will actually be sent?

Open the forgot-password screen for that account and read the masked destination it offers, then close the tab without submitting. That masked hint is what the service will really use, which is frequently not the address you assumed. Write it down in your map, and if it is wrong, fix it from inside the account while you still can.

Does signing out or reinstalling the app help break a lockout loop?

It makes things worse. The enforcement is on the server, not in the app, so a reinstall removes your working copy of the secrets without changing anything the service believes. The one thing you hold that the service cannot take away is a session that is already signed in, and signing out spends it for nothing.

What if the loop involves an email address that no longer exists at all?

Then stop trying to recover it and start re-pointing everything downstream. For each account that resets through the dead address, sign in with whatever still works and change the recovery address to a live one. Accounts you cannot sign in to are the ones to take to the provider's recovery form, oldest and most important first, one careful attempt each.

Takeaway

A lockout like this is not a password problem, and it is rarely fixed by trying harder at the login screen. It is a graph problem: the arrows between your accounts formed a circle, and the circle is only visible when somebody writes it down. So write it down. One row per account, what the second factor is and where it physically lives, where a reset actually lands, and what that destination's own factor is. Follow the column until it repeats, and fix the repeats by moving one of them somewhere independent — a printed sheet, a key on a keyring, a person. If you are already inside a ring, stop guessing, inventory every session still open, spend those sessions on credentials that outlive them, and break the ring at its weakest node rather than its most important one. The accounts that let you back in tonight will be the ones you prepared on a day when nothing was wrong.

Sources