Skip to main content

managed-agent-go

managed-agent-go is an independent, Apache-2.0-licensed agent runtime written in Go. It persists server-owned sessions, delegates inference to a Messages API endpoint, executes tools in replaceable sandboxes, and exposes a Claude Managed Agents-compatible HTTP surface.

Experimental project

This is a pre-release implementation of a documented API subset, not an Anthropic product or a drop-in replacement. Check Claude API coverage before depending on a capability, and do not treat the default local sandbox as a security boundary.

Start here

  • Getting started starts the complete Docker stack and completes a first Session turn.
  • Claude API coverage is the exact supported/unsupported behavior matrix.
  • Architecture overview explains why PostgreSQL owns public state, Temporal owns in-flight execution, and NATS carries only ephemeral delivery.
  • Sandbox backends shows what is available today, the security boundary of each backend, and the ordered path toward remote execution.
  • Domain model describes agents, environments, Sessions, events, and Workflow turns.
  • API overview lists the implemented endpoints and transport conventions.
  • Roadmap tracks the remaining compatibility and production hardening work on the durable multi-process architecture.

Current architecture

The default deployment has separate API and worker roles:

  • PostgreSQL is authoritative for resources, public events, projections, admission, and the tool journal.
  • Temporal durably runs one Session Workflow and replay-safe model/tool Activities.
  • NATS Core carries best-effort previews and persisted-event wakeups; streams repair missed wakeups from PostgreSQL sequence cursors.

The local Compose stack runs the complete architecture with a deterministic offline model and needs no credentials.

Current capability boundary

The primary path supports Agent, Environment, Session, and Event resources; messages and untargeted interrupts; cursor pagination and SSE; a multi-round model loop; durable custom-tool and always_ask waits; six always_allow built-ins; local and Docker sandboxes; and opt-in assistant text previews.

The remaining infrastructure closure work is autonomous recovery for interrupted session deletion, sandbox orphan reconciliation, and repeatable black-box conformance for the PostgreSQL/Temporal path. MCP execution, files/skills/memory/vaults, multi-agent orchestration, remote self-hosted workers, schedules, and webhooks remain future product work.

The runtime is the product; Claude API compatibility is an integration surface. Public behavior is derived from official documentation and tested through raw HTTP plus the official Go SDK, while the internal implementation is original.