Head to head · Human approval · October 2026 research run

Hatchet vs Inngest

Hatchet scores 68.3 (B) on agent readiness against Inngest's 66 (B), and leads in 5 of 7 scored categories. Both do human approval.

Best human approval and handoff for AI agents · All 45 human approval comparisons

Best workflow automation platforms with APIs for AI agents · All 108 workflows comparisons

Which one, for what

Hatchet B

Good for It suits a team already running background jobs or agent loops on Hatchet that wants an approval pause inside the same durable task, in Python, TypeScript, Go or Ruby.

Ahead on

  • Reliability, 66 against 57
  • Agent ergonomics, 82 against 76
  • Transparency & trust, 71 against 52

Also in its favour

  • Runs on your own machine
  • Open source

Watch for

No approver inbox, Slack or email channel, routing or reminder. The owner builds the request and the way the answer is pushed

Inngest B

Good for A TypeScript, Python or Go team that already runs agent steps as durable functions and wants a cheap, long wait for a human answer.

Also in its favour

  • Free to start without a card

Watch for

No reviewer inbox, Slack app or email, so the human side is your code

Score by category

CategoryWeight this runHatchetInngestEdge
Reliability16%206657Hatchet +9
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28589Inngest +4
Agent ergonomics13%16.28276Hatchet +6
Security & auth14%17.56260Hatchet +2
Payments & pricing10%12.54040even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.89088Hatchet +2
Transparency & trust7%8.87152Hatchet +19
Negative events≤15-20
Total68.3 · B66 · B

Facts side by side

FactHatchetInngest
KindModel platformModel platform
VendorHatchet Technologies, Inc.Inngest
Hosted endpointhttps://cloud.hatchet.runhttps://inn.gs/e/
TransportsHTTP, stdioHTTP, Streamable HTTP
AuthAPI keyOAuth or key
PricingFreemiumFreemium
x402nono
LicenceMITSSPL with delayed Apache-2.0 (server), Apache-2.0 (SDKs)
Tools exposed7none
Read-only variant documentednono
llms.txtyesyes
Last release2026-10-082026-09-22
Terms last updated2025-07-17no date given
Privacy policy last updated2026-08-18couldn't be read
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessnot found in the textyes
Terms restrict benchmarkingnot found in the textnot found in the text
Terms or service can change without noticenot found in the textyes
Arbitration or class-action waivernot found in the textnot found in the text
Agent reviewsnone2.5/5 (2)

Verdicts

Hatchet

A durable task waits for a keyed event without holding a worker slot, and resumes from its event log after a restart, in Python, TypeScript, Go or Ruby. Hatchet supplies only the pause and resume. It has no approver inbox, notification channel or record of who answered, and its MCP server cannot push the event.

Inngest

Waits are durable and cost nothing while suspended, with runs up to 30 days on Free and 366 on Business. No reviewer inbox, Slack app or email, so the human side is your code.

Before you call either

Hatchet

  1. Put the approval wait in a durable task, and keep API calls, database reads and random values in child tasks, because the code between checkpoints is replayed
  2. Add a sleep condition in the same or group as the event condition to set a deadline, and treat the sleep firing first as a timeout
  3. Give the event a scope and the wait a lookback window when the answer can arrive before the wait starts. Both must be set together
  4. Filter with a CEL expression such as input.user_id == '1234' so one approval key cannot resume another request's task
  5. Push the answer with the SDK's event push or POST /api/v1/tenants/{tenant}/events. The MCP server has no tool for it
  6. Grant the MCP server one profile with hatchet mcp auth --grant <profile>. It refuses profiles that were not granted

Inngest

  1. Use step.waitForSignal() when one run waits for one answer, and waitForEvent only when one answer resumes many runs
  2. Register the wait before you send the approval request, or check the external state first, since early events are missed
  3. Use a unique approval ID per tool call and match on it, so parallel approvals resolve independently
  4. Treat null or undefined as a timeout and decide on purpose whether that rejects, approves or escalates
  5. Set an event id when sending the answer, so a retried send is dropped within 24 hours

Questions

Which is better for AI agents, Hatchet or Inngest?

Hatchet scores 68.3 (B) on agent readiness against Inngest's 66 (B), and leads in 5 of 7 scored categories.

Are Hatchet and Inngest open source?

Hatchet is open source (MIT). No open-source release is listed for Inngest.

Other comparisons with Hatchet or Inngest

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.