Show HN: Omnara – Open-source alternative to Claude Managed Agents
Omnara is an open-source, self-hostable managed agent platform, an alternative to Claude Managed Agents and OpenAI's Agents API. It runs agents on any model (OpenAI, Anthropic, OpenRouter, Bedrock, LiteLLM, Ollama) and any machine, with Postgres-backed durable state, stateless workers, per-tool permissions, MCP, skills, memory, subagents, schedules and Slack, Discord and GitHub triggers. It ships a REST API, TypeScript SDK, CLI and Docker Compose setup.
What it claims
Omnara is an Apache 2.0 managed agent platform with the same API, CLI, SDK and config format on self-hosted deployments and the hosted Omnara Cloud. Self-hosting is free. Omnara Cloud has no platform fee: bring-your-own model keys and machines are free, and Omnara's own models are billed at provider token rates, with sandboxes billed by active time and retained storage. Any model behind an OpenAI Responses, OpenAI Chat Completions or Anthropic Messages compatible endpoint works.
How it works
Every agent step is written to Postgres as an event log, and that log is the agent's state. Workers are stateless: they build model context, call the model and run tools, and hold an agent only during a turn, so any worker can resume an agent after a crash. Scaling means adding workers. The platform also needs Redis, blob storage for attachments and tool outputs, and a memory filesystem.
Machines run the omnarad daemon on macOS or Linux. The daemon connects out to Omnara, so no inbound ports or SSH keys are needed. Managed sandboxes come from eleven providers: Arker, Blaxel, boxd, CreateOS, Daytona, E2B, Freestyle, Modal, Superserve, Tenki and Unikraft. An agent can use several machines at once and move between them. If a laptop goes offline, the agent can continue in a sandbox and sync its work back with git.
Each tool can be set to run immediately, ask a person first, or be blocked. The platform enforces this, and the agent waits for approval. Memory stores grant read or read-write access per agent. Subagents are full, inspectable agents. Deployments are multi-tenant across organizations.
How to use it
Self-host with Docker Compose:
git clone https://github.com/omnara-ai/omnara.git
cd omnara
docker compose -f compose.yaml --profile app up -dSign up at http://localhost:8000. The email verification link is printed in docker compose logs api. A new instance has no models or machines: add a provider, a model and a machine in the console, and share them with the project. Then point the CLI (Node.js 22 or newer) at it:
npx omnara config --api-url http://localhost:8000/api/v1 --issuer-url http://localhost:8000
npx omnara login
npx omnara agents launch --file agent.yaml \
--name "Machine assistant" \
--message "Report this machine's operating system and free disk space."An agent.yaml has version, instruction, model (provider_config, name) and machine_sources (machine_pool_name on Cloud, machine_name for a connected machine). The TypeScript SDK (@omnara/sdk) exposes createAgentConfig, createAgent and openAgentEventStream, scoped by org and project ID. The REST API is defined in api/openapi/openapi.yaml. A hosted MCP server is at https://app.omnara.com/mcp with OAuth sign-in:
claude mcp add --transport http omnara https://app.omnara.com/mcpThe examples/ directory holds agent configs for a Slack coding agent, PR review, SRE investigation, browser tasks, PostHog analytics, social-signal summaries and video generation. Building from source needs the Go version in go.mod, Node.js 24 or newer with Corepack, ripgrep and Docker. make verify runs the fast test gate.
Limits
The local Compose defaults are stated to be intentionally insecure. Production needs the separate self-hosting guide and configuration reference. Sandboxes on a self-hosted instance work only once it has a public URL. The omnarad daemon is documented for macOS and Linux only. The only SDK is TypeScript. The page gives no performance or scale figures.
Organisations named here
- Omnara
- Anthropic
- OpenAI
- OpenRouter
- Amazon Bedrock
- PostHog
- Claude Code
- Cursor
- GitHub
- LiteLLM
- Model Context Protocol
- Ollama
- Slack
Technologies named here
- anthropic/claude-fable-5.1
- Omnara
- Omnara CLI
- @omnara/sdk
- Omnara REST API
- Omnara MCP server
- omnarad
- Postgres
- Redis
- Docker Compose
- setup-omnara-agent skill
- Claude Managed Agents
- OpenAI Agents API
- OpenRouter
- LiteLLM
- Ollama
- Amazon Bedrock
- Sandbox providers
- Claude Code
- Codex
- Cursor
- Model Context Protocol
- TypeScript
- Node.js
- Docker
- PostgreSQL
- Slack
- GitHub
- OpenAI API
- Claude Fable 5.1
- Go
- OAuth
Techniques named here
- Durable agent state
- Per-tool permissions
- Skills
- Memory stores
- Subagents
- Machine failover with git sync
Related in agents



