Omnara offers open-source, self-hostable alternative to Claude Managed Agents

Omnara is an open-source managed agent platform, published in the omnara-ai/omnara GitHub repository. Its README opens with a one-line pitch: a self-hostable alternative to Claude Managed Agents and OpenAI's Agents API. The idea is to use an API to run AI agents on any model and any machine, with tools, secrets, permissions and streaming built in. It can be self-hosted for free under Apache 2.0, or used as the hosted Omnara Cloud.
The README's own comparison is plain. Claude Managed Agents and OpenAI's Agents API are described as hosted services for running agents on one company's models; Omnara is said to do the same job as an open-source platform that can run anywhere, with any model. The advice: choose the first two if you use one company's models and want that company to run everything for you; choose Omnara if you want to pick your models and machines, run the platform yourself, or keep agent data in your own database.
The quickstart on Omnara Cloud works like this. After signing in at app.omnara.com, the first project comes with a model provider (omnara-openrouter) and a pool of managed sandboxes (default-pool). An agent.yaml file sets a version, an instruction ("You are an engineering assistant. Use your machine to run commands."), a model (the example uses anthropic/claude-fable-5.1 through omnara-openrouter) and a machine source. The agent is launched with npx omnara agents launch --file agent.yaml, which needs Node.js 22 or newer, and can be chatted with via npx omnara agents chat <agent-id> or watched in the dashboard. The same flow is available from code through the TypeScript SDK (@omnara/sdk), using an API key exported as OMNARA_TOKEN, and through the REST API. There is also a prompt for a coding agent: "Help me set up Omnara by following https://www.omnara.com/SKILL.md".
Self-hosting needs Docker with Compose: clone the repository and run docker compose -f compose.yaml --profile app up -d, then open http://localhost:8000 and sign up. Locally, the verification link is printed in the API container logs, so no email provider is needed. A new instance has no models or machines, so the operator adds a model provider and a model in the console, connects the computer under Machines, and shares both with the project. The CLI is then pointed at the instance with npx omnara config --api-url ... and npx omnara login. The README warns that the local defaults are intentionally insecure and sends real deployments to the self-hosting guide and configuration reference.
Architecture. Four parts do the work. The API is the one REST interface used by an app, the CLI and the dashboard to launch agents, send messages and answer approvals, and events stream back as they happen. Postgres stores every step of every agent; that record is the agent's state, so any worker can pick an agent back up after a crash or restart. Workers are stateless processes that build the model context, call the model and run tools; an agent uses a worker only while taking a turn, so one worker can serve many agents, and adding workers handles more turns at once. Machines each run the omnara daemon, which connects out to Omnara, so agents can run commands there without inbound ports. Omnara also uses Redis, blob storage for attachments and tool outputs, and a memory filesystem.
Features listed in the README: bring-your-own keys for OpenAI, Anthropic, OpenRouter, Amazon Bedrock, LiteLLM, Ollama or any compatible endpoint, including self-hosted models; built-in tools for shell commands, files, web search and fetch, and asking a person a question, plus MCP servers and custom tools; skills (packaged instructions and files an agent loads when needed); memory stores that persist between conversations and can be shared, with read or read-write access per agent; subagents with a fresh context, each a full agent that can be inspected; and durable state. Machines can be any macOS or Linux laptop, VM or container running the daemon, or sandboxes from eleven providers (Arker, Blaxel, boxd, CreateOS, Daytona, E2B, Freestyle, Modal, Superserve, Tenki, Unikraft). An agent can use several machines at once, and if a laptop goes offline it can continue in a sandbox and sync its work back with git.
Other features: cron schedules with time zones that can message an existing agent, launch a new one from a profile, or start a Slack or Discord thread; Slack, Discord and GitHub integrations (on GitHub an agent can start when a pull request opens or someone mentions it, then read the diff, comment and submit reviews); streaming and webhooks; per-tool permissions where each tool can run immediately, ask a person first, or be blocked, enforced by the platform while the agent waits for approval; role-based access control and shared secrets; and multi-tenancy, where one deployment serves many organizations. Self-hosted deployments keep every agent's history in the operator's own Postgres, open to queries for analytics, evals and training datasets.
The repository ships examples, each an agent.yaml plus a SKILL.md in examples/: a Slack coding agent that fixes issues and opens a PR, a PR review agent, an SRE agent for problems such as a 5xx spike, a browser agent for long-running tasks, a PostHog analytics agent that compares yesterday's usage with the 7-day average, Reddit, X and LinkedIn signal agents that summarize the last 24 hours of posts on a topic, and a video generation agent. Code samples cover a CLI chat app, custom tools over webhooks and a SharePoint filesystem mount.
Omnara also exposes an MCP server at https://app.omnara.com/mcp, usable from Claude Code, Codex, Cursor or any MCP client that supports OAuth, and is listed in the official MCP Registry as com.omnara/omnara. On cost, the FAQ says self-hosting costs nothing and Omnara Cloud has no platform fee: users can bring their own model keys and machines for free, or pay as they go for Omnara's models at provider token rates and its sandboxes by active time and retained storage. Any model behind an OpenAI Responses, OpenAI Chat Completions or Anthropic Messages compatible endpoint works, and the API, CLI, SDK and config format are the same on Omnara Cloud and self-hosted setups. Building from source needs the Go version declared in go.mod, Node.js 24 or newer with Corepack, ripgrep and Docker with Compose; make verify runs the fast repository gate.
Key facts
- Omnara is an open-source (Apache 2.0) managed agent platform that its README pitches as a self-hostable alternative to Claude Managed Agents and OpenAI's Agents API.
- Agents run on any model behind an OpenAI Responses, OpenAI Chat Completions or Anthropic Messages compatible endpoint, on laptops, VMs and containers via a daemon, or in sandboxes from eleven providers.
- Every agent step is saved in Postgres, so any stateless worker can resume an agent after a crash or restart; self-hosters keep all agent history in their own database.
- Each tool can be set to run immediately, ask a person first, or be blocked, and the platform enforces the setting.
- Omnara Cloud has no platform fee: bring your own keys and machines for free, or pay provider token rates for models and active time plus retained storage for sandboxes.
Why it matters
Claude Managed Agents and OpenAI's Agents API, as the README describes them, are hosted services tied to one company's models. Omnara offers the same kind of service as open-source software: the operator picks models and machines, runs the platform, and keeps agent history in their own Postgres. For teams wary of lock-in to a single model vendor, that is the pitch. The design also separates state from compute, since all progress lives in Postgres and workers are stateless.
Who it affects
Developers and teams building products on top of AI agents, especially those who want to mix models from OpenAI, Anthropic, OpenRouter, Amazon Bedrock, LiteLLM or Ollama, run self-hosted models, or keep agent data in-house for analytics, evals and training datasets. It also suits teams who want agents inside Slack, Discord or GitHub, and anyone who already works from Claude Code, Codex or Cursor, which can connect through the MCP server.
How to use it
Two routes. On Omnara Cloud, sign in at app.omnara.com, save the sample agent.yaml, and run npx omnara agents launch --file agent.yaml with Node.js 22 or newer; the SDK is npm install @omnara/sdk. To self-host, clone omnara-ai/omnara, run docker compose -f compose.yaml --profile app up -d (Docker with Compose required), open http://localhost:8000, add a model provider and a machine in the console, then point the CLI at the instance with npx omnara config --api-url http://localhost:8000/api/v1 --issuer-url http://localhost:8000 and log in. Licence: Apache 2.0. Cloud pricing: no platform fee, with pay-as-you-go for Omnara's own models and sandboxes. The API, CLI, SDK and config format are the same on both.
How solid is it
Everything here comes from the project's own README, so the positioning against Claude Managed Agents and OpenAI's Agents API is the project's claim, not an independent finding. The README gives no benchmarks, performance numbers, user counts or adoption figures, and makes no feature-parity claim beyond its own positioning. No release date, version number, or named authors or company appear in the visible text. The documentation is detailed on architecture and setup, and ships working examples.
Risks and caveats
The README says the local Docker Compose defaults are intentionally insecure, so a production deployment has to follow the self-hosting guide. A fresh instance has no models or machines until the operator configures them, and sandboxes work only once the instance has a public URL. Concrete Omnara Cloud prices are not stated; only the billing basis is. Running the platform yourself also means operating Postgres, Redis, blob storage and workers, which the README lists as part of the system. The quickstart's example config names the model anthropic/claude-fable-5.1 through the omnara-openrouter provider, so model availability depends on what a given provider offers.
“Choose Omnara if you want to pick your models and machines, run the platform yourself, or keep agent data in your own database.”
— Omnara README