Errors
Errors have stable codes. The CLI prints them with a link here; pages generated by the edge carry
the code in a menfez-error response header, so scripts can tell them apart from your service’s
own responses:
curl -sI https://nothing-here.menfez.cloud | grep -i menfez-error# menfez-error: tunnel_not_foundErrors visitors see
Section titled “Errors visitors see”Tunnel not found
Section titled “Tunnel not found”tunnel_not_found · HTTP 404
No tunnel is open at this hostname. The tunnel was stopped, its reconnect window ran out, or the
URL is mistyped. Start the tunnel again; random names change between runs, use --subdomain for
a stable one.
Tunnel reconnecting
Section titled “Tunnel reconnecting”tunnel_reconnecting · HTTP 503 · Retry-After: 5
The CLI behind this hostname lost its connection. The edge holds the hostname for 30 seconds
while the CLI reconnects. If this persists, check that menfez is still running and online.
Local unreachable
Section titled “Local unreachable”local_unreachable · HTTP 503
The tunnel is up, but the CLI could not connect to the local service, or the service closed the
connection without answering. Check that your app is running on the address shown next to the
URL; the CLI prints cannot reach <addr> with the reason.
Rate limited
Section titled “Rate limited”rate_limited · HTTP 429
The tunnel is getting more traffic than its limits allow. Retry later.
Tunnel blocked
Section titled “Tunnel blocked”tunnel_blocked · HTTP 410
The tunnel was disabled for violating the terms of service. The CLI exits instead of
reconnecting. Contact abuse@menfez.dev if you think this is a mistake.
Internal
Section titled “Internal”internal · HTTP 500
Something went wrong inside menfez. Retrying usually helps.
Errors the CLI reports
Section titled “Errors the CLI reports”Unauthorized
Section titled “Unauthorized”unauthorized
The token was rejected. Run menfez login <TOKEN> with a valid token, or check MENFEZ_TOKEN
and --token, which override the config file.
Unsupported version
Section titled “Unsupported version”unsupported_version
This version of the CLI speaks a protocol the server no longer accepts. Install the latest version.
Bad request
Section titled “Bad request”bad_request
The server did not understand what the CLI sent. Update the CLI; if it persists, report a bug.
Unsupported tunnel kind
Section titled “Unsupported tunnel kind”unsupported_tunnel_kind
The tunnel kind is not available yet. Only http tunnels are supported today.
Tunnel limit
Section titled “Tunnel limit”tunnel_limit
Too many tunnels in one connection (10). Split them across several menfez processes or close
some.
Subdomain invalid
Section titled “Subdomain invalid”subdomain_invalid
Subdomains must be 3 to 63 characters of lowercase letters, digits and hyphens, must not start or end with a hyphen and must not contain two hyphens in a row.
Subdomain reserved
Section titled “Subdomain reserved”subdomain_reserved
The name is reserved (www, api, admin, status, mail and similar). Pick another one.
Subdomain taken
Section titled “Subdomain taken”subdomain_taken
Someone else is using this subdomain right now. Pick another one, or stop the other tunnel. After a disconnect your own subdomain stays reserved for you for 30 seconds.
Subdomain not allowed
Section titled “Subdomain not allowed”subdomain_not_allowed
Your account cannot choose subdomains. Leave out --subdomain to get a random name.