# Hatchet vs withHuman > Hatchet scores 68.3 (B) to withHuman's 51.8 (D) for human approval. Prices, MCP, x402, uptime and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/hatchet-vs-withhuman - Markdown: https://www.anchorterminal.com/compare/hatchet-vs-withhuman.md (~2,300 tokens) - Slim: https://www.anchorterminal.com/compare/hatchet-vs-withhuman.min.md (~630 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/hatchet-vs-withhuman.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-09 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. - Hatchet: grade B, 68.3/100, rank #225 of 950. Markdown https://www.anchorterminal.com/tools/hatchet.md · JSON https://www.anchorterminal.com/api/v1/tools/hatchet.json - withHuman: grade D, 51.8/100, rank #746 of 950. Markdown https://www.anchorterminal.com/tools/withhuman.md · JSON https://www.anchorterminal.com/api/v1/tools/withhuman.json - Best human approval and handoff for AI agents: https://www.anchorterminal.com/best/human-in-the-loop/index.md - All 45 human approval comparisons: https://www.anchorterminal.com/compare/human-in-the-loop/index.md ## 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 | Category | Weight | Hatchet | withHuman | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 66 | 16 | Hatchet +50 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 85 | 81 | Hatchet +4 | | Agent ergonomics | 13% (16.2 this run) | 82 | 74 | Hatchet +8 | | Security & auth | 14% (17.5 this run) | 62 | 73 | withHuman +11 | | Payments & pricing | 10% (12.5 this run) | 40 | 30 | Hatchet +10 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 90 | 49 | Hatchet +41 | | Transparency & trust | 7% (8.8 this run) | 71 | 53 | Hatchet +18 | | Negative events | ≤15 | -2 | -2 | | | **Total** | | **68.3 · B** | **51.8 · D** | | ## Facts side by side | Fact | Hatchet | withHuman | | --- | --- | --- | | Kind | Model platform | HTTP API | | Vendor | Hatchet Technologies, Inc. | Metoro Inc | | Hosted endpoint | `https://cloud.hatchet.run` | `https://app.withhuman.ai` | | Transports | HTTP, stdio | HTTP | | Auth | API key | OAuth or key | | Pricing | Freemium | Freemium | | x402 | no | no | | Licence | MIT | Proprietary 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 exposed | 7 | none | | Read-only variant documented | no | no | | llms.txt | yes | yes | | Last release | 2026-10-08 | 2026-10-08 | | Terms last updated | 2025-07-17 | 2026-09-04 | | Privacy policy last updated | 2026-08-18 | 2026-09-04 | | Customer content may train models | not found in the text | not found in the text | | Terms restrict automated access | not found in the text | not found in the text | | Terms restrict benchmarking | not found in the text | not found in the text | | Terms or service can change without notice | not found in the text | not found in the text | | Arbitration or class-action waiver | not found in the text | not 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 `. 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. ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/hatchet-vs-withhuman.json, and with the fewest tokens: https://www.anchorterminal.com/compare/hatchet-vs-withhuman.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "hatchet", "b": "withhuman"}`. From a terminal: `anchor compare hatchet withhuman` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/hatchet.json and https://www.anchorterminal.com/api/v1/tools/withhuman.json ## Other comparisons with Hatchet or withHuman - [gotoHuman vs Hatchet](https://www.anchorterminal.com/compare/gotohuman-vs-hatchet.md) - [gotoHuman vs withHuman](https://www.anchorterminal.com/compare/gotohuman-vs-withhuman.md) - [Hatchet vs Inngest](https://www.anchorterminal.com/compare/hatchet-vs-inngest.md) - [Hatchet vs Orkes Conductor Human tasks](https://www.anchorterminal.com/compare/hatchet-vs-orkes-conductor.md) - [Hatchet vs Permit MCP Gateway](https://www.anchorterminal.com/compare/hatchet-vs-permit-mcp-gateway.md) - [Hatchet vs Pushary](https://www.anchorterminal.com/compare/hatchet-vs-pushary.md) - [Hatchet vs Restate](https://www.anchorterminal.com/compare/hatchet-vs-restate.md) - [Hatchet vs Temporal](https://www.anchorterminal.com/compare/hatchet-vs-temporal.md) - [Hatchet vs Trigger.dev](https://www.anchorterminal.com/compare/hatchet-vs-trigger-dev.md) - [Inngest vs withHuman](https://www.anchorterminal.com/compare/inngest-vs-withhuman.md) - [Orkes Conductor Human tasks vs withHuman](https://www.anchorterminal.com/compare/orkes-conductor-vs-withhuman.md) - [Permit MCP Gateway vs withHuman](https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-withhuman.md) - [Pushary vs withHuman](https://www.anchorterminal.com/compare/pushary-vs-withhuman.md) - [Restate vs withHuman](https://www.anchorterminal.com/compare/restate-vs-withhuman.md) - [Temporal vs withHuman](https://www.anchorterminal.com/compare/temporal-vs-withhuman.md) - [Trigger.dev vs withHuman](https://www.anchorterminal.com/compare/trigger-dev-vs-withhuman.md)