Show HN: Omnara – Open-source alternative to Claude Managed Agents
TL;DR Highlight
Open-source managed agent platform runs agents on any model and machine, self-hostable
Who Should Read
Backend developers who want to host agents as a service without locking into one vendor's models and cloud
Core Mechanics
- Pick any model and machine
- It works with OpenAI, Anthropic, OpenRouter, Bedrock, LiteLLM, Ollama and other compatible endpoints.
- Agents run commands on laptops, VMs, containers, or sandboxes from eleven providers.
- Every step is saved in Postgres
- Each agent step is stored as an event log.
- That log is the state, so any worker can resume after a crash or restart.
- Workers are stateless
- Workers build the model context and call the model and tools.
- An agent only uses a worker during a turn, so one worker serves many agents.
- Per-tool run, ask, or block
- The platform enforces the setting.
- Calls that need approval wait until a person approves or denies.
- Machines connect with no inbound ports
- The omnarad daemon on each machine connects out to Omnara.
- No open ports or SSH keys are needed.
- Pricing and data policy differ from Claude Managed Agents
- The README table lists Claude Managed Agents at Claude token rates plus $0.08 per active session-hour.
- Omnara is free to self-host and keeps history in your own Postgres.
Community Reactions
- Self-hosted agent setup experience
- One commenter runs Hermes with a swarm of pi.dev agents on a big machine and calls them from GitHub issues via a bot to create PRs.
- They said it feels like running a dev team that communicates through issues.
- Durable agents are not new, one view
- A commenter said it extends event-driven architecture and can be built with Lambda Durable Functions or Step Functions.
- They argued you don't need to learn a new harness.
- Questions about the worker pool design
- A commenter asked why the loop needs a worker pool when the machines running commands are the likely bottleneck.
- Others asked about context caching and whether roles like team lead or tester exist.
- Differentiation and naming feedback
- One commenter said there are so many orchestrators and harnesses that projects are hard to tell apart.
- Another suggested allow/deny/ask instead of the always-prefixed permission names.
How to Apply
- Launch an agent from one agent.yaml
- Sign up at app.omnara.com today and save the README agent.yaml.
- Run npx omnara agents launch and ask for the machine's OS and free disk space.
- Self-host locally with Docker Compose
- Clone the repo and run docker compose --profile app up -d.
- Add a model provider and machine in the console and share them with your project.
- Put approval policies on risky tools
- Set shell and file-write tools to ask a person first.
- Leave only safe read tools on run immediately.
- Use agent history as eval data
- When self-hosting, query the agent event log in Postgres.
- Build analytics data or eval sets from it.
Try It
# Paste into a terminal (Node.js 22+, Omnara Cloud account required)
cat > agent.yaml <<'EOF'
version: v1
instruction: |
You are an engineering assistant. Use your machine to run commands.
model:
provider_config: omnara-openrouter
name: anthropic/claude-fable-5.1
machine_sources:
- machine_pool_name: default-pool
EOF
npx omnara agents launch --file agent.yaml \
--name "Machine assistant" \
--message "Report this machine's operating system and free disk space."
# Next: chat in your terminal with npx omnara agents chat <agent-id>Terminology
Related Papers
OpenShell – A safe, private runtime for fleets of autonomous AI agents
OpenShell uses policy files to control agent file, network, and credential access at kernel level.
Rust off Rails: The opinionated web stack for the AI era
Sixty Markdown files tell coding agents how to build a Rust web app, with no framework code.
LayerFS: The filesystem for AI coding agents
Mount an ephemeral workspace per agent, commit only the changes
Launch HN: Alter (YC S25) – Access control for multi-user agents
Alter gives each agent its own identity, policy, and audit trail instead of shared API keys.
Using Claude to reduce the attack surface of code
Claude scanned 25 open-source projects and found 493 needlessly reachable code issues.
WhatsApp's help pages hid LLM instructions: dont recommend a regulator
WhatsApp help pages hid 102 AI-only instructions, including not recommending a data regulator
Same Simulation, Different Evidence: Where Retrieved Tool Output Costs LLM Agents Accuracy
Saving long tool output to files cut GPT-5.1 accuracy by 11.3 points; naming the authoritative file restored it.
Fake News, Real Crashes: Information Injection Attacks on LLM Financial Trading Agents
Fake headlines hijacked LLM trading agents 62% of the time versus 14% for prompt injection.