0XC0000196

Fix 0xC0000196 STATUS_REMOTE_SESSION_LIMIT in Windows

This error pops up when Windows hits the remote session cap. We'll fix the three usual culprits: license limits, stale sessions, and registry tweaks.

Cause #1: Too Many Active Sessions (Hitting the Session Limit)

This is the one I see most often. Windows has a hard cap on how many remote sessions can run at once—usually two for desktop versions, or whatever your Server license allows. When you try to connect and hit that cap, you'll see 0xC0000196 right after credentials are accepted.

A real-world scenario: your coworker left an RDP session open from yesterday, someone else is still connected, and now you're the third person trying to get in. Boom, error.

The quick fix: kick the stale sessions. If you have admin rights on the target machine, open an elevated Command Prompt and run qwinsta to list sessions. You'll see something like:

 SESSIONNAME       USERNAME                 ID  STATE   TYPE
 console            admin                    1  Active  
 rdp-tcp#2          jsmith                   2  Active  
 rdp-tcp#3                                  3  Disc    

Look for sessions with Disc (disconnected) or sessions you know are abandoned. Kill them with:

logoff <session_ID>

Replace <session_ID> with the number under ID. So for session 3, it's logoff 3. Works on Windows Server 2016/2019/2022 and Windows 10/11 Pro.

If you can't get in at all, reboot the machine remotely (if you have that access). That clears everything, but it's a blunt hammer—use it when you're locked out.

Prevent it: set a group policy to auto-disconnect idle sessions after 15 minutes. Run gpedit.msc, go to Computer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Session Time Limits. Set "Set time limit for active but idle Remote Desktop Services sessions" to 15 minutes. This keeps sessions from piling up.

Cause #2: Stale RDP Sessions Stuck in Memory

Sometimes the session count looks fine, but Windows still throws the error because a session didn't clean up properly. This happens after a network drop or when a client machine crashes without logging off. The server still holds those ghost sessions.

I've seen this on Windows Server 2019 after a VPN disconnect—the session stays in a weird state and consumes one of your slots.

The fix: use PowerShell to force-remove all disconnected sessions. Run this in an elevated PowerShell window:

query session | Where-Object { $_.State -eq 'Disc' } | ForEach-Object { logoff $_.SessionID }

That logs off every disconnected session. If you want to be more surgical, replace the filter with a specific username:

query session | Where-Object { $_.Username -eq 'jsmith' } | ForEach-Object { logoff $_.SessionID }

Another option: restart the Remote Desktop Services service. This kills all sessions, so only do it when nothing critical is running. From an admin command prompt:

net stop termservice && net start termservice

That's a sledgehammer approach—it'll disconnect everyone, but it clears all ghost sessions and often fixes the error instantly.

Why this happens: Windows doesn't always properly decrement the session counter when a TCP connection dies abruptly. It's a known quirk, especially with flaky VPNs or when users close their laptop lid instead of logging off.

Cause #3: Registry Setting That Limits Sessions

If the above didn't work, there's a sneaky registry key that can artificially limit sessions. Some third-party tools or manual tweaks set a custom cap. You're looking for:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\TSAppCompat

There might also be a TSUserEnabled or TSUserSessions key that overrides the default. Honestly, I've only seen this on machines that had some RDP manager software installed, but it's worth checking.

Open regedit.exe, go to that path, and look for any DWORD value named MaxSessionCount. If it exists, delete it or set it to a higher number (like 9999). Then reboot.

Important: editing the registry is risky. Back it up first (right-click the key, Export, save a .reg file). And don't go crazy setting it to a crazy high number on a low-spec machine—you'll just swap one error for a different performance nightmare.

There's also a case where the license grace period expires on Windows Server. If you're running Server 2016 or newer with RDS role, you might hit this error after the 120-day grace period. The fix there is to install proper RDS CALs, but that's a whole other article.

Quick Reference Summary

CauseFix
Session limit reachedLog off inactive sessions with logoff <session_ID> or reboot
Stale ghost sessionsRun PowerShell script to log off all Disc sessions
Registry overrideDelete or adjust MaxSessionCount in TSAppCompat

Start with the first fix—it solves 80% of these errors. If you've tried all three and still get 0xC0000196, then you're likely dealing with a licensing issue on Server, and that needs a different approach entirely.

Related Errors in Network & Connectivity
WiFi keeps dropping on Windows 11? Here’s the real fix 0X400D005A Fix NetShow NS_I_START_DISK Error 0X400D005A 0XC00D1589 Fix NS_E_HTTP_TEXT_DATACONTAINER_SIZE_LIMIT_EXCEEDED (0XC00D1589) 0X00000A49 Network adapter ID 0X00000A49 already in use by another workstation

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.