"Failed to Verify Username" in Minecraft: Fixes for Players and Server Owners

Kicked with Failed to verify username or Failed to login: Invalid session? What the message means, the player-side fix that works nine times out of ten, and the server-side causes including online-mode and proxy setups.

Updated
7 minutes
Beginner
Contains affiliate links

What the error means

When a player joins a server with online-mode=true, which is the default, the server asks Mojang's session servers a single question: is the account that just connected really signed in as this player right now? If the answer does not come back as yes, the server kicks the player with:

Failed to verify username!

The player may instead see the launcher-side version of the same failure:

Failed to login: Invalid session (Try restarting your game and the launcher)
Failed to login: The Authentication Servers are currently down for maintenance.

All three come from the same check. What differs is which side noticed. That tells you where to fix it: Invalid session is the player's login token. Failed to verify username is usually the player too, but can be the server. Down for maintenance is Mojang, or something blocking the path to Mojang.

Player fix: restart the session properly

This clears it nine times out of ten. The order matters, because the launcher caches a login token and only fetches a new one when you sign out.

  1. Close the game and the launcher completely. On Windows, check the system tray; the launcher often keeps running there.
  2. Open the launcher, click your profile name, and sign out.
  3. Sign back in with your Microsoft account.
  4. Start the game and join the server again.

If that does not do it, check these before blaming the server:

  • Signed in twice. Playing on a second computer, or a launcher left open elsewhere, invalidates the first session. Sign out everywhere, then in on one machine.
  • Recent username change. The launcher holds the old name until restarted, and the session servers take a few minutes to catch up. Restart and wait.
  • Wrong system clock. Login tokens are time-stamped. A clock that is off by more than a few minutes fails verification. Turn on automatic time setting.
  • VPN or proxy. Some VPN exits are blocked or rate-limited by the session servers. Disconnect it and retry.
  • Third-party launcher. Launchers that manage multiple accounts can hold a stale token for one of them. Remove the account and add it again.

Server-side causes

If every player gets the error at once, or a player still gets it after a clean sign-in, look at the server.

The server cannot reach Mojang

The server needs outbound HTTPS to sessionserver.mojang.com. A strict firewall, a broken DNS resolver, or an outbound rule on a VPS can block it. In the server console you typically see Couldn't verify username because servers are unavailable or a timeout. Test from the server machine:

curl -sI https://sessionserver.mojang.com/ | head -1

Anything other than an HTTP status line means the server cannot get out. Fix DNS (try 1.1.1.1 or 8.8.8.8) or the outbound firewall rule, then restart the server.

A proxy network with the wrong online-mode

On a BungeeCord or Velocity network, the proxy verifies players and the backend servers must trust it. Backends run online-mode=false with IP forwarding enabled in their Paper config, and the proxy runs online-mode=true. A backend left on online-mode=true tries to verify a player the proxy already verified, and fails. Set the backend to false and enable forwarding, never the other way round.

The player does not own Minecraft

Cracked, demo, or Bedrock-only accounts cannot pass the check. Bedrock players can join a Java server through the Geyser plugin with Floodgate, which handles their authentication separately. Setting online-mode=false to admit unpaid accounts also admits anyone claiming any name, including yours; it is not a fix.

Rate limiting after a mass reconnect

After a server restart with many players rejoining at once, the session servers can throttle verification for a short time. It clears on its own within a minute or two. Players should wait and retry rather than spamming reconnect.

Is Mojang down?

Occasionally. If the error hits every player on every server at the same time and the server's outbound connection is fine, the session servers are having a bad hour. Check Downdetector's Minecraft page or the official Minecraft help site for a notice. There is nothing to change on your side; players already in the game are unaffected, and new logins work again once Mojang recovers.

Do not turn off online-mode to ride out an outage

Anyone who joins during that window can use any name, including an operator's. If you must, add every player to the whitelist first and turn online-mode back on the moment Mojang recovers.

Frequently asked questions

What does "Failed to verify username" mean?

The server asked Mojang's session servers to confirm that the player joining is really logged in to that account, and the check failed. Either the player's session token is stale, the server cannot reach Mojang, or the account is not a paid Minecraft account.

Is "Failed to verify username" the same as "Invalid session"?

They are the two sides of one check. Invalid session is shown to the player when their own login token is stale. Failed to verify username is the server's message when it cannot confirm the player. Both are fixed the same way first: fully restart the launcher and sign in again.

Can I fix it by setting online-mode=false?

That turns verification off entirely, so anyone can join with any username, including someone using yours. It is not a fix. The only legitimate use is a backend server behind a BungeeCord or Velocity proxy, where the proxy does the verification instead.

Why do only some players get the error?

Because it is usually the player's session, not the server. The affected player should log out of the launcher and back in. If every player gets it at the same time, the server cannot reach Mojang or Mojang is down.

I just changed my username. Why can't I join?

Name changes take a few minutes to reach the session servers, and the launcher keeps the old name until you restart it. Restart the launcher, sign in, and wait a few minutes.

Does a VPN cause this?

It can. Some VPN exits are rate-limited or blocked by the session servers. Disconnect the VPN, restart the launcher, and try again.