Skip to content
openma

Apache 2.0 · Cloudflare-native · Self-hostable

Run Claude and OpenAI agents on your own server Use the SDKs you know. Keep control of where your agents run.

OpenMA handles sessions, tools and crash recovery. Connect your own model keys, give agents access to your files and services, and deploy on your infrastructure. Open source, under the Apache 2.0 license.

Self-host: docker compose up. Hosted: free $1 trial credit, BYOK for LLM spend.

Connect your SDK

Why Open Managed Agents

Give your agents a place to work, remember their conversations, and recover when a process stops. You choose the models and where your data lives.

Claude and OpenAI SDKs

Keep using the Claude or OpenAI SDK in your application. Point it at your OpenMA server to create agents, start conversations and get results. OpenAI Agents API is currently available on Node.

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

Choose a model and tell your agent what to do. OpenMA gives it tools and a workspace, saves its progress, and lets you continue the conversation. Use the built-in agent loop or bring your own.

┌────────────────────────────────────┐
│  Your agent                       │
│  instructions, model, tools       │
├────────────────────────────────────┤
│  OpenMA                           │
│  sessions, files, recovery        │
├────────────────────────────────────┤
│  Your infrastructure              │
│  Docker or Cloudflare             │
└────────────────────────────────────┘

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"}'

Connect the SDK you already use

OpenMA supports Claude Managed Agents and OpenAI Agents API. Start with a deployment, add your model key, and connect your application. Here's an OpenAI SDK example for a local Node server:

Use the API key and model you configured in OpenMA:

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.OPENMA_API_KEY,
  baseURL: "http://localhost:8787/openai/v1",
});

const session = await client.beta.agents.sessions.create({
  agent: { model: "your-configured-model" },
  environment: { type: "none" },
  input: "Hello",
});

Let an agent hand off subtasks to other agents that share its files. Each child keeps its own conversation, and you can follow up or stop it. Children cannot create further children.

OpenAI Agents API currently requires a Node deployment. Advanced environment and plugin settings are not yet supported. Check supported features before migrating.

Read the OpenAI Agents API announcement, follow the SDK setup guide, or get started with Claude Managed Agents.

Choose where your agents run

Run OpenMA on Cloudflare if you want managed infrastructure, or use Docker on your own server. Either way, you control your model keys, data and agent configuration.

Start locally with SQLite, or connect Postgres and S3 for your deployment. Choose a sandbox provider for code execution, including LiteBox, E2B, Daytona or BoxRun.

Both deployments support Claude Managed Agents. Choose the Node deployment for OpenAI Agents API support. Follow 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.