Static Tunnels
Static tunnels give you a reserved, persistent subdomain for your HTTP tunnel. Instead of a random URL that changes each session, you get a consistent URL like https://my-app.hooklistener.dev.
Paid Feature
Static tunnel slugs require a paid plan. See Plans & Billing for details.
Why use static tunnels?
- Consistent URLs — no need to update webhook configurations each time you restart the tunnel
- Team collaboration — share a stable URL that always points to the developer's machine
- CI/CD integration — use a predictable URL in automated workflows
Managing static tunnel slugs
List slugs
hooklistener static-tunnel list
Output includes slug ID, slug name, display name, and usage quota.
| Flag | Description |
|---|---|
--org | Organization ID override |
Create a slug
hooklistener static-tunnel create my-cool-app --name "Local App"
| Argument | Description |
|---|---|
slug | The subdomain to reserve (required) |
| Flag | Description |
|---|---|
--name | Display name for the slug |
--org | Organization ID override |
Delete a slug
hooklistener static-tunnel delete <slug-id>
| Flag | Description |
|---|---|
--org | Organization ID override |
Using a static tunnel
Once you've created a slug, use it with the tunnel command:
hooklistener tunnel --slug my-cool-app --port 3000
Your tunnel is available at https://my-cool-app.hooklistener.dev.
Managing via the API
You can also manage static tunnels through the REST API. See API: Static Tunnels.