Fix ERROR_TS_INCOMPATIBLE_SESSIONS (0X00001B9D) on Remote Desktop
This error pops up when Remote Desktop tries to reconnect to a disconnected session that's running a different RDP version. The fix is simple — kill the stale session or update the client.
When You'll See This Error
You're remoted into a Windows Server 2019 or 2022 box from a Windows 10/11 machine. You get disconnected — maybe the network dropped, maybe you closed the laptop lid. When you try to reconnect, you see this exact error instead of your desktop. The culprit here is almost always a mismatch between the RDP version the server's disconnected session was using and the one your client's offering now.
Root Cause
Each RDP session locks in a specific protocol version when it starts. If your client updates (think Windows Update rolling out a new mstsc.exe) while the server session stays in limbo, the reconnect handshake fails. The server sees the client's request as incompatible with the saved session's capabilities. It doesn't gracefully merge them — it throws 0x00001B9D and refuses the connection.
This happens most often when you have multiple admins hitting the same server, or when you've left a session disconnected for days. Windows Server doesn't always clean up these stale sessions cleanly.
Fix It in 3 Steps
Step 1: Kill the Stale Session from Another Admin Session
If you've got another admin who's still connected, ask them to open Server Manager > Remote Desktop Services > Sessions. Find your disconnected session and right-click > Log Off. That's it. Reconnect and you're in.
If no one else is connected, you'll need to use the console session. Add /admin to your RDP connection string. Run mstsc /admin from the Run dialog (Win+R). This bypasses session brokering and connects directly to the console. Once in, open Task Manager > Users tab, find your user, right-click and Disconnect or Log Off.
Step 2: Clean Up Using PowerShell (No GUI Needed)
If you can't get a GUI session at all, use PowerShell Remoting. From another machine, run:
Enter-PSSession -ComputerName [ServerName] -Credential [YourAdminAccount]Then list the sessions:
Get-WmiObject -Class Win32_TerminalService | Select-Object -ExpandProperty NameOr use the newer cmdlet (if available on your server version):
Get-RDUserSession | Where-Object {$_.UserName -eq "YourUsername"} | Invoke-RDUserLogoff -ForceIf nothing comes back, force a logoff of your disconnected session by its Session ID. First, find it:
qwinsta /server:[ServerName]Then log off the matching ID (say it's 2):
logoff 2 /server:[ServerName]Step 3: Update Your RDP Client (Prevent Recurrence)
This error repeats if your client is outdated. On Windows 10/11, go to Settings > Update & Security > Windows Update and install all pending updates. The RDP client updates come bundled with cumulative updates. You want at least the latest security patch from the last 6 months.
If you can't update the whole OS, grab the Remote Desktop client from the Microsoft Store. The store version gets updated independently and rarely has protocol mismatches.
Still Failing? Check These
- Network Policy: Some corporate networks enforce RDP version restrictions via GPO. Check if a policy is downgrading your client's RDP version. Run
gpedit.mscand look under Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections. If "Use Network Level Authentication" is set to Disabled, that's your problem. - Server Reboot: If you cannot kill the session remotely and the console is locked, reboot the server. Not elegant, but it works. From another machine, run
shutdown /r /m \ [ServerName] /t 0. - Third-Party RDP Wrappers: If you're using RDP Wrapper or similar, uninstall it. Those tools often patch the session negotiation and cause this exact issue after Windows updates.
That's it. This error is a session sync problem, not a deep infrastructure failure. Kill the stale session, update your client, and you won't see it again for months.
Was this solution helpful?