| summary | read_when | |
|---|---|---|
Common setup/runtime issues (CLI + backend) and fixes. |
|
- Ensure your browser can reach
http://127.0.0.1:<port>/callback(local firewalls/VPNs can interfere). - Use headless mode:
- create a token in the web UI (Settings → API tokens)
clawhub login --token clh_...
- Token missing or revoked: check your config file (
CLAWHUB_CONFIG_PATHoverride?). - Ensure requests include
Authorization: Bearer ...(CLI does this automatically).
- Read headers in the response:
Retry-After= wait seconds before retryRateLimit-Remaining+RateLimit-Limit= current budgetRateLimit-Reset(orX-RateLimit-Reset) = reset timing
- The CLI now includes retry hints in 429 errors (retry delay + remaining budget).
- If many users share one egress IP (NAT/proxy), IP limit can be hit even with valid tokens.
- For non-Cloudflare deploys behind trusted proxies, set
TRUST_FORWARDED_IPS=trueso forwarded client IPs can be used.
If your system requires an HTTP proxy for outbound connections (e.g. corporate firewalls, Docker containers with proxy-only internet, Hetzner VPS), the CLI will fail with:
✖ fetch failed
Error: fetch failed
Fix: Set the standard proxy environment variables:
export HTTPS_PROXY=http://proxy.example.com:3128
clawhub search "my query"The CLI respects HTTPS_PROXY, HTTP_PROXY, https_proxy, and http_proxy.
- Set
OPENAI_API_KEYin the Convex environment (not only locally). - Re-run
bunx convex dev/bunx convex deployafter setting env.
- This is the GitHub account-age gate lookup hitting unauthenticated limits.
- Set
GITHUB_TOKENin Convex environment to use authenticated GitHub API limits. - Retry publish after a short wait if the limit was already exhausted.
synclooks for folders containingSKILL.md(orskill.md).- It scans:
- workdir first
- then fallback roots (legacy
~/clawdis/skills,~/clawdbot/skills, etc.)
- Provide explicit roots:
clawhub sync --root /path/to/skills- Your local files don’t match any published fingerprint.
- Options:
- keep local edits; skip updating
- overwrite:
clawhub update <slug> --force - publish as fork: copy to new folder/slug then
clawhub publish ... --fork-of upstream@version
- Check
vercel.jsonrewrite destination points at your Convex site URL. - Ensure
VITE_CONVEX_SITE_URLandCONVEX_SITE_URLmatch your deployment.
- Ensure GitHub Actions secrets exist for the repo:
CONVEX_DEPLOY_KEYVERCEL_TOKEN- Optional:
PLAYWRIGHT_AUTH_STORAGE_STATE_JSON
- If the optional Playwright auth secret is missing, authenticated smoke canaries will skip; deploy should still proceed.