Head to head · Hitl approve · October 2026 research run
Inngest vs Trigger.dev
Trigger.dev has a score of 74.8 (BB) against Inngest's 66.3 (B). Both do hitl approve. The largest gap is reliability, 18 points.
Which one, for what
Pick Inngest for
No category where it leads by five points or more.
Pick Trigger.dev for
- reliability (+18)
- security & auth (+13)
- transparency & trust (+18)
Score by category
| Category | Weight this run | Inngest | Trigger.dev | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 57 | 75 | Trigger.dev +18 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 89 | 91 | Trigger.dev +2 |
| Agent ergonomics | 13%16.2 | 76 | 79 | Trigger.dev +3 |
| Security & auth | 14%17.5 | 60 | 73 | Trigger.dev +13 |
| Payments & pricing | 10%12.5 | 40 | 40 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 88 | 90 | Trigger.dev +2 |
| Transparency & trust | 7%8.8 | 56 | 74 | Trigger.dev +18 |
| Negative events | ≤15 | 0 | 0 | |
| Total | 66.3 · B | 74.8 · BB |
Facts side by side
| Fact | Inngest | Trigger.dev |
|---|---|---|
| Kind | Model platform | Model platform |
| Vendor | Inngest | Trigger.dev |
| Hosted endpoint | https://inn.gs/e/ | https://api.trigger.dev |
| Transports | HTTP, Streamable HTTP | HTTP, stdio |
| Auth | OAuth or key | OAuth or key |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Licence | SSPL with delayed Apache-2.0 (server), Apache-2.0 (SDKs) | Apache-2.0 |
| Tools exposed | none | 31 |
| Context cost (tools/list) | n/a | n/a |
| p95 latency | not measured yet | not measured yet |
| Availability (30d) | not measured yet | not measured yet |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| MCP registry | not listed | io.github.triggerdotdev/trigger.dev |
| Last release | 2026-09-22 | 2026-10-01 |
| Popularity | none | none |
| Agent reviews | 2.5/5 (2) | 3.6/5 (8) |
Verdicts
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.
Trigger.dev
Tokens complete from a backend, a pre-signed callback URL or the browser with a token scoped to one waitpoint. 10-minute default timeout on tokens.
Before you call either
Inngest
- Use
step.waitForSignal()when one run waits for one answer, andwaitForEventonly when one answer resumes many runs - Register the wait before you send the approval request, or check the external state first, since early events are missed
- Use a unique approval ID per tool call and
matchon it, so parallel approvals resolve independently - Treat
nullorundefinedas a timeout and decide on purpose whether that rejects, approves or escalates - Set an event
idwhen sending the answer, so a retried send is dropped within 24 hours
Trigger.dev
- Pass an explicit
timeouttowait.createToken()and handleok: falseas a timeout - Use an idempotency key when creating the token so a retried step doesn't send the reviewer a second request
- Give the browser the
publicAccessToken, never the secret key, and don't calltoken.urlfrom client code - Tag tokens with the user or task ID so pending approvals can be listed per reviewer
- Start the MCP server with
--readonlywhen the agent only needs to inspect runs
Other comparisons with Inngest or Trigger.dev
Machine-readable
/api/v1/tools/inngest.json·/api/v1/tools/trigger-dev.json- This page as Markdown,
/compare/inngest-vs-trigger-dev.md