What to do when your remote desktop keeps disconnecting

You're working on a file, the cursor freezes for a few seconds, and then the session drops — again. Intermittent disconnects are the most frustrating remote-access problem because they interrupt work, waste time reconnecting, and can hide the real cause.
You're working on a file, the cursor freezes for a few seconds, and then the session drops — again. Intermittent disconnects are the most frustrating remote-access problem because they interrupt work, waste time reconnecting, and can hide the real cause. This guide walks through a practical, technical triage you can run right now to find (and fix) why your remote desktop keeps disconnecting.
How to approach this: narrow the failure domain
Start by scoping the problem. Random disconnects have a small set of root causes: network instability, middleboxes (NAT, firewalls, proxies), host-side resource or power management, or the broker/service layer. The quickest path to a fix is to answer three questions:
- Is the problem on one client, one host, or both?
- Does it happen only on the local LAN, only over the Internet, or in both places?
- Is it reproducible (every N minutes) or truly random?
Example triage outcomes and what they suggest:
- Disconnects only from one client machine — likely client-side power, firewall, or software issue.
- Disconnects from all clients to one host — likely host-side power management, anti-virus, or network adapter settings.
- Disconnects only over the Internet but not on LAN — likely ISP/NAT/router or broker issues.
Quick checklist: rules-out in under 15 minutes
Before deep diagnostics, run this short checklist. These steps fix many common causes and help collect useful data for the next stage.
- Reproduce and note timing: try a controlled session and watch for repeatable behavior. Does the session drop after X seconds/minutes?
- Switch networks: connect the client to a different network (mobile hotspot, wired Ethernet) to see if the problem follows the client.
- Use wired Ethernet for both ends if possible — Wi‑Fi is a frequent culprit.
- Temporarily disable power-saving on both endpoints (Wi‑Fi power save off, Windows Power Plan to High Performance).
- Disable VPNs and third-party firewalls briefly to test if they’re the cause.
- If using a brokered product (TeamViewer, AnyDesk, Tenvo broker), try a direct LAN connection if supported — see our Remote Desktop Without Port Forwarding Explained write-up for options.
Network diagnostics: measure before you tinker
When disconnects aren’t solved by the quick checklist, measure network health. You’re looking for latency spikes, jitter, or packet loss — any of which can break a remote session.
Useful tools and checks (client and host):
- ping: run ping -t
(Windows) or ping (Linux/macOS) and look for spikes or packet loss. Persistent packet loss >1% is a red flag; >3–5% will cause visible problems or disconnects. - mtr or tracert: use mtr
(Linux/macOS) or traceroute/tracert to find where loss appears. If loss begins at your gateway, the router or ISP is the likely cause. - iperf3: run iperf3 between the two endpoints on known-good networks to measure throughput, jitter, and packet loss. For example, iperf3 -s on the server and iperf3 -c
-t 60 on the client. - Wi‑Fi diagnostics: on Windows, use netsh wlan show interfaces and check RSSI. On macOS, hold Option and click Wi‑Fi to view Tx rates and noise. Move closer to the AP or switch to 5 GHz if channel congestion is high.
Interpretation guidance:
- Latency: short sessions can tolerate sub-50 ms; latency consistently over 100–150 ms can make the connection fragile, especially for UDP-enabled features or real-time screen updates.
- Packet loss: even small sustained loss (1–3%) often causes retransmits and session freezes. Loss spikes (bursts) are particularly disruptive.
- Jitter: high jitter (variable latency) will show as intermittent freezes and is often caused by overloaded Wi‑Fi, CPU starvation, or a busy uplink.
Middleboxes and NAT: the most common invisible culprits
NAT devices, home/office routers, and ISP equipment often kill idle UDP or TCP state after tens of seconds to minutes. If your remote desktop protocol uses UDP (many modern clients do), NAT timeouts can terminate the path and force a reconnection.
What to check:
- NAT & TCP timeouts: many consumer routers drop UDP mappings after 30–60 seconds of inactivity. TCP state timeouts vary; some aggressive routers or firewall appliances close idle TCP after 30–120 seconds. If your app relies on long-lived UDP without application-level keepalives, add one every 15–30 seconds.
- UPnP and port-forwarding: if you control the router you can set static port-forwarding for the host so brokerless, direct connections are possible. If you can't, brokered services can traverse NATs but depend on their relay/broker availability. Our Remote Desktop Without Port Forwarding Explained article covers these trade-offs.
- Carrier-Grade NAT (CGNAT): mobile and some broadband ISPs use CGNAT which prevents direct incoming connections. If disconnects correlate with mobile networks or certain ISPs, CGNAT or asymmetric routing might be involved.
Practical tests:
- From the client, use STUN-like tests (for WebRTC-based brokers) or check if the host responds to a direct TCP connection on the remote port (telnet
or nc -vz ). - Temporarily enable a relay or broker option in your remote app and compare stability. If brokered sessions are stable while direct sessions fail, the problem is likely NAT/router or ISP-level.
Host and client settings: power, drivers, and CPU starvation
Once network issues are ruled out, check the machines themselves. The usual suspects are power-saving features, faulty NIC drivers, CPU or memory pressure, and background software interfering with the session.
- Power management: On Windows, set the power plan to High Performance and disable selective suspend for USB and Wi‑Fi adapter settings (Device Manager → Network adapters → Properties → Power Management → uncheck 'Allow the computer to turn off this device to save power'). On macOS, disable App Nap and ensure the system won't sleep while the session is active (System Settings → Battery or Energy Saver).
- GPU/driver issues: remote desktop clients often use GPU encoding/decoding. Update GPU drivers (NVIDIA/Intel/AMD) to the vendor's latest stable release. If you suspect GPU encoding problems, temporarily disable hardware acceleration in the client or server and test.
- Antivirus/network security agents: enterprise endpoint security can inject drivers or filter traffic. Try pausing the AV or uninstalling a temporary network filter and test. Document changes if you must escalate to IT.
- CPU & memory: on the host, monitor with Task Manager (Windows) or top/htop (Linux) for spikes. If the host becomes CPU-bound, screen capture encoding can lag and trigger timeouts.
Protocol-specific notes: RDP, VNC, and brokered clients
Different remote protocols behave differently under stress. A few protocol-specific tips:
- RDP (Windows): older RDP over TCP is resilient to packet reordering but slower to recover. Newer RDP (post-8.0) can use UDP for better interactivity but is sensitive to packet loss. If RDP disconnects, check Group Policy or server-side settings for idle timeouts and UDP reliability. A common server-side setting is the 'Keep-Alive' and the policy that disconnects idle sessions after N minutes — verify your Remote Desktop Session Host settings.
- VNC: many VNC variants use unencrypted TCP tunnels and are susceptible to NAT timeouts. If you're using VNC through a tunnel (SSH), check the tunnel's keepalive interval.
- Brokered clients (TeamViewer, AnyDesk, Tenvo, etc.): these use a broker to help traverse NAT. They can be more stable across ISPs but depend on the broker'es uptime. If you see disconnects coincident with network-wide interruptions, check the broker's status pages or try a direct LAN connection if possible. We cover options for brokerless setups in our Self-Hosted Remote Desktop: Why, How, and What Breaks guide.
Collect useful logs before escalating
When you need help from IT or vendor support, provide logs and measurements — those save time. Here’s what to collect:
- Client and server logs: enable verbose or debug logging in your remote client and gather logs covering a failure. Location varies by app; for Tenvo, check the app's Help → Show Logs or the installation directory (and include timestamps).
- Network traces: capture a packet trace around a disconnect (Wireshark or tcpdump). A 60–120 second capture centered on the disconnect is usually enough. Look for repeated retransmits, ICMP 'destination unreachable', or sudden RST/FIN packets.
- Ping/MTR logs: run mtr -r -c 100
or ping -D and save output. If the path shows loss at a particular hop, include that detail. - System diagnostics: CPU/Memory graphs, Power settings screenshots, and NIC driver versions. On Windows, run driverquery /v to list drivers and versions. On Linux, lsmod and dmesg are useful.
Practical fixes that often work
After you’ve measured and gathered logs, try these fixes in order from least invasive to more permanent:
- Enable application-level keepalives: configure your remote client or server to send a keepalive every 15–30 seconds. This prevents many NATs and routers from dropping the mapping.
- Use wired Ethernet or a less congested Wi‑Fi band (5 GHz) where possible.
- Disable power-saving on NICs and Wi‑Fi adapters on both ends.
- Update network drivers and the remote client to the latest stable version. If a newly-updated client coincides with the problem, try the prior version until the vendor fixes the regression.
- Switch transport: some clients allow forcing TCP-only or UDP fallback. If UDP is flaky, force TCP; if TCP stalls, try allowing UDP for better latency recovery.
- If your environment allows it, set a static port-forward on the host and use a fixed port for direct connections. This removes broker-dependent failure modes but requires careful security (firewall + strong auth). See Remote Desktop Without Port Forwarding Explained for a structured approach.
When to consider self-hosting or changing architecture
If your organization needs consistent, professional-grade availability and you keep hitting broker or ISP-related limits, consider a self-hosted or hybrid architecture. Self-hosting your broker or selecting an on-prem relay removes third-party downtime and gives you control over NAT traversal policies and keepalive behavior.
Trade-offs:
- Self-hosted brokers reduce third-party dependency and can drastically improve stability for internal users, but they require server maintenance and a public endpoint unless you use an internal-only solution.
- Hybrid models (self-hosted relay for company users, broker for external) give flexibility. We walk through options in our Self-Hosted Remote Desktop: Why, How, and What Breaks guide and the How to Set Up Remote Access in 60 Seconds.
Competitors and honest limits
Products like TeamViewer and AnyDesk provide easy NAT traversal and relayed fallbacks; their brokered model can be more resilient across arbitrary client networks. That convenience can be a reason to choose them. However, any centralized broker is a single point of dependency — if their service or a regional relay goes down, sessions drop. If your priority is predictability and control, self-hosting or using a direct-LAN-first strategy is better.
Tenvo is designed to be flexible: it supports brokered connections for convenience and direct LAN/self-hosted options for stability and control. If you need a path that minimizes broker dependency for critical users, consider a self-hosted relay or direct port-forwarding configuration — details and downloads are available on Tenvo's /download and guidance on /pricing for hosted options if you prefer not to self-host.
When to escalate to IT or vendor support
If you’ve run the diagnostics above and still see unexplained disconnects, escalate with the data you've collected. Provide:
- Exact timestamps of failures and corresponding ping/mtr logs.
- Client and server log bundles, and a short packet capture (pcap) spanning the failure.
- Network topology: ISPs, router make/model and firmware, whether NAT or CGNAT is involved, and whether users are on Wi‑Fi or wired.
Vendors need these artifacts to correlate disconnects with backend events or to spot protocol-level failures. If you use Tenvo and need support, include the logs from Help → Show Logs and link the pcap; if you use other vendors, follow their support portal instructions. For general architectural help, our How to Set Up Remote Access in 60 Seconds and Remote Desktop Security: What You Need to Know articles can help shape the conversation before you escalate.
Summary checklist — what to try now
- Switch to wired or alternate network to reproduce.
- Disable power-saving and update NIC drivers.
- Run ping/mtr and save the output; run iperf3 where possible.
- Enable keepalives or reduce keepalive interval to 15–30s.
- Temporarily broker the connection (or un-broker it) to see which path is stable.
- Collect logs (client/server/pcap) and escalate with those artifacts.
Intermittent disconnects are annoying but usually solvable with systematic measurement and a few targeted changes — most often by fixing Wi‑Fi, NAT timeouts, power settings, or keepalive configuration.
If you want a remote client that makes this triage easier and supports both brokered and direct LAN/self-hosted modes, download Tenvo and try a direct connection first. Grab the app at /download; if you're evaluating hosted vs self-hosted for stability, check /pricing and our Self-Hosted Remote Desktop: Why, How, and What Breaks guide for options.
Ready to try it yourself?
Free for 30 devices, no credit card. Up and connected in two minutes.