Reference
Look up a diagnostic code
Look up a Tunnel Doctor code to see what it means, who can fix it and what to try.
- Applies to
- All plans
- Time
- About 1 minute to look up a code
- What it changes
- None. This page is a reference; it changes nothing.
- Last reviewed
- , by Product documentation
How to use this page
Every finding Tunnel Doctor reports has a stable code. The tables below are generated from the same list Tunnel Doctor uses, so they match what you see in the dashboard. Quote the code and the diagnostic ID when you contact support.
Address lookup (DNS)
| Code | Who fixes it | What to do |
|---|---|---|
| DNS_OK | Nothing to fix | This layer passed. |
| DNS_NO_RECORD | InstaWormhole | Tunnel addresses are covered by InstaWormhole's DNS, so there is nothing to change on your side. Run the check again in a few minutes. If it continues, contact support with the diagnostic ID. |
| DNS_WRONG_TARGET | InstaWormhole | The address does not point at the InstaWormhole edge. There is nothing to change on your side. If it continues, contact support with the diagnostic ID. |
| DNS_LOOKUP_FAILED | InstaWormhole | The lookup from the InstaWormhole edge did not finish, so this layer could not be checked. Run the check again in a minute. |
Secure connection (TLS)
| Code | Who fixes it | What to do |
|---|---|---|
| TLS_OK | Nothing to fix | This layer passed. |
| TLS_EXPIRING | InstaWormhole | The certificate renews automatically and visitors are not affected yet. If it continues, contact support with the diagnostic ID. |
| TLS_INVALID | InstaWormhole | Visitors will see a certificate warning. Do not ask them to ignore it. If it continues, contact support with the diagnostic ID. |
| TLS_HANDSHAKE_FAILED | InstaWormhole | The secure connection to the edge failed. Run the check again in a minute. If it continues, contact support with the diagnostic ID. |
| EDGE_UNREACHABLE | InstaWormhole | The InstaWormhole edge did not accept a connection. Run the check again in a minute. If it continues, contact support with the diagnostic ID. |
Tunnel state
| Code | Who fixes it | What to do |
|---|---|---|
| ROUTE_ACTIVE | Nothing to fix | This layer passed. |
| ROUTE_PAUSED | You | Resume the tunnel on this page, then start the connector again with the command under Connect an app. |
| ROUTE_STOPPED | You | Resume the tunnel on this page, then start the connector again with the command under Connect an app. |
| ROUTE_EXPIRED | You | An expired tunnel cannot be switched on again. Create a new tunnel and connect your app to it. |
| ROUTE_BLOCKED | InstaWormhole | This address was disabled for violating the Acceptable Use Policy. If you think this is a mistake, write to support@instawormhole.com with the tunnel address. |
| ROUTE_TRANSFER_LIMIT | You | This workspace has used its plan's monthly transfer allowance (5 GB on Free). Tunnels serve again on the 1st of next month (UTC). |
| ROUTE_NOT_SERVED | You | Stop the connector on your computer (Ctrl+C) and start it again with the command under Connect an app. If this persists, contact support with the diagnostic ID. |
Connector
| Code | Who fixes it | What to do |
|---|---|---|
| CONNECTOR_CONNECTED | Nothing to fix | This layer passed. |
| CONNECTOR_OFFLINE | You | Start the connector on the computer running your app with the command under Connect an app. If it is running, look at its output for an error. |
| CONNECTOR_UNAVAILABLE | You | The connector is recorded as connected but did not take the request. Restart it (Ctrl+C, then the command under Connect an app). |
Access protection
| Code | Who fixes it | What to do |
|---|---|---|
| ACCESS_PUBLIC | Nothing to fix | This layer passed. |
| ACCESS_CHALLENGE | Nothing to fix | This layer passed. |
| ACCESS_LIMITED | Nothing to fix | Too many wrong passwords were tried from the InstaWormhole edge. The limit lifts after a minute; run the check again then. |
| ACCESS_UNAVAILABLE | InstaWormhole | The edge could not apply this tunnel's access rule, so it refuses visitors rather than letting them in. Run the check again in a minute. If it continues, contact support with the diagnostic ID. |
| ACCESS_NOT_ENFORCED | InstaWormhole | A request without the password reached your app. Pause the tunnel now, then contact support with the diagnostic ID. |
Your app
| Code | Who fixes it | What to do |
|---|---|---|
| ORIGIN_OK | Nothing to fix | This layer passed. |
| ORIGIN_UNREACHABLE | You | Make sure your app is running, and that the --origin address in the connector command matches the port it listens on (for example 127.0.0.1:3000). |
| ORIGIN_SLOW | You | Your app accepted the request but did not answer within 15 seconds. Check whether it is busy or stuck, and that the start page answers quickly. |
| ORIGIN_NO_RESPONSE | You | Your app closed the connection without sending a response. Check your app's logs for a crash or an error on GET /. |
Request through the public address
| Code | Who fixes it | What to do |
|---|---|---|
| REQUEST_OK | Nothing to fix | This layer passed. |
| REQUEST_APP_ERROR | You | The tunnel works; your app itself answered GET / with a server error. Check your app's logs for the request with the diagnostic ID header. |
| REQUEST_PROTECTED | Nothing to fix | The checker does not know the password, so it cannot see past the prompt. Open the address yourself and sign in to confirm your app answers. |
| REQUEST_RATE_LIMITED | You | The tunnel is getting more requests a minute than its plan allows (120 on Free), so the relay turned this check away. Run the check again in a minute; if real visitors see this too, reduce automated traffic to the address. |
| REQUEST_FAILED | Nothing to fix | See the first layer marked as failing above; fixing it usually fixes this. |
| REQUEST_VITE_HOST_BLOCKED | You | Add the tunnel's address to server.allowedHosts in vite.config.js (shown below), then restart the dev server. |
| REQUEST_VITE_PREVIEW_HOST_BLOCKED | You | Add the tunnel's address to preview.allowedHosts in vite.config.js (shown below), then restart vite preview. |
| REQUEST_NEXT_DEV_ORIGIN_BLOCKED | You | Add the tunnel's address to allowedDevOrigins in next.config.js (shown below), then restart next dev. |
| REQUEST_VITE_HMR_UNREACHABLE | You | Point Vite's live reload at the tunnel: port 443 over wss (shown below), then restart the dev server. In Vite 8 the same keys sit under server.ws. |
Custom domain checks
| Code | Status | What to do |
|---|---|---|
| DOMAIN_ACTIVE | pass | The domain is active. |
| DOMAIN_CHECK_FAILING | warning | Put the missing record back at your DNS provider. The domain stays online if the next checks find it. |
| DOMAIN_WAITING | unknown | Nothing to do yet. Run the check again in a few minutes. |
| DOMAIN_RECORDS_MISSING | warning | Create the missing record at your DNS provider, exactly as shown under Custom domain. DNS changes can take up to an hour to show. |
| DOMAIN_FAILED | fail | Fix the records at your DNS provider, then choose Check again under Custom domain. |
| DOMAIN_DETACHED_DNS | fail | Restore the records at your DNS provider, then choose Check again under Custom domain. |
| DOMAIN_DETACHED_PLAN | fail | Upgrade under Usage & billing, or remove another custom domain, then choose Check again. |
| DOMAIN_DISABLED | fail | This domain was disabled under the Acceptable Use Policy. If you think this is a mistake, write to support@instawormhole.com. |
Related
This page is part of Diagnose and fix. Still stuck? Contact support.