Minecraft "Chat Validation Error" Fix (Secure Chat, Profile Key)
Fix Minecraft "Chat validation error", "Chat disabled due to missing profile public key" and out of order chat kicks, for players and server owners.
Updated Oct 8, 2026 · 6 min read
On this page
"Chat validation error" and its cousins ("Chat disabled due to missing profile public key", "Received chat packet with missing or invalid signature", "Out-of-order chat packet received") all come from Minecraft's secure chat system. Since Java 1.19.1, each player's messages are signed with a key from Mojang, and the server or client kicks someone when the signatures do not add up. The fix is usually on the server: an outdated plugin, a proxy set up the old way, or enforce-secure-profile set wrong for your setup. Sometimes it is the player's clock or a client mod. Here is how to tell which, and what to change.
How secure chat works, in two sentences
When you log in, Minecraft gets a key pair for your account from Mojang and signs every chat message with it, chaining each message to the one before. The server and other clients check those signatures, so anything that changes, drops or reorders a signed message breaks the chain and triggers one of the errors below.
That is why a plugin that rewrites chat in an old way, or a proxy that tampers with chat packets, causes kicks for everyone, while your server running vanilla is fine.
Which error do you have?
| Message | What it usually means |
|---|---|
| "Chat validation error" | A signed message was altered or arrived broken. Usually a chat plugin or proxy |
| "Chat disabled due to missing profile public key. Please try reconnecting." | The client did not send a chat key, but the server requires one |
| "Received chat packet with missing or invalid signature." | Server side check failed. Often a client mod that strips signatures, or an old proxy |
| "Out-of-order chat packet received. Did your system time change?" | Messages arrived with timestamps going backwards. Usually the player's PC clock |
| "Chat disabled in client options" | The player turned chat off in Chat Settings. Not an error |
| A "chat disabled" message that mentions your account settings | Microsoft account or family settings block chat |
Fixes for players
Try these before asking the server owner, since they take a minute:
- Restart the launcher and the game. Your chat key expires and gets refreshed when you log in again. A game left open for a very long time can end up with a stale key.
- Set your PC clock to automatic. On Windows, open Settings, Time and language, Date and time, and turn on Set time automatically, then click Sync now. A clock that is minutes off, or that jumps, causes the out of order error.
- Remove chat mods for a test. Mods that strip or change chat signatures, chat reporting blockers and some chat formatting mods can trigger these kicks on servers that enforce secure chat. Join with a clean profile to check.
- Use the official launcher with a real account. Launchers or accounts that cannot get a key from Mojang cause "missing profile public key".
- Check chat is allowed on your account. If the chat disabled message mentions your account settings, a parent or the account owner has to allow communication in the Microsoft or Xbox privacy settings, the same place covered in Minecraft "Multiplayer is disabled" fix.
If several players get kicked at once, or everyone gets kicked the moment they chat, stop here: the cause is on the server.
Fixes for server owners
Update the server, proxy and chat plugins
Most chat validation errors on Paper servers come from plugins built for older Minecraft versions that rewrite chat messages directly. Update, in this order:
- The server itself, to the newest build of your Minecraft version.
- The proxy, if you use one (Velocity or BungeeCord).
- Every plugin that touches chat: chat formatters, nickname plugins, chat filters, Discord bridges and prefix plugins.
Remove chat plugins one at a time and test if you cannot find an update. A plugin that has not been updated since before 1.19.1 is the usual suspect.
Proxies: forward correctly
Behind Velocity, use player-info-forwarding-mode = "modern" with the secret set in each Paper backend's config/paper-global.yml, as in how to make a Minecraft server network with Velocity. Legacy forwarding and very old proxy builds cause signature errors that look random. Velocity also has a force-key-authentication option in velocity.toml that controls whether players without a chat key are allowed in.
Decide on enforce-secure-profile
In server.properties:
enforce-secure-profile=true
| Value | What happens |
|---|---|
true (default) |
Every player must have a Mojang signed key. Players without one cannot join or cannot chat |
false |
Players without a key can join and chat. Messages from them are not signed |
Leave it on true for a normal server with Java players on real accounts. Setting it to false helps when some players legitimately cannot provide a key, for example:
- Bedrock players joining through Geyser and Floodgate, depending on your setup.
- A server behind a proxy that does not pass keys through.
- Players who keep getting "missing profile public key" after restarting and updating.
Stop the server, change the line, and start it again, since server.properties is only read on start. More context is in Minecraft server.properties explained.
Do not turn off online-mode
Players sometimes suggest online-mode=false as a fix. Do not do it. It turns off account checks entirely, lets anyone join with any username including yours, and does not actually fix signed chat. Keep online-mode=true unless you run a proxy that handles login. See Minecraft failed to verify username fix for why.
Quick checklist by symptom
| Symptom | Most likely cause | First thing to try |
|---|---|---|
| One player, sometimes | Their clock or a stale key | Sync the clock, restart the launcher |
| One player, always | A client mod or a launcher without keys | Join with no mods on the official launcher |
| Everyone, when they chat | A chat plugin | Update or remove chat plugins |
| Everyone, only behind the proxy | Proxy forwarding | Modern forwarding, update Velocity |
| Bedrock players through Geyser | No Java chat key | Check Geyser and Floodgate docs, or enforce-secure-profile=false |
| Just updated the server | Plugins not updated yet | Update plugins to builds for the new version |
Fixing it on GamezServers
On a GamezServers Minecraft server, click Update game to get the newest server build for your version, then update chat plugins in the plugins folder from the Files tab and restart. To change enforce-secure-profile, edit server.properties in Files and press Restart. If you run Geyser so Bedrock friends can play, how to let Bedrock players join a Java server shows the full setup.
FAQ
What causes "Chat validation error" in Minecraft?
A chat message's signature did not check out. On servers, the usual causes are outdated chat plugins and proxies that change chat. For one player alone, it is usually their clock or a client mod.
How do I fix "Chat disabled due to missing profile public key"?
Restart the Minecraft Launcher and log in again so it fetches a fresh key. If it keeps happening, the server owner can set enforce-secure-profile=false in server.properties.
Is it safe to set enforce-secure-profile to false?
Yes for most private servers. It only means unsigned messages are accepted. It does not turn off account checks, which is what online-mode does.
Why do I get "Out-of-order chat packet received"?
Your computer's clock changed or is out of sync. Turn on automatic time in your system settings, sync it, and rejoin.
Does this happen on Bedrock servers?
No. Secure chat signing is a Java Edition feature. Bedrock chat problems usually come from Xbox privacy settings.
Skip the setup. Your own Minecraft server.
Then $4.99/mo. Just trying it? $1.25 for 3 days