Skip to content

Mango


Open-source Claude Managed Agents runtime, built for durable self-hosting.

Mango is an independent implementation of the core Claude Managed Agents API in Go. It runs agent sessions on your infrastructure with PostgreSQL-backed state, Temporal-powered execution, and pluggable sandboxes.

Why Mango

  • Compatible: use the supported API through raw HTTP or the official Anthropic Go SDK with a different base URL.
  • Durable: accepted work, interrupts, tool orchestration, and client-action waits survive process failures.
  • Pluggable: run tools in local, Docker, E2B, CubeSandbox, OpenSandbox, or Daytona sandboxes.
  • Observable: persist the event history and stream results over SSE.

Quick start

Requirements: Docker with Compose.

make local-up
make local-health
curl http://localhost:8080/readyz

No credentials are required. The local stack runs PostgreSQL, Temporal, NATS, the API, and a worker with a deterministic offline model.

Follow the five-minute walkthrough to create an Environment, Agent, and Session and send the first message.

make local-down

How it works

flowchart LR
  Client --> API["Managed Agents API"]
  API --> PG[("PostgreSQL")]
  PG -- "durable outbox" --> Worker
  Worker <--> Temporal
  Worker --> Model["Messages API"]
  Worker --> Sandbox
  Worker -. "live previews" .-> NATS
  NATS -.-> API
Loading

PostgreSQL owns public state and event history. Temporal owns in-flight execution. NATS carries only ephemeral wakeups and previews. A lost signal, worker restart, or NATS outage cannot discard accepted work.

This separation is consistent with the architecture Anthropic describes for Managed Agents and Cursor's published lessons on durable cloud agents. These are non-normative references, not endorsements or compatibility evidence.

Read the architecture overview for the failure model, transactional outbox, tool journal, interrupt ordering, and sandbox lifecycle.

Current scope

Important

Alpha. Mango implements a documented subset of the API and is not an Anthropic product or a drop-in production service. Check the compatibility matrix before depending on a capability. The default local sandbox is not a security boundary.

Area Status
Agents, Environments, Sessions Core lifecycle implemented
Events Messages, interrupts, custom-tool results, confirmations, pagination, and SSE
Runtime Multi-round model/tool loop with durable park and resume
Tools bash, read, write, edit, glob, and grep
Sandboxes Local and Docker available; E2B, CubeSandbox, OpenSandbox, and Daytona in Preview

MCP execution, files, skills, memory, vaults, multi-agent orchestration, schedules, and webhooks are not implemented. See Claude API coverage for exact behavior and the roadmap for planned work.

Next steps

Development

make verify
make docs-check
make image-smoke

Default tests are offline. PostgreSQL, Temporal, NATS, Docker, and remote sandbox integrations have opt-in suites. See deployments/local and CONTRIBUTING.md.

Report vulnerabilities through SECURITY.md.

License

Apache License 2.0. See LICENSE.

About

Open-source implementation of the core Claude Managed Agents API in Go, with Temporal-backed durable sessions and pluggable sandboxes.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages