# Hatchet (slim) > Hatchet is an open-source (MIT) platform for durable tasks, queues and workflows, sold as Hatchet Cloud or self-hosted. A durable task can pause until an event arrives, which is its building block for human approval steps. - Full: https://www.anchorterminal.com/tools/hatchet.md (~7,750 tokens) · this version ~1,780 tokens · JSON https://www.anchorterminal.com/tools/hatchet.json · canonical https://www.anchorterminal.com/tools/hatchet - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-10 **B · 68.3/100 · rank #225 of 950 · #4 in Human approval & handoff · not agent-ready · confidence medium** Assessment: 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. ## Facts - Kind: Model platform · vendor: Hatchet Technologies, Inc. · category: Human approval & handoff · legal entity: Hatchet Technologies, Inc. · provenance 72/100 - Endpoint: `https://cloud.hatchet.run` (HTTP, stdio) - Auth: API key · pricing: Freemium · x402: no · licence: MIT - Probe metrics: not measured yet (probes haven't run) - How the pause works: A durable task calls the event wait with an event key. Hatchet writes a checkpoint, can evict the task from its worker slot, and re-queues it when a matching event arrives - How the answer arrives: An event with the matching key and a JSON payload, pushed from an SDK, `POST /api/v1/tenants/{tenant}/events` or an incoming webhook. The wait returns the payload - Timeouts: None on the event wait itself. Combine a sleep condition and an event condition in one or group, and the first to be satisfied resumes the task - Channels: None built in. The owner sends the request over Slack, email or a web page and pushes the event with the reply - Free tier: $0 without a card, 1 million runs and 1 million events a month, 2,000 runs and 2,000 events a day, 3 users, 1-day retention, per the pricing page - Usage prices: $30 per million runs and $5 per million events after the included amounts. A failed run is billed, retries are not - Limits: Default maximum payload 4 MB. Plan quotas for daily runs, worker slots and queue backlog. No request rate for the REST API was found in the reviewed documentation - MCP server: Local, stdio, inside the Hatchet CLI (`hatchet mcp serve`). Seven tools, deny-by-default profile grants in `~/.hatchet/mcp-grants.yaml`, no tool annotations - Credentials: API tokens per tenant with a configurable expiry, created and revoked in the dashboard or the API. Dashboard sign-in with Google or GitHub, SSO on the enterprise plan - Roles: OWNER, ADMIN, MEMBER and read-only VIEWER, plus a per-member flag that hides payloads. API tokens are not restricted by either - Audit: Audit logs on Business plans and above, 30 days, with actor, action, resource, IP address and time, read through the management API - SDKs: Python `hatchet-sdk` 1.41.1 (24 September 2026), TypeScript `@hatchet-dev/typescript-sdk` 1.36.0, Go in the main module, Ruby 0.9.0 (5 October 2026), all MIT - Regions: Control plane in AWS Oregon. Data plane live in Oregon, N. Virginia and Ireland, Sydney in private beta - Certifications: SOC 2 Type II, HIPAA and GDPR per the docs security page. The trust centre at trust.hatchet.run is script-drawn and was not read - Status: status.hatchet.run on Better Stack, three components (API, Hatchet Cloud, website) - Prices: Task runs after the first 1 million a month $0.03 per 1,000 tool calls; Events after the first 1 million a month $0.005 per 1,000 tool calls; Extra user beyond 50 (card on file) $10 per seat per month - Scores: Reliability 66, Performance pending, Schema & documentation 85, Agent ergonomics 82, Security & auth 62, Payments & pricing 40, Task success pending, Maintenance & community 90, Transparency & trust 71 · negative events -2 · total over the 7 assessed categories - Why: Reliability, Graded as Hatchet Cloud, with the hosted lines. · Schema & documentation, OpenAPI 3.1 file in the repository with 147 operations, and typed inputs on all seven MCP tools (25). · Agent ergonomics, Seven compact MCP tools, and list endpoints with limit and offset (23 of 25). · Security & auth, API tokens per tenant with a configurable expiry, created and revoked through the dashboard or API. · Payments & pricing, No machine payment protocol (0). · Maintenance & community, Platform v0.110.19 tagged on 8 October 2026 (30). · Transparency & trust, MIT (30). - Sources: 16, open questions: 10, both in the full twin - Capabilities: hitl.approve, hitl.ask, agent.durable, automation.workflows, automation.code - JSON: https://www.anchorterminal.com/api/v1/tools/hatchet.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/hatchet.svg` or a link to https://www.anchorterminal.com/tools/hatchet from a page on hatchet.run or one of its subdomains, or the README of github.com/hatchet-dev/hatchet, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 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 ## Connect ```bash pip install hatchet-sdk ``` ```bash hatchet mcp install --target claude-code ``` ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | Temporal | BB | 77.2 | hitl.approve, hitl.ask, agent.durable, automation.workflows, automation.code | https://www.anchorterminal.com/tools/temporal.min.md | | Trigger.dev | BB | 74.7 | hitl.approve, hitl.ask, agent.durable, automation.workflows, automation.code | https://www.anchorterminal.com/tools/trigger-dev.min.md | | Restate | BB | 73.3 | hitl.approve, hitl.ask, agent.durable, automation.workflows, automation.code | https://www.anchorterminal.com/tools/restate.min.md | | Inngest | B | 66 | hitl.approve, hitl.ask, agent.durable, automation.workflows, automation.code | https://www.anchorterminal.com/tools/inngest.min.md | | Orkes Conductor Human tasks | C | 54 | hitl.approve, hitl.ask, agent.durable, automation.workflows | https://www.anchorterminal.com/tools/orkes-conductor.min.md | ## Panel reviews (0, desk reviews from public material, no calls made)