Skip to guide

Dev Tunnels bandwidth limit or 429 error: what it means and how to keep working

Ran out of Dev Tunnels bandwidth, or getting 429 errors?

Dev Tunnels gives each user 5 GB of data a month, with no paid option for more. It also limits each user to 10 tunnels and each port to 1,500 requests a minute, and a 429 error doesn’t say which limit you hit. Old tunnels and fast requests have fixes you can apply now; used-up data waits for the monthly reset unless you move to another service.

Error text this guide covers

  • Rate limit exceeded (429). Too many requests in a given amount of time.
  • Rate limit exceeded. Please wait about a minute and try again.

Which Dev Tunnels limit did I hit?

Microsoft sets separate monthly Dev Tunnels limits: 5 GB of data per user, 10 tunnels per user, 10 ports per tunnel, 1,000 active connections per port and 1,500 HTTP requests a minute per port. Both 429 messages above can appear when any of them is reached; neither names the limit.

If the error appears when you start hosting, check your tunnel count first. In one public report, old tunnels had used up the 10-tunnel limit: devtunnel list showed them, and deleting them fixed the error. Delete only tunnels you no longer need; a deleted tunnel’s address is gone for good.

If requests to a connected tunnel fail, slow them down: polling, automatic retries and dev-server live reload can all add up. Slowing down helps with a per-minute limit; it doesn’t give back data you’ve already used this month.

How much bandwidth does Dev Tunnels allow?

5 GB per user, reset monthly. The allowance belongs to your account, so creating another tunnel doesn’t add more. Microsoft doesn’t sell more: in March 2026 it told users asking to pay for extra bandwidth that it doesn’t offer this and has no near-term plans to.

How do I keep working until it resets?

Cut traffic you don’t need. Front-end polling, automatic retries, repeated large downloads and big test payloads all count against the allowance.

If you need to keep testing at full speed before the reset, move the app to another service. The steps for Groundhog are below and take a few minutes.

What happens to my registered callback address?

Some teams stay on Dev Tunnels because an OAuth app or Teams bot is registered against a fixed tunnel address, as in one public request for more bandwidth listed in the sources. Keeping the address doesn’t restore the allowance.

Any new address, from Dev Tunnels or another service, must be registered again with your identity or webhook provider; providers don’t follow you automatically. Then send one test sign-in or delivery to confirm it arrives.

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.

  1. Sign in and create a free workspace.
  2. Create a tunnel named, for example, my-tunnel, and copy its connection key. Names are unique across Groundhog, so pick your own.
  3. Install the CLI, which needs the .NET 10 SDK:

    Install Groundhog

    Shell
    dotnet tool install --global Groundhog.Cli --version 0.4.0-preview.7
  4. 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

    Shell
    groundhog host my-tunnel --port 5000

    Your app is now at https://my-tunnel.groundhog.unifinity.com, and that address stays the same each time you connect.

  5. 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

Sources reviewed . Provider behavior and limits can change.