Skip to content
← butverify.dev

Troubleshooting

If you hit something that isn’t here, email support@butverify.dev with the request ID the CLI printed. Remote API errors include a request_id in their envelopes.

bv push appears to hang after printing a 127.0.0.1 URL

Cause: local mode is working. Fresh installs default to local mode, and bv push keeps serving the filtered bundle until you interrupt the process.

Fix: open the printed URL in a browser for same-machine review. Press Ctrl-C when you are done, or run bv push --mode remote <dir> after bv login when you need a shareable butverify.dev URL.

A local preview URL stops working

Cause: local URLs exist only while the bv process is running. They also work only on the same machine that ran the command.

Fix: run bv push <dir> again for a new local URL, or use bv push --mode remote <dir> for a private URL other people can open.

bv login fails with auth_required or 401

Cause: the installation token you supplied is invalid, expired, or belongs to a GitHub App installation that no longer exists.

Fix: open app.butverify.dev, copy a fresh installation token from the dashboard, and re-run bv login --token <token>.

Remote bv push fails with auth_required

Cause: remote mode needs a valid installation token, and the token in ~/.config/butverify/config.json expired between runs. Local mode does not require auth.

Fix: grab a fresh token from the dashboard and re-run bv login, or switch back to local previews with bv logout or bv mode local.

Remote bv push fails with quota_exceeded

Cause: you’ve hit a tier limit (sites, storage, or rate). Local previews do not consume remote site quota.

Fix: the response includes current, limit, and upgrade_url. Either delete sites (bv rm <site-id>) or upgrade.

Remote bv push returns success but the URL 404s

Cause: the edge KV mirror is still propagating (typically <2 seconds).

Fix: wait a beat; if it persists past 30 seconds, you’ve hit a bug — file an issue with the request ID.

A dotfile is missing from a local preview

Cause: local mode serves the same filtered publish bundle as remote mode. Dotfiles, .git/, and node_modules/ are skipped by default.

Fix: pass --include-hidden if the hidden file is intentionally part of the artifact.

”TLS handshake failed” / network errors in CI

Cause: corporate proxies or VPNs that intercept TLS.

Fix: set HTTPS_PROXY if your environment uses one. The CLI honors the standard HTTPS_PROXY/HTTP_PROXY/NO_PROXY environment variables that Go’s net/http reads.

Permission denied opening a remote site URL

Cause: the GitHub identity Cloudflare Access verified isn’t on the site’s access list.

Fix: the site owner grants access via the dashboard. Make sure you’re signed into the right GitHub account in your browser.

Remote sites unexpectedly disappear

Cause: free tier retention is 30 days from last remote push.

Fix: pin the site (bv pin <site-id>) or upgrade. Pinned sites never expire automatically.

Stripe redirect loops on /billing

Cause: stale dashboard cookie after a tenant was changed externally.

Fix: sign out via app.butverify.dev user menu, sign back in.

Where to find my request ID

Remote API errors include a request_id field in their error envelope. The CLI prints it whenever it surfaces a server error. Local-mode usage errors may not have a request ID because they never reached the API.

Status & incidents

Check status.butverify.dev for current service status. Subscribe via RSS or email from the status page.