openma

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.

Free
$0/mo
  • $1 one-time trial credit
  • localRuntime unlimited
  • All integrations included
Most popular
Pro
$20/mo
  • $22 credit (10% bonus)
  • ~73 hours cloud sandbox
  • Auto-renewing wallet top-up
Max
$100/mo
  • $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 →

Get started

Self-host: clone the repo, set ANTHROPIC_API_KEY, docker compose up. Hosted: sign in, BYOK, ship.