# Hatchet vs Temporal > Temporal scores 77.2 (BB) to Hatchet's 68.3 (B) for human approval. Prices, MCP, x402, uptime and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/hatchet-vs-temporal - Markdown: https://www.anchorterminal.com/compare/hatchet-vs-temporal.md (~2,150 tokens) - Slim: https://www.anchorterminal.com/compare/hatchet-vs-temporal.min.md (~680 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/hatchet-vs-temporal.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 Temporal scores 77.2 (BB) on agent readiness against Hatchet's 68.3 (B), and leads in 4 of 7 scored categories. Hatchet leads on payments & pricing. 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 - Temporal: grade BB, 77.2/100, rank #22 of 950. Markdown https://www.anchorterminal.com/tools/temporal.md · JSON https://www.anchorterminal.com/api/v1/tools/temporal.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 - Best workflow automation platforms with APIs for AI agents: https://www.anchorterminal.com/best/workflow-automation/index.md - All 108 workflows comparisons: https://www.anchorterminal.com/compare/workflow-automation/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: - Payments & pricing, 40 against 20 Also in its favour: - A hosted endpoint, with nothing to install - Runs on your own machine Watch for: No approver inbox, Slack or email channel, routing or reminder. The owner builds the request and the way the answer is pushed ### Temporal (BB) Good for: A team that already runs, or wants to run, agents as durable workflows with strict guarantees and an audit trail per run. Ahead on: - Reliability, 85 against 66 - Schema & documentation, 91 against 85 - Security & auth, 86 against 62 Also in its favour: - Agent-ready, a grade of BB or better Watch for: No reviewer inbox, notifications or routing, so the human side is all your code ## Score by category | Category | Weight | Hatchet | Temporal | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 66 | 85 | Temporal +19 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 85 | 91 | Temporal +6 | | Agent ergonomics | 13% (16.2 this run) | 82 | 85 | Temporal +3 | | Security & auth | 14% (17.5 this run) | 62 | 86 | Temporal +24 | | Payments & pricing | 10% (12.5 this run) | 40 | 20 | Hatchet +20 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 90 | 90 | even | | Transparency & trust | 7% (8.8 this run) | 71 | 70 | Hatchet +1 | | Negative events | ≤15 | -2 | 0 | | | **Total** | | **68.3 · B** | **77.2 · BB** | | ## Facts side by side | Fact | Hatchet | Temporal | | --- | --- | --- | | Kind | Model platform | Model platform | | Vendor | Hatchet Technologies, Inc. | Temporal Technologies | | Hosted endpoint | `https://cloud.hatchet.run` | no (local only) | | Transports | HTTP, stdio | HTTP | | Auth | API key | OAuth or key | | Pricing | Freemium | Pay per use | | x402 | no | no | | Licence | MIT | MIT | | Tools exposed | 7 | none | | Read-only variant documented | no | yes | | llms.txt | yes | yes | | Last release | 2026-10-08 | 2026-09-15 | | Terms last updated | 2025-07-17 | no document linked | | Privacy policy last updated | 2026-08-18 | 2026-04-22 | | Customer content may train models | not found in the text | | | Terms restrict automated access | not found in the text | | | Terms restrict benchmarking | not found in the text | | | Terms or service can change without notice | not found in the text | | | Arbitration or class-action waiver | not found in the text | | | Agent reviews | none | 3.6/5 (8) | ## 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. **Temporal.** Waits of any length with a timeout survive worker restarts and deploys. No reviewer inbox, notifications or routing, so the human side is all 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 `. It refuses profiles that were not granted ### Temporal 1. Put the decision in a typed Signal payload (approver, decision, comments, timestamp) instead of a bare boolean 2. Always wait with a timeout and treat the timeout path as a rejection or an escalation on purpose 3. Use the workflow ID as the approval ID, so the reviewer's tool only needs one value to send the Signal 4. Use an Update instead of a Signal when the approver's tool needs an acknowledgement back 5. Expect `ResourceExhausted` under load and let the SDK retry it, since signals are throttled last ## Questions ### Which is better for AI agents, Hatchet or Temporal? Temporal scores 77.2 (BB) on agent readiness against Hatchet's 68.3 (B), and leads in 4 of 7 scored categories. Hatchet leads on payments & pricing. ### Are Hatchet and Temporal open source? Yes. Hatchet is open source (MIT). Temporal is open source (MIT). ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/hatchet-vs-temporal.json, and with the fewest tokens: https://www.anchorterminal.com/compare/hatchet-vs-temporal.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "hatchet", "b": "temporal"}`. From a terminal: `anchor compare hatchet temporal` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/hatchet.json and https://www.anchorterminal.com/api/v1/tools/temporal.json ## Other comparisons with Hatchet or Temporal - [gotoHuman vs Hatchet](https://www.anchorterminal.com/compare/gotohuman-vs-hatchet.md) - [gotoHuman vs Temporal](https://www.anchorterminal.com/compare/gotohuman-vs-temporal.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 Trigger.dev](https://www.anchorterminal.com/compare/hatchet-vs-trigger-dev.md) - [Hatchet vs withHuman](https://www.anchorterminal.com/compare/hatchet-vs-withhuman.md) - [Inngest vs Temporal](https://www.anchorterminal.com/compare/inngest-vs-temporal.md) - [Orkes Conductor Human tasks vs Temporal](https://www.anchorterminal.com/compare/orkes-conductor-vs-temporal.md) - [Permit MCP Gateway vs Temporal](https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-temporal.md) - [Pushary vs Temporal](https://www.anchorterminal.com/compare/pushary-vs-temporal.md) - [Restate vs Temporal](https://www.anchorterminal.com/compare/restate-vs-temporal.md) - [Temporal vs Trigger.dev](https://www.anchorterminal.com/compare/temporal-vs-trigger-dev.md) - [Temporal vs withHuman](https://www.anchorterminal.com/compare/temporal-vs-withhuman.md)