Skip to content
Troubleshooting

GitHub webhook delivery failed: diagnose and replay

GitHub keeps a Recent Deliveries log with the response your endpoint returned. Read it, fix the handler, and redeliver — or replay the captured event.

Works with GitHub webhook events. GitHub keeps a Recent Deliveries log for every webhook (repo/org/app Settings → Webhooks → your hook → Recent Deliveries). Each entry shows the request GitHub sent and the response your endpoint returned — the fastest place to see what failed.

Read the failed delivery

  • A red mark or a non-2xx response means your endpoint rejected or errored on the event (push, pull_request, workflow_run).
  • 500 — your handler threw; open the Response tab for the body. See webhook 500 errors.
  • Timeout — GitHub expects a response within about ten seconds; a slow handler shows as a failed delivery even though the code “worked.”

Redeliver or replay

Fix the handler, then use GitHub’s Redeliver button to re-send that exact delivery. If the endpoint points at HookWatch, the delivery is also captured there with full request/response and attempt history, so you can replay it — no need to push commits again just to trigger the event. Walk the general flow in how to debug a failed webhook, or see it applied on GitHub webhooks.

Get started

Start debugging your webhooks.

Point one endpoint at HookWatch, capture a failure, and replay it once it’s fixed. Free during beta.