
Hatchet
Orchestration engine for background tasks, AI agents and durable workflows
About Hatchet
Hatchet is an orchestration engine for the work that happens outside a request cycle: background tasks, scheduled jobs, multi-step workflows and AI agents that need to survive a process restart. You write tasks as ordinary functions in TypeScript, Python or Go, and Hatchet takes responsibility for queueing them, retrying them, enforcing concurrency and rate limits, and recording every state transition so a run that failed can be inspected or replayed rather than guessed at. The problem it addresses is a familiar one: a cron table, a queue, and a pile of hand-rolled retry logic that works right up until a worker dies halfway through a job and nobody can say what actually ran.
The architecture is worth understanding before comparing Hatchet to anything else. There are two pieces. The orchestration engine is either self-hosted or run for you as Hatchet Cloud. Your workers always run on your own infrastructure, on Kubernetes, Docker, ECS, Cloud Run, Porter or Railway, so your code and your data stay in your cloud either way. The engine is MIT licensed and running it locally is a single CLI command, which makes the open source path a real one rather than a demo. Hatchet publishes migration guides from Temporal and Celery, a reasonable signal of what it is actually competing with. The cloud is metered rather than per-seat: a million runs and a million events are free every month, then a published per-million rate, and SOC 2 Type II applies to every plan including the free one.
You write tasks as plain functions using the native SDK for TypeScript, Python or Go, and compose them into workflows when one step depends on another. Tasks are invoked from your API, scheduled for a specific time, put on a cron, or triggered by an event or an incoming webhook. The engine queues the work and pushes it to your workers, which you deploy on any container platform and which connect back to Hatchet automatically. Each task retries on failure according to the policy you set, and the full history of every task and state transition is kept, so a failure can be opened in the web UI, read as a trace, and replayed by hand. Observability is built in rather than bolted on: a real-time searchable UI, an OpenTelemetry collector that forwards traces and spans to whatever stack you already run, Prometheus metrics, and application logs with full-text search.
- •Durable Execution on Postgres - Every task and state transition is persisted, so work survives a worker crash or a deploy and can be replayed afterwards instead of reconstructed from logs.
- •Three Native SDKs - TypeScript, Python and Go, each written to be idiomatic in that language rather than a thin wrapper over one shared client.
- •Workflows, DAGs and Conditions - Tasks compose into directed graphs with complex conditions, so multi-step pipelines are declared rather than orchestrated by hand.
- •Scheduling Controls at Scale - Priorities, rate limits, fair scheduling, concurrency keys and worker slots, which is the set of controls that stops one noisy tenant starving everyone else.
- •Built-In Observability - A real-time searchable run history, an OpenTelemetry collector, Prometheus metrics and searchable application logs, rather than a separate monitoring product.
- •MIT Licensed and Self-Hostable - The whole engine runs locally from one CLI command, on Kubernetes, Docker or any container platform, with cloud and bring-your-own-cloud as options rather than requirements.
Hatchet suits teams who have outgrown a cron table and a queue library and now need to answer questions about what ran, why it failed and whether it can be re-run. It is a good fit for Python and TypeScript teams building AI agents that make long chains of tool calls, where a dropped step is expensive and a silent failure is worse, and for anyone running data ingestion pipelines who needs fairness and priority controls rather than a single FIFO. Teams migrating off Temporal or Celery are an explicit target, and the migration guides exist for that reason.
It is less obviously for you if what you need is an agent framework. Hatchet orchestrates work, and agents are one kind of work it orchestrates; a great deal of what it does is background jobs and cron replacement, so anyone arriving expecting prompt handling, tool definitions or memory will find a durable execution engine instead. Small projects with a handful of background jobs will also find a queue library simpler. The headline figures on Hatchet's homepage for tasks run daily and active projects are animated counters the company reports about itself, and are not independently verified.
Pricing
Usage based, no flat monthly plan
- Pay-as-you-go (no card)$0/mo
- Pay-as-you-go (card on file)$0/mo
- CustomContact sales
From the vendor pricing page, 2026-10-09













