GitHub's new-device sign-in guidance explains that signing in from a new device may require an email verification code. If the message is missing, first confirm the GitHub account and its associated email address, then check whether that mailbox can receive GitHub messages. After that, inspect spam, blocked senders, and filters.

At the sign-in prompt: identify the account and mailbox before requesting another route. This week: check that important GitHub accounts use an address you can keep accessing.

This guide is for GitHub users who are asked to verify a new device but cannot find the code, especially people who manage several email addresses or recently changed an account address. It also explains why a temporary inbox is not a safe substitute for a long-term contact address on an important account.

Separate the four messages that are easy to confuse

A missing message is harder to troubleshoot if several different GitHub email events are treated as the same thing. New-device sign-in verification, confirming an email address, resetting a password, and hiding an email in commit history are separate tasks. A code or link for one task does not necessarily solve another.

Message or address What it is for Where to investigate
New-device verification code Confirming a sign-in that GitHub has flagged for verification The account and mailbox used for the sign-in; follow GitHub's new-device instructions
Email verification message Confirming an email address associated with the account The relevant mailbox and GitHub's email verification steps
Password-reset message Starting the password recovery flow Use the official recovery option and check the address or account details it asks you to verify
noreply commit address Keeping a personal email address out of commit attribution Review GitHub's email address reference; this is not a sign-in inbox

A common mistake is to search only the mailbox currently open in a browser. That is not enough if GitHub is signing into a different account, or if that account is associated with another address. Confirm the username or other account identifier shown in the sign-in flow before diagnosing mail delivery.

A noreply address is for commit privacy. It is not a replacement mailbox for receiving an account sign-in code.

Check the account address before changing mail settings

If the prompt requests a code, establish which account is being accessed first. People with personal and work accounts, or with several browser profiles, can easily check the wrong inbox. A recently changed email address can add another point of confusion: the address used for a particular GitHub action may not be the one the reader expects.

Open the account settings if the account is still accessible in another signed-in session. Review the email addresses associated with that account and identify the mailbox that should receive account messages. GitHub's email address reference distinguishes account email addresses from addresses used for commit attribution. Keep those roles separate when checking the destination.

If the account is not accessible elsewhere, avoid guessing by trying every address in a sequence of repeated sign-in attempts. Instead, write down the account identifier being used, the addresses that may be associated with it, and which of those mailboxes can still be opened. This narrows the problem without changing account details or creating a second account.

A useful check is to ask: “Can this mailbox receive ordinary mail, and is it the mailbox associated with this exact GitHub account?” If either answer is unknown, address that uncertainty before treating the missing code as a delivery failure.

Check mailbox access, spam, blocks, and filters

Once the likely recipient address is confirmed, check the mailbox itself. Start with the spam or junk folder, then review blocked senders and rules that archive, move, forward, or delete incoming messages. Search the mailbox for GitHub-related messages as well as the subject or wording of the current verification request. A filter may have removed the message from the inbox view without preventing delivery.

Next, confirm that the mailbox can receive messages at all. Check whether it is full, disabled, or affected by a provider-side restriction. If it is a work or school address, an administrator may control inbound filtering. The account owner may need to ask that administrator to inspect quarantine or mail-flow rules rather than changing GitHub settings.

GitHub's email verification troubleshooting guide recommends checking the correct address and ensuring that it can receive GitHub messages. GitHub also notes that delivery can be delayed. Its documentation does not justify inventing a fixed wait time or a guaranteed number of resend attempts. Follow the instructions on the current GitHub page and avoid treating a delay as proof that the address is invalid.

Check What to look for Next move
Correct account The account identifier matches the account you intended to open If not, restart sign-in with the intended account
Correct mailbox The mailbox matches an address associated with that account Review the account's email settings if accessible
Spam and quarantine The message was sorted outside the main inbox Mark or release it according to the mail provider's controls
Blocks and filters A sender block or rule moved or discarded the message Review the rule before requesting another code
Mailbox availability The address still accepts incoming mail Contact the mail administrator or provider if it does not
Delivery delay The message has not appeared yet, but the mailbox is otherwise working Use GitHub's current troubleshooting instructions; do not assume a precise delivery deadline

