Skip to content
openma

Apache 2.0 · Cloudflare-native · Self-hostable

The open-source Claude Managed Agents alternative Run Claude agents yourself — on Cloudflare or with docker compose up

A wire-compatible, self-hostable agent platform: durable sessions, sandboxed code execution, vault-backed credentials, MCP server hosting, and Claude Code skills — 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 the Claude Managed Agents API — 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/openma-ai/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 the Claude Managed Agents API

We track the public surface of the Claude 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. The hosted Claude Managed Agents 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.

Claude Tag open-source and self-hosted

Build the open-source foundation for Claude Tag-style agents

Open Managed Agents already has the runtime primitives behind a Claude Tag-style experience: channel publication, durable sessions, MCP and private tools, vault-backed credentials, memory stores, sandboxed work, and BYOK model cards.

Open-source runtime

Inspect, fork, and extend the agent runtime behind a Claude Tag-style product.

Self-hosted deployment

Run on Cloudflare Workers, Docker, or Node with your own data boundary.

MCP and private tools

Expose GitHub, Linear, browser, shell, and internal APIs to the agent.

BYOK model cards

Use Anthropic, OpenAI, OpenRouter, or a private model gateway.

Open Managed Agents vs Claude Managed Agents

Both run a managed agent loop on your behalf. The difference is who owns the runtime, the data, and the bill.

Feature Open Managed Agents Claude 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.