Fix "Failed to verify username" on Minecraft
Why a Minecraft server says Failed to verify username, the fixes for the player, and what switching off online mode really costs you.
A player is disconnected with Failed to verify username! because your server is in online mode and Mojang did not confirm that the player signed in with their own account.
Checked against Minecraft 26.3 (Mojang's own server and language files), October 2026.
What the error means
Joining an online-mode server takes two steps. The player's game tells Mojang's session service that it is joining, then your server asks the same service whether that player really did (this is what minecraft.wiki's protocol page describes). If Mojang has no matching join to report, your server disconnects the player with Failed to verify username! and writes this line to the Console:
Username 'Steve' tried to join with an invalid session
Other messages look similar but point somewhere else:
- Authentication servers are down. Please try again later. Sorry! The server could not get an answer from Mojang. Wait a few minutes and have the player try again.
- Invalid session (Try restarting your game and the launcher) The player's own game could not start a session. Restart both, as the message says.
- Multiplayer is disabled. Please check your Microsoft account settings. The player's Microsoft account has multiplayer switched off.
- You are banned from playing online The account is banned from online play, so no online-mode server will take it.
- You are not white-listed on this server! The whitelist is on and the name is not on it. See Minecraft whitelist: add players, set ops.
Fix it for the player
- Close Minecraft and the launcher completely and open them again, as the Invalid session message above suggests.
- Make sure the launcher is signed in to the Microsoft account that owns Minecraft: Java Edition. An online-mode server only lets in players that Mojang verifies, so a launcher without a purchased account cannot get in.
- Join again from the Multiplayer list.
- If it still fails, check the server settings in the next section.
If several players fail at the same moment, work through the server settings below as well as the player steps.
Check prevent-proxy-connections
The Config Editor does not list this setting, so check it in the file:
- Open the File Manager and open
server.properties. - Look for
prevent-proxy-connections. The default isfalse. - If it says
true, change it tofalse, click Save and restart the server from the Console tab.
With it on, the server sends the player's IP address to Mojang, and players whose internet provider differs from the one Mojang has on record are kicked. Switching it off is a quick way to rule it out.
Players without a Java account
Bedrock players usually have no Java account. Use the Crossplay tab for them. After you enable crossplay, the Sign-in list under Bedrock settings offers Floodgate (no Java account), which lets Bedrock players join without a Java account. The tab installs Floodgate on Fabric and NeoForge. On Quilt it fetches the Fabric build, because Floodgate has no Quilt build on Modrinth. On Paper and Purpur, add the floodgate-spigot jar yourself first. Forge has no Floodgate build, so Bedrock sign-in through Floodgate is not available there. Let Bedrock players join your Java server has the full steps.
Turning online mode off
With online mode off, anyone can join under any name. That includes the name of an operator or a whitelisted player, so the whitelist stops protecting you. Leave it on unless you have a specific reason.
The setting is in the Config Editor: under Players, switch Online mode off, click Save changes, then restart the server. Two things change when you do:
- Players are no longer identified by their Mojang account. The server builds an ID from the name they type, so each player gets a different ID from the one they had before. Player data is stored per ID, so returning players can start with an empty inventory, and entries in the operator and whitelist files, which record IDs, can stop matching the same people.
- A player on a licensed account can still join, but so can everyone else.
To put things back, switch Online mode on again, save and restart.
Frequently asked questions
Does this mean my server is broken?
Not necessarily. The check involves the player's game, Mojang's session service and your server, so a failure can come from any of the three. The steps above cover the player, and the prevent-proxy-connections and Online mode sections cover your server.
Where can I see who failed to join?
Open the Console tab, or press Download Log for older lines, and look for tried to join with an invalid session. Use your server console and send commands shows how to download the log.
Was this guide helpful?
Related guides
Fix "Kicked by an operator" on Minecraft
Find out what kicked a player with Kicked by an operator, whether a command, a plugin or a schedule, and stop it from happening again.
Fix "Internal Exception" on Minecraft
Read the Internal Exception screen, tell a server fault from a player's connection, and fix dropped connections on your Minecraft server.
Reload chunks on your Minecraft server
Fix chunks that look wrong with F3 plus A, make the server load them again with a restart, and tell damaged chunks from lag.