This sequence matters because requesting another code does not fix a wrong address, a blocked sender, or a mail rule that keeps removing messages. Resolve the underlying condition first. Then follow the prompt and official guidance for continuing the sign-in.

Use the decision branches for an old or inaccessible address

The next step depends on what the checks reveal. Use these branches rather than trying to bypass the verification request.

  • If the account address is correct and the mailbox works: inspect spam, blocked senders, filters, and any provider quarantine. Follow the sign-in prompt and GitHub's current delivery guidance.
  • If the account is still open in another session: check its email settings, confirm the associated address, and make sure the address remains accessible. Do not confuse an address used for commits with the account's contact email.
  • If the associated mailbox is old but still recoverable: restore access through that mailbox's provider first, then return to GitHub's official sign-in flow.
  • If the associated mailbox is inaccessible: review GitHub's account recovery policy and available support paths. Do not assume a new device, a different inbox, or proof of ownership of the device will override the stated recovery requirements.
  • If the account relies on an expiring disposable address: move to an address that can be kept accessible, if the account is still accessible, and follow the official email-change and verification steps. Do not rotate temporary addresses to evade verification.

GitHub documents a recovery policy, but the availability of a recovery path depends on the account and the information the user can provide. It would be misleading to promise that support can restore access solely because the original inbox has disappeared. Follow the official policy for the actual case rather than relying on general claims about what recovery will allow.

If the old address is gone, preserve any active signed-in session while you review the official options. Do not sign out of a session that may be your only remaining way to inspect account settings.

Treat temporary email as a poor fit for an important GitHub account

GitHub explicitly says it cannot verify an address from a disposable email service if that address expires after a period of time. That rule addresses an important continuity issue: if account verification or future recovery depends on an inbox that is no longer available, the account holder may be unable to receive messages sent to it. The exact sign-in and recovery steps remain governed by GitHub's official documentation, not by assumptions about temporary inboxes.

For a GitHub account that holds code, work access, or other important resources, use a mailbox that can be kept accessible and monitored. If the current address is disposable and the account is still accessible, change it through GitHub's own settings and complete the required verification. If access is already lost, use the recovery policy rather than creating more temporary addresses.

This does not mean temporary addresses have no privacy use. The question is whether the account needs ongoing contact and recovery. A short-lived address may suit a low-risk, short-term registration where future access is unimportant. It is a poor choice when a service needs a durable way to contact the account holder.

The difference between a temporary inbox and a longer-term address is about account continuity, not just spam volume. The guide to managing email across accounts and services can help assess that trade-off. For low-trust sites, a separate inbox may also reduce exposure of a primary address; the decision should be based on the value of the account and whether future recovery matters.

Keep commit privacy separate from sign-in recovery

GitHub's noreply address can help keep a personal address out of commit attribution, but that does not make it a substitute for a working account email. A commit address concerns how an email appears in commit-related contexts. New-device verification concerns access to the account. A privacy setting for one should not be treated as a delivery setting for the other.

If the sign-in code is missing while the account remains accessible elsewhere, first confirm the email address in account settings and check the corresponding mailbox. Then use GitHub's documented steps for the specific message type. If the issue is about personal email exposure in commits, consult the email address reference separately rather than changing the address used for account contact without a continuity plan.

This distinction also helps avoid unnecessary account creation. Registering again with a different address does not repair access to the original account and may leave the user with multiple accounts to manage. Keep the original account's recovery route in view and make changes only through the official controls.

For people comparing privacy options, mailbox and isolated-inbox approaches explain why separation can help with low-trust registrations while still leaving important accounts on a durable address. The right choice depends on whether the account needs future sign-in, support, or recovery.

Make the next sign-in easier to diagnose

Once access is restored, reduce the chance of repeating the same confusion. Keep a private record of which long-term mailbox is associated with each important account. A password manager can store the account identifier and a note about the mailbox used, without storing verification codes as if they were permanent credentials. If an address changes, update the account through its official settings and complete any requested confirmation before relying on the new address.

