qURL™ vs Microsoft Dev Tunnels
Both can keep an app private. One needs a sign-in on each end.
Microsoft dev tunnels, which power VS Code port forwarding, are private by default: you sign in with GitHub, Microsoft, or Entra ID, access is limited to your account or organization unless you allow anonymous visitors, and visitors see an anti-phishing page first. qURL needs no account on either side, and qurl share prints a link that works once and expires within 24 hours.
Facts checked October 1, 2026 against each vendor’s documentation. Download the data
Microsoft dev tunnels are the service behind VS Code port forwarding and the devtunnel CLI. qURL is a CLI that publishes a local app with no account and hands out one link per recipient.
How qURL and Microsoft Dev Tunnels differ
A dev tunnel gives your port a devtunnels.ms address. Access is limited to your tenant, a GitHub organization, or your own account unless you opt in to anonymous access, and access tokens last 24 hours. Temporary tunnels end when the host disconnects; persistent ones, made with devtunnel create, keep their URL and are deleted after 30 days idle. The service is in public preview with no SLA.
qURL connects out from your machine too, but it gives the app no public address. qurl publish registers the app and prints its CRID, the app’s stable ID; qurl share turns the CRID into an access link for one recipient. Opening the link admits that recipient’s network address for the session; by protocol design, other addresses get no response.
From a running app to a link you can send
qurl publish http://127.0.0.1:3000
qurl share <CRID>devtunnel user login
devtunnel host -p 8080 --allow-anonymousqURL and Microsoft Dev Tunnels, side by side
| Question | qURL CLI | Microsoft dev tunnels |
|---|---|---|
| Account needed before the first URL | No. The first publish creates the device identity our test | Yes: GitHub, Microsoft, or Entra ID learn.microsoft.com |
| What the URL looks like | A qurl.link access link per recipient; the app answers at r_<id>.qurl.site, a name absent from Certificate Transparency logs our test | *.devtunnels.ms; persistent when created with devtunnel create learn.microsoft.com |
| Who can reach it | No one until a link is opened; then the opener’s public IP for that session, including other devices behind that IP layerv.ai | Private by default; anonymous access is opt-in learn.microsoft.com |
| Warning page shown to visitors | None our test | Yes, an anti-phishing page on first visit learn.microsoft.com |
| Visitor access control | Single-use access link by default; link and session lifetimes. IP allow and deny lists and other rules can gate links through the API, not the CLI layerv.ai | Tenant, GitHub organization, or anonymous; 24-hour access tokens learn.microsoft.com |
| Link expiry | Yes. qurl share returned a 24-hour link in our no-account test; no-account links are capped at 24 hours our test | Temporary tunnels end when the host disconnects; persistent tunnels are deleted after 30 days idle; anonymous access can be time-limited learn.microsoft.com |
| Single-use links | Yes, the default for qurl share our test | Not documented learn.microsoft.com |
| Protocols | HTTP(S), WebSocket, SSE; no raw TCP our test | HTTP(S) and WebSocket via the web URL; other TCP via devtunnel connect learn.microsoft.com |
| Free-tier limits | Without an account: up to 3 active resources, with links that last up to 24 hours github.com | 5 GB a month and 10 tunnels per user; 1,500 HTTP requests a minute per port; public preview, no SLA learn.microsoft.com |
Which one to use
Choose qURL to
Share with someone outside your GitHub organization or tenant without asking them to sign in, and without opening the tunnel to anonymous access. Each link works once and expires on its own.
When Microsoft dev tunnels is the better choice
Choose dev tunnels when everyone who needs the app can sign in with the same GitHub or Microsoft account or organization, when you already work in VS Code, or when you need a persistent URL or other TCP ports through devtunnel connect.
Frequently Asked Questions
Is VS Code port forwarding the same as Microsoft dev tunnels?
Yes. VS Code builds port forwarding on Microsoft dev tunnels, with no extension required. Forwarded ports are private by default, and viewers sign in with the same GitHub account that started the forwarding unless you make the port public.
Do dev tunnels need an account?
Yes: hosting a tunnel needs a GitHub, Microsoft, or Entra ID sign-in. The qURL CLI publishes without an account; without one you get up to 3 active resources, with links that last up to 24 hours.
Who can open a qURL link?
Whoever holds it, once: with no flags, qurl share prints a single-use link. Opening it admits the network address it was opened from for the session, which lasts 1 hour by default for an app published from the CLI. Other devices on the same public IP address, such as an office or café network, can reach the app until the session ends, so keep your app’s own sign-in for anything sensitive. By default a link admits whoever opens it; access rules set through the API, such as IP allow and deny lists, can restrict that.
Can my coding agent share my app with qURL?
Yes. Give Claude Code, Cursor, or Windsurf the qURL skill (https://layerv.ai/skills/qurl/SKILL.md) and ask it to share the app: it installs the qurl CLI, publishes the app privately, and gives you an address to send. The agent applies the private access rules you choose. For named recipients, give it their email addresses so it can send invitations. Recipients verify their email in the browser and save a passkey; they never send you their email verification code. The agent checks policy support before sharing and keeps the app private if the deployment cannot support it. For one person right away, ask it for a one-time link instead. Codex starts with network access off, so save the skill file for it first.
Share your app without an account
Paste one prompt into your coding agent, or install the qURL CLI and publish the app yourself. No sign-up, no API key.
New to qURL? Start at qurl.link