When is Groundhog the better fit?
When you’ve hit the Dev Tunnels 5 GB monthly cap, when webhook or OAuth callbacks break because the address changed, or when visitors are confused by a warning page. Groundhog also suits teams that want a shared dashboard showing each tunnel’s live requests, headers and bodies.
When is Dev Tunnels the better fit?
When you rely on port forwarding built into Visual Studio or VS Code, when you want access limited to your Microsoft Entra tenant or GitHub organization, or when your traffic stays well under 5 GB a month and the address rarely matters. Groundhog forwards HTTP and WebSocket traffic only; it doesn’t carry other TCP protocols.
What are Groundhog’s limits?
There’s no monthly data or request cap. To keep the shared service fair, each workspace can store 50 tunnels and start 6,000 requests a minute, each tunnel can have 200 requests in progress, request bodies can be up to 100 MB, and your app has 100 seconds to start a response. Capacity is best effort.
The Groundhog CLI needs the .NET 10 SDK. With .NET Aspire, the NuGet package connects from your AppHost instead.
How does ngrok’s free plan compare?
ngrok’s free plan includes 1 GB of data and 20,000 HTTP requests a month and one assigned domain you can’t change. Browser visitors see a warning page first. ngrok’s paid plans raise these limits, starting at $10 a month.
Move your app from Dev Tunnels to Groundhog
Groundhog has no monthly data cap. Its limits apply per minute and to requests in progress instead: for example, 6,000 new requests a minute per workspace and 200 requests in progress per tunnel, with request bodies up to 100 MB (Dev Tunnels allows 16 MB). See every limit.
The command that replaces devtunnel host -p 5000 is groundhog host my-tunnel --port 5000.
- Sign in and create a free workspace.
- Create a tunnel named, for example, my-tunnel, and copy its connection key. Names are unique across Groundhog, so pick your own.
- Install the CLI, which needs the .NET 10 SDK:
Install Groundhog
Shelldotnet tool install --global Groundhog.Cli --version 0.4.0-preview.7 - Enter the key privately in your terminal. Then, with your app running on port 5000, connect it, using your app’s real port:
Connect your local app
Shellgroundhog host my-tunnel --port 5000Your app is now at
https://my-tunnel.groundhog.unifinity.com, and that address stays the same each time you connect. - Replace the old Dev Tunnels address with the new one in your OAuth and webhook settings, then send one test sign-in or delivery.
Using .NET Aspire? Connect from your AppHost instead.
Sources
- Microsoft Dev Tunnels limits
- Microsoft on paying for more Dev Tunnels bandwidth, March 2026
- Microsoft Dev Tunnels FAQ
- Dev Tunnels anti-phishing page and access
- ngrok free plan limits
Sources reviewed . Provider behavior and limits can change.