Introduction
FixedHook gives every project a permanent webhook URL, a live event inspector, replay tools, and a CLI tunnel for local development.
FixedHook is a webhook ingress and debugging platform for developers. It gives your project a permanent, stable alias URL (your-name.fixedhook.com) that you register once in your webhook providers, and a tunnel that connects that URL to whatever server is running locally or in production.
When your tunnel restarts, when you switch from your laptop to a preview environment, or when you move from local dev to a real server, the alias URL never changes. Your providers keep pointing at the same address.
Installation, the core mental model (aliases, tunnels, events, replay), a full CLI reference, and troubleshooting guides. The docs cover what is built and shipping today.
The one-line pitch
One permanent webhook URL. Inspect events, replay failures, and move from local dev to production without changing provider settings.
Why it exists
Every developer who works with webhooks has done this dance:
- Run
cloudflaredorngrok— get a new random URL. - Open the Stripe dashboard — paste the URL.
- Open GitHub webhook settings — paste the URL.
- Open Shopify partners — paste the URL.
- Repeat the next time the tunnel restarts.
FixedHook removes that loop. You register one alias URL in your providers, and you run a tunnel from your terminal that reattaches to it every time.
What you get
- Stable aliases — register
myapp.fixedhook.comin Stripe, GitHub, or any provider once, and keep it forever. - CLI tunnel —
fixedhook up --port 3000connects your local server to the alias via a WebSocket tunnel. - Project config —
webhooks.yamlkeeps aliases, subdomains, and ports in your repo so the whole team runs the same setup. - Delivery settings — keep providers pointed at one FixedHook URL and switch delivery between your local CLI tunnel and a deployed HTTPS webhook endpoint.
- Live event stream — see every webhook in real time: provider, route, status, latency, payload size, attempts.
- Inspector — open any event to see the full request, response headers, and body.
- Replay — re-deliver the original payload and headers to your active tunnel, with a new attempt record.
- Share links — send a single event to a teammate or customer so they can inspect it without an account.
- Trial mode — try FixedHook without signing up. Get a 12-hour alias and a CLI session token.
How it fits together
Stripe (always points to myapp.fixedhook.com)
↓
myapp.fixedhook.com ← permanent alias, never changes
↓
FixedHook relay ← routing, inspect, replay, queue
↓
Delivery target ← local CLI tunnel or deployed HTTPS URL
↓
localhost:3000 / production endpointThe alias is the permanent ingress. The tunnel session underneath it is ephemeral — it can come and go without your providers noticing.
Where to go next
Install the CLI and create your first alias in under two minutes.
Send your first webhook end to end: alias, tunnel, request, inspect.
Aliases, tunnels, events, replay, and sharing — the mental model.
Every command, flag, and config option for the fixedhook CLI.