Apache 2.0 · Cloudflare-native · Self-hostable
Open Managed Agents
Open-source alternative to Anthropic's Managed Agents.
A drop-in compatible agent platform you can run yourself. Sessions, sandboxes, tools, memory, vaults, and crash recovery — all served from Cloudflare Workers + Durable Objects, or a Docker container on your own box. Same API surface as the proprietary version, with the source code and the runtime under your control.
Self-host: docker compose up. Hosted: free
$1 trial credit, BYOK for LLM spend.
Why Open Managed Agents
The same shape of platform you'd get from a closed vendor — sessions, sandboxes, tool dispatch, crash recovery, billing — but every layer is inspectable, swappable, and yours to fork.
Drop-in compatible
The HTTP API mirrors Anthropic's Managed Agents — same
/v1/agents,
/v1/sessions, same event-stream
shape. Migrate by swapping the base URL.
Self-host on Cloudflare
Workers + Durable Objects + Containers + R2. One wrangler deploy,
no servers to patch. Or run the Node + Postgres flavor on your own
VPS if you can't be on Cloudflare.
Apache 2.0
Permissive license. Fork it, ship it inside your product, run a private fleet — no per-seat fee, no usage tax. The hosted service at openma.dev is one deployment of the same code.
How it works
A meta-harness — the platform that runs your agent loop. You write the brain (read events, build context, call the model). The platform manages the infrastructure (sandbox, event log, tools, crash recovery).
┌────────────────────────────────────┐
│ Harness — your code │
│ reads events, calls the model │
├────────────────────────────────────┤
│ Meta-harness (SessionDO) │
│ sandbox, event log, tools, vaults │
├────────────────────────────────────┤
│ Cloudflare │
│ Workers + DO + Containers + R2 │
└────────────────────────────────────┘ Five-line quickstart. No SDK, no Cloudflare account needed for local dev — Docker spins up a fully working stack.
git clone https://github.com/open-ma/open-managed-agents
cd open-managed-agents && cp .env.example .env
# Set ANTHROPIC_API_KEY in .env, then:
docker compose up -d
curl localhost:8787/v1/agents -d '{"name":"hello", \
"model":"claude-sonnet-4-6"}' Drop-in compatible with Anthropic's Managed Agents API
We track the public surface of Anthropic's Managed Agents API one-to-one.
Resources, request shapes, response shapes, the SSE event stream — all
the same. If your client code already speaks Managed Agents, point it at
https://openma.dev (hosted) or
http://localhost:8787 (self-host)
and it works.
What you get on top: every resource definition, every state-machine transition, every retry rule is in source code you can read. No black box. When something behaves unexpectedly, you can see why and fix it — and your fix can ship as a PR.
Where the open implementation goes further: the harness layer is explicit and replaceable. Anthropic's hosted version owns the agent loop; here you can write your own. We ship a sensible default harness, and you swap in custom context engineering, caching, compaction, or tool-delivery logic without touching the platform. Read more in the technical comparison.
Built on Cloudflare Workers + Durable Objects
Cloudflare's primitives map almost too cleanly onto an agent platform.
Each session needs strong consistency and a long-lived event log:
Durable Objects with embedded SQLite. Each agent step needs a real
Linux sandbox with a writable filesystem: Cloudflare Containers. Tool
outputs and workspace snapshots need durable blob storage: R2.
Configuration and per-tenant state: KV and D1. One wrangler deploy
and the whole platform is up — there are no servers to patch, no Kafka
to operate, no Redis to scale.
The architecture is intentionally Cloudflare-default, not
Cloudflare-only. packages/services is a
backend abstraction layer: every store (agents, sessions, vaults,
memory) has a cf adapter (D1) and a
pg adapter (Postgres). Choice is per-store
via env var, so you can move one store at a time. The same pattern
applies to sandboxes — LocalSubprocess, LiteBox, E2B, Daytona, BoxRun
all swap in for the Cloudflare Sandbox without touching harness or
routes.
For self-hosters who can't run Cloudflare at all (data residency,
existing AWS investment, compliance), the Node + Postgres + S3
deployment is a first-class target. docker compose up
is the canonical local dev path, and the same Docker image runs in
production. Same API surface, same Console, same event-log semantics.
Walk through the deep dive in
the self-host guide.
Open Managed Agents vs Anthropic Managed Agents
Both run a managed agent loop on your behalf. The difference is who owns the runtime, the data, and the bill.
| Open Managed Agents | Anthropic Managed Agents | |
|---|---|---|
| License | Apache 2.0 — fork, embed, commercial use | Proprietary, closed source |
| Where it runs | Your Cloudflare account, your VPS, or our hosted | Anthropic-managed only |
| Data residency | You pick the region (Cloudflare or your DC) | Anthropic's chosen regions |
| LLM key | BYOK — Anthropic, OpenAI, OpenRouter, your own gateway | Anthropic only, no BYOK |
| Pricing model | Sandbox compute only, no token markup; self-host is free | Token + platform fees bundled |
| Custom harness | Yes — write your own loop, swap caching/compaction | No — vendor-defined loop |
| Sandbox runtime | Cloudflare Containers, LocalSubprocess, E2B, Daytona, BoxRun | Anthropic-managed sandbox |
| API surface | /v1/agents, /v1/sessions — drop-in compatible | Same shape (we mirror it) |
Comparison is structural — feature parity is an explicit roadmap item; see the repo for the current matrix, or the migration guide for the practical steps.
Hosted pricing (optional)
Self-host is free forever. The hosted service at openma.dev is for teams who'd rather not run the infra themselves. BYOK for the LLM — we only charge for sandbox compute.
- $1 one-time trial credit
- localRuntime unlimited
- All integrations included
- $22 credit (10% bonus)
- ~73 hours cloud sandbox
- Auto-renewing wallet top-up
- $120 credit (20% bonus)
- ~400 hours cloud sandbox
- Priority email support
Self-host always remains free. Hosted is one packaging of the same Apache 2.0 codebase.
From the blog
All posts →The Architecture of Open Managed Agents: Durable Objects, R2, and the Brain/Sandbox Split
How Open Managed Agents is structured under the hood. Durable Objects with embedded SQLite as the per-session log, Cloudflare Containers as the sandbox, R2 for blobs, and the deliberate split between the brain (harness) and the body (sandbox).
Migrating from Anthropic Managed Agents to Open Managed Agents
Practical migration guide. What stays the same, what changes, and the exact steps to switch your client code, sessions, vaults, and integrations to the open-source platform.
How to Self-Host an Agent Platform on Cloudflare Workers
End-to-end guide to deploying Open Managed Agents on Cloudflare. Workers + Durable Objects + Containers + R2. Wrangler config, secrets, custom domains, and what to do when each piece breaks.
Get started
Self-host: clone the repo, set ANTHROPIC_API_KEY,
docker compose up. Hosted: sign in, BYOK, ship.