Skip to content
ResolveLabs Tunnel

Persistent URLs

Reserve a subdomain in your account and use --subdomain to keep the same public URL across restarts.

2 min read

Without a reserved subdomain, each tunnel gets a random URL such as dev-xyz.t.resolvelabs.com.br, which changes every time you restart. With a reserved subdomain, the CLI uses it for you (it asks which one if you have several). Use --random-url to get a random one anyway.

Reserve a subdomain

Log in to your dashboard and reserve the name you want. Then pass it with --subdomain:

terminal
rl-tunnel http 3000 --subdomain my-app
output
Forwarding:       https://my-app.t.resolvelabs.com.br -> http://localhost:3000

The URL stays the same every time you run the command, until you release the name.

Why it matters

  • Webhook URLs in Stripe, GitHub or Twilio never need to be updated.
  • OAuth redirect URIs and CORS allowlists stay valid.
  • Teammates, QA and clients keep the same bookmark.
  • Mobile apps can keep a stable dev API URL.

Naming rules

  • Lowercase letters, numbers and hyphens, 1 to 63 characters, with no hyphen at the start or end (for example acme-api-dev).
  • Prefer names tied to the project, not the person, so the URL outlives the laptop.
  • A name is reserved by one account. If it is taken, the dashboard tells you right away.
  • Names such as www, api, admin and docs are reserved by the system.

Running the same name twice

If another session of your own account uses the same subdomain, the new one takes over and the older one is closed (it won't reconnect and fight for the name). Another account can never take it.

Several services

Give each service its own subdomain, ideally in a config file, and start them together with rl-tunnel start --all.