Webhook testing from your terminal. Capture, inspect, replay, and export webhook requests with provider-aware detection and SQLite-backed persistence.
go install github.com/divinedev111/hookshot@latesthookshot listen :8080 # start capturing webhooks
hookshot history # list captured events
hookshot inspect 1 # view full event details
hookshot replay 1 --to localhost:3000 # replay to your app
hookshot export 1 --as curl # get a runnable curl commandStart a webhook capture server.
hookshot listen :8080
hookshot listen :8080 --forward localhost:3000/webhooks
hookshot listen :8080 --jsonCaptures every incoming request, pretty-prints it live, and stores it in SQLite. Use --forward to proxy each request to your local app and see response statuses. Use --json for structured JSON line output.
List captured webhook events.
hookshot history
hookshot history --provider stripe --limit 10
hookshot history --jsonShow full details of a captured event including headers, body, and forward response.
hookshot inspect 1
hookshot inspect 1 --jsonReplay a captured request to any URL with the original headers and body.
hookshot replay 1 --to localhost:3000/webhooks
hookshot replay 1 --to https://staging.example.com/hooks --jsonExport a captured request as an executable command.
hookshot export 1 --as curlhookshot auto-detects webhook providers from request headers:
| Provider | Detection Header | Event Type Source |
|---|---|---|
| Stripe | Stripe-Signature |
type field in JSON body |
| GitHub | X-Github-Event |
Header value |
| Shopify | X-Shopify-Hmac-Sha256 |
X-Shopify-Topic header |
| Slack | X-Slack-Signature |
type field in JSON body |
| Discord | X-Signature-Ed25519 |
type field in JSON body |
| Twilio | X-Twilio-Signature |
EventType form field |
Unrecognized providers show as [unknown].
- Single binary -- no runtime dependencies, no Docker, no cloud accounts
- Provider-aware -- auto-detects Stripe, GitHub, Shopify, Slack, Discord, Twilio
- Persistent -- SQLite storage means your webhook history survives restarts
- Replay -- resend any captured webhook to any URL with one command
- Export -- get runnable curl commands for any captured event
- Forward mode -- proxy webhooks to your local app while capturing them
Compared to webhook.site (cloud-only), ngrok (tunnel-focused), or Stripe CLI (single-provider), hookshot gives you a local-first, provider-agnostic tool for webhook development.
MIT