Cloudflare WARP Running in Background: How to Control warp-svc on Windows
Why warp-svc Keeps Running Even When WARP Is Off
Toggling the Cloudflare WARP switch in the tray icon does not stop the underlying Windows service. warp-svc.exe is configured for automatic startup, so it launches at every boot regardless of whether you plan to use the tunnel. The toggle only connects or disconnects the tunnel itself — the service process stays alive either way.
This is intentional. WARP needs a persistent background process to manage the WireGuard tunnel, route DNS queries through its local proxy, and apply the firewall rules that keep traffic inside the tunnel. The side effect is that you cannot actually idle it by clicking the icon.
Setting warp-svc to Manual Startup
The cleanest fix is telling Windows to only start the service when you actually open the WARP app. Open Command Prompt as Administrator and run:
sc config warp-svc start= demand
The space after start= is not optional — sc is strict about that syntax and will silently fail without it. After this command, warp-svc will not launch at boot. When you open the Cloudflare WARP application it starts the service automatically, so normal use is unaffected. To stop the service manually between sessions:
sc stop warp-svc
To revert to automatic startup at any point:
sc config warp-svc start= auto
That covers on-demand control without touching the app installation.
What WARP Does to Your DNS
When WARP connects, it sets up a local DNS proxy and reconfigures your network adapter to send all DNS queries to 127.0.2.2 and 127.0.2.3. The service then forwards those queries to Cloudflare’s resolvers over an encrypted connection. Run ipconfig /all while connected and you will see those loopback addresses listed under your adapter’s DNS servers.
This matters because the adapter-level change happens as part of normal service startup, not just when you hit connect.
Why Uninstalling Breaks Ethernet but Not Wi-Fi
When you uninstall WARP, the local DNS proxy disappears with it. The adapter DNS settings do not always reset cleanly, leaving them pointed at 127.0.2.3 — an address with nothing listening on the other end. Windows treats Ethernet and Wi-Fi as separate adapters, so one may get cleaned up while the other does not. That asymmetry is exactly what you ran into.
The fix: open Control Panel → Network and Sharing Center → Change adapter settings, right-click your Ethernet adapter, choose Properties, select Internet Protocol Version 4 (TCP/IPv4), and switch DNS to Obtain DNS server address automatically. Check IPv6 as well if it also has a manual entry. After saving, run ipconfig /flushdns from an admin prompt to clear the resolver cache.
Specific Apps Like Discord Still Failing After Resetting DNS
Some apps remain broken even after the DNS adapter fix. WARP’s virtual adapter can leave stale routing table entries or socket registrations that survive the DNS reset. A Winsock reset clears those out. Run the following in sequence from an admin prompt:
netsh winsock reset
netsh int ip reset
ipconfig /release
ipconfig /renew
ipconfig /flushdns
Restart after all five commands. This addresses the most common causes: stale socket state, leftover routes, and a populated DNS cache pointing at an old resolver.
Removing the Leftover Virtual Adapter
WARP installs a virtual network adapter named CloudflareWARP. After uninstalling the app, a ghost entry can remain in Device Manager. To remove it:
- Open Device Manager (
devmgmt.msc) - Click View → Show hidden devices
- Expand Network adapters and find Cloudflare WARP Interface Tunnel
- Right-click it, choose Uninstall device, and tick Attempt to remove the driver for this device before confirming
One More Thing Worth Knowing If You Keep WARP Installed
Even in the disconnected state, warp-svc continues to hold your DNS at 127.0.2.2 and 127.0.2.3. The local proxy is still running — it is just not tunneling traffic to Cloudflare at that moment. Your DNS queries are still going to Cloudflare’s resolvers whether you think you are using WARP or not. If that is not what you want, stop the service with sc stop warp-svc rather than toggling the switch and calling it done.
Sources
- developers.cloudflare.com
- developers.cloudflare.com
- developers.cloudflare.com
- developers.cloudflare.com
- community.cloudflare.com
- community.cloudflare.com
- en.wikipedia.org
- file.net
