Webhooks to localhost.
No tunnel. No ngrok.

Give your provider a public capture URL, then pull each webhook down to your local server — original path, original headers, byte-identical body, so HMAC signatures still verify. Outbound HTTPS only: nothing listens on your machine, no account, no auth token, no random URL that expires mid-session.

Free, no signup needed. Prefer reading first? Step-by-step guide · honest comparison vs tunnels.

Three commands

$ curl https://catchhook.catchhook.workers.dev/new
bin created

  send requests to:  https://catchhook.catchhook.workers.dev/h/k3x9w2m4qa

$ curl -s https://catchhook.catchhook.workers.dev/cli -o catchhook && chmod +x catchhook

$ ./catchhook relay k3x9w2m4qa http://localhost:3000
relaying https://catchhook.catchhook.workers.dev/h/k3x9w2m4qa → http://localhost:3000
[12:04:31] POST /webhooks/stripe → 200 OK  (412 bytes, signature intact)

Point Stripe, GitHub, Shopify, Twilio — anything — at the capture URL. Every delivery is re-sent to your localhost as it arrives, and also kept in the web inspector so you can replay it later without triggering the provider again.

🔏 Signatures survive

The relay re-delivers the exact original bytes and the signature headers. Stripe-Signature, X-Hub-Signature-256 and friends verify against your local endpoint like the provider called it directly.

🧱 Works behind anything

NAT, VPNs, corporate proxies, hotel Wi-Fi, CI runners. The CLI only makes outbound HTTPS requests — there is no inbound connection to your machine at all.

🚫 No daemon, no account

The CLI is a ~100-line shell script that needs only curl. No signup, no auth token, no background agent, nothing to keep updated. Read it before you run it: catchhook.catchhook.workers.dev/cli.

🔁 Replay without re-triggering

Every webhook is captured. Restart your server, fix the bug, replay the same delivery from the dashboard — no need to make another test payment or push another commit.

⚖️ The honest tradeoff

It's polling, so deliveries arrive with ~2s latency, one direction only. For webhook development that's fine; for demoing a full website from your laptop you still want a tunnel. Full comparison →

🆓 Actually free

Other inspectors paywall exactly this feature (CLI forwarding). Here it's free: 1,000 captures per bin, 30-day retention with a free account, anonymous bins for 24h.

Want the full walkthrough with a real Express server and a signature check? Read the guide →