For a work or school account, check whether the mailbox is managed by an administrator and whether quarantine rules can affect GitHub mail. For a personal account, make sure the address itself remains under the account holder's control. An address that forwards to another inbox can still be useful, but the forwarding destination must also remain accessible and the forwarding rules must not discard security messages.

When testing email separation for other sites, choose based on account importance:

  • Use a long-term mailbox when the account is important, may need password recovery, or must remain reachable.
  • Consider an alias or forwarding address when the goal is to separate site identities but preserve ongoing access. Keep track of which address maps to which service.
  • Consider a temporary inbox only for a low-risk, short-lived registration where ongoing access is not needed and the site permits that type of address.
  • Do not use a temporary inbox to bypass GitHub's verification requirements. GitHub's published restriction on expiring disposable addresses takes priority.

A walkthrough of testing a signup flow with a separate inbox can help evaluate whether a site needs a long-lived contact channel before an address is shared. That is a better time to decide than after an important account has become inaccessible.

Frequently asked questions

Where should a GitHub new-device code arrive?

Check the mailbox associated with the GitHub account being accessed, not simply whichever inbox is currently open. If multiple accounts or email addresses are in use, confirm the account identifier first. GitHub's new-device instructions describe the sign-in verification flow; account email settings and commit attribution addresses are separate things.

What should be checked when the code is missing?

Confirm the account and mailbox, then inspect spam or junk, blocked senders, mail filters, and any quarantine controlled by a mail administrator. Make sure the mailbox can receive messages. GitHub documents possible delivery delay, but avoid assuming a fixed time or retry count that its guidance does not specify.

What if the GitHub account uses a temporary address?

GitHub says it cannot verify an address from a disposable email service if that address expires after a period of time. If the account is still accessible, change to an address that can remain available and follow GitHub's verification steps. If access is already lost, use the official recovery policy instead of rotating temporary addresses.

What changes after updating the account email?

If the code is missing after an email change, first identify the account and check the associated email settings if a session remains accessible. Then check the mailbox tied to that account and follow GitHub's instructions for the message type. If the old address cannot be accessed, consult the recovery policy; another inbox does not automatically replace the account's recovery route.

For GitHub, an address that remains accessible is part of account continuity, not just a way to receive one sign-in message. For a low-risk, short-lived registration elsewhere, HideRelay can help keep that site's mail separate from a primary inbox; it should not be treated as a substitute for GitHub's account email or verification process. When the goal is simply to avoid exposing a primary address to a site that does not need a lasting contact channel, choose a temporary inbox only after weighing the account's future access needs.

Frequently asked questions

Which email address receives a GitHub new-device verification code?
Start with the email address associated with the GitHub account you are trying to access, and check that mailbox rather than assuming the code goes to the address currently open in your mail app. If you have changed addresses or manage several accounts, verify the account identity and its email settings. GitHub's new-device guidance is the source for the sign-in verification flow.
What should I check if a GitHub email code does not arrive?
Confirm that you are checking the correct account mailbox and that it can receive messages from GitHub. Then inspect spam or junk, blocked senders, and rules that move or delete messages. GitHub also says delivery may be delayed, so use its troubleshooting guidance rather than relying on an invented wait time or repeatedly changing account details.
Can a temporary email address be used for GitHub verification?
GitHub says it cannot verify an address from a disposable email service if that address expires after a period of time. If your account uses such an address, do not rotate temporary addresses to get around the check. Use an address you can continue to access and follow GitHub's official account and email verification instructions.
Where does the code go after changing my GitHub account email?
Do not infer the destination from the email address you most recently used in another GitHub action. Confirm which account you are signing into, then review its associated email settings and check the relevant mailbox. If you cannot access the address tied to the account, consult GitHub's recovery policy; a new device or a different inbox does not by itself establish account ownership.

Send a synthetic notification through real delivery

Work out the expected amount and time, then send the email to a temporary test address. First confirm it arrived, then check each detail against your expectations. Don’t treat a sample email as your test result.