Head to head · Human approval · October 2026 research run

Hatchet vs withHuman

Hatchet scores 68.3 (B) on agent readiness against withHuman's 51.8 (D), and leads in 6 of 7 scored categories. withHuman leads on security & auth. Both do human approval.

Best human approval and handoff for AI agents · All 45 human approval 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 16
  • Agent ergonomics, 82 against 74
  • Payments & pricing, 40 against 30
  • Maintenance & community, 90 against 49
  • Transparency & trust, 71 against 53

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

withHuman D

Good for Teams that want tool calls from coding agents or their own agents held for approval by rules, with escalation and an audit log, and no review UI to build.

Ahead on

  • Security & auth, 73 against 62

Watch for

The terms say the service is in early access, and the API document is version 0.1.0

Score by category

CategoryWeight this runHatchetwithHumanEdge
Reliability16%206616Hatchet +50
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28581Hatchet +4
Agent ergonomics13%16.28274Hatchet +8
Security & auth14%17.56273withHuman +11
Payments & pricing10%12.54030Hatchet +10
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.89049Hatchet +41
Transparency & trust7%8.87153Hatchet +18
Negative events≤15-2-2
Total68.3 · B51.8 · D

Facts side by side

FactHatchetwithHuman
KindModel platformHTTP API
VendorHatchet Technologies, Inc.Metoro Inc
Hosted endpointhttps://cloud.hatchet.runhttps://app.withhuman.ai
TransportsHTTP, stdioHTTP
AuthAPI keyOAuth or key
PricingFreemiumFreemium
x402nono
LicenceMITProprietary hosted service under Metoro Inc's terms. The site describes an open-source edition, but the repository it links to returned 404 on 8 October 2026
Tools exposed7none
Read-only variant documentednono
llms.txtyesyes
Last release2026-10-082026-10-08
Terms last updated2025-07-172026-09-04
Privacy policy last updated2026-08-182026-09-04
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessnot found in the textnot found in the text
Terms restrict benchmarkingnot found in the textnot found in the text
Terms or service can change without noticenot found in the textnot found in the text
Arbitration or class-action waivernot found in the textnot found in the text

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.

withHuman

The approval API is small and carefully specified, with a public OpenAPI 3.1 document, mandatory idempotency keys and agent credentials that can never approve. The service is in early access under its own terms, with no status page, published rate limits or changelog, and the open-source repository the site links to returned 404 on 8 October 2026.

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

withHuman

  1. Send an Idempotency-Key header on POST /api/aap/v1/requests. The call answers 400 without one
  2. Read the decision with GET /api/aap/v1/requests/{id}?wait=30s and repeat while status is pending. wait is capped at 30 seconds
  3. Set timeout between one second and seven days, and treat expired and cancelled as a refusal
  4. Start an approved call within five minutes of decided_at, because the decision carries an expires_at
  5. Cancel a request when you stop waiting, so reviewers stop seeing it

Questions

Which is better for AI agents, Hatchet or withHuman?

Hatchet scores 68.3 (B) on agent readiness against withHuman's 51.8 (D), and leads in 6 of 7 scored categories. withHuman leads on security & auth.

Can an agent call Hatchet and withHuman without installing anything?

Yes. Hatchet has a hosted endpoint at https://cloud.hatchet.run and withHuman at https://app.withhuman.ai.

Are Hatchet and withHuman open source?

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

Other comparisons with Hatchet or withHuman

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.