Posted by kmansm27 5 hours ago
Launch HN: Omnara (YC S25) – Run Claude Code and Codex from anywhere
Here’s a demo of the web and mobile apps - https://youtu.be/R8Wmy4FLbhQ
We started using Claude Code early last year and quickly ran into a pattern: agents could work for long stretches on their own, but progress would stall whenever they needed follow-up input. If that happened while we were away from our desks, everything just paused. We looked at remote agent solutions like Codex Web and Devin, which were the main options at the time, but they ran in remote VMs, and we wanted our coding agent to run in our own environment. Our first attempt at solving this was a lightweight wrapper that streamed messages from the Claude Code CLI to a mobile app, but that approach ended up being fragile and hard to maintain.
As the Claude Agent SDK matured, it gave us enough control to rewrite Omnara from scratch and run the agent loop directly. We chose to build a GUI across web and mobile instead of a TUI or CLI, because we think GUIs are generally more ergonomic for working with agents and code, especially on mobile. We still preserve the main strength of CLIs and TUIs: running anywhere, including on headless machines.
Omnara keeps that property by running a small headless daemon on the user’s machine (or a remote VM) that hosts the agent loop. The daemon maintains an authenticated, outbound WebSocket connection to our server, which relays messages between the agent running on the user’s machine and any connected web or mobile clients. Because the daemon only makes outbound connections, there’s no need for exposed ports, SSH access, or tunneling on the user’s machine.
In our first version of Omnara, users liked that agent sessions ran in their own environment, but they still depended on the machine staying online. Some users ran Omnara on a remote machine that stayed up, which worked well for them, though most still did most of their work on laptops. In the current version, Omnara can continue an agent session in a hosted remote sandbox when your local machine goes offline.
The conversation state of an agent is already persisted on our server, and you can optionally enable cloud syncing for the working code. When syncing is enabled, Omnara creates git commits at each turn in the conversation and pushes them to our server, so execution can resume from the same state regardless of whether it continues locally or in the cloud. If you continue working in a remote sandbox, you can later pull any changes back into your local environment when you return to your machine. Environment parity in the sandbox isn’t perfect yet, but in practice, missing dependencies are usually easy to resolve by asking the agent to install them.
Another thing we learned from using the initial version of Omnara is that mobile is fine for quick interactions, but not great for extended back-and-forth. Users asked for a hands-free way to keep agents moving while walking, driving, or doing something else, which led us to add a voice agent. Coming from more traditional software engineering backgrounds, we honestly thought coding by talking to a voice agent would be gimmicky and added it mostly as a fallback.
What surprised us is how useful the voice agent ended up being in practice. When working with coding agents, being redundant and overly explicit usually helps, and people naturally give more detail when speaking than when typing. Going back and forth with the agent as the conversation unfolds tends to produce a much more solid plan than trying to one-shot it with a prompt (this could technically also be done over text, but talking and iterating over voice feels easier and more natural). It’s also just fun. Talking through an idea with an agent while out on a walk is a lot more enjoyable than staring at a terminal screen.
To try it out, open your terminal and download Omnara with
curl -fsSL https://omnara.com/install/install.sh | bash
then run omnara inside any git repository. This starts a headless Claude Code or Codex session in that repo, which immediately appears in the Omnara web and mobile apps. From there, you can continue that session or start new ones remotely (with or without worktrees) and switch between the web and mobile clients without interrupting the agent.Omnara is free for 10 agent sessions per month, then $20/month for unlimited sessions. When agents run in your own environment, you can use your existing Claude or Codex subscription, so there’s no need to pay us for additional tokens. If you use Claude Code or Codex, we’d love to hear your feedback on Omnara!
I have just a list of chat sessions on the web app on all my projects. The webapp is modified to launch claude code daemons (borrowed from humanlayer/codelayer) and exposes the outbound STT from the WebRTC into a chat session.
- MCP Auth is via auth0
- Webapp itself is gated by a Bearer token.
This itself gets me pretty far. I am not sure what more this is offering?
My TTS/STT models are local by Kyutai and the voice agent's LLM between STT and TTS is used to determine some basic context: e.g. what project directories, mcp servers to select and what skills to use for launching the daemons.
I spend my time trying to tuning the voice+webapp experience: i.e. how it can explain things, can it surface thinking tokens from claude tools properly etc. The sweat, blood, voice go into `/create_research -> /create_plan` loop before the `/implement_plan`. Sometimes I copy the research and paste it into chatGPT for review or comments as well.
I generally use the MCP to get it to follow commands and explain things to me to make progress in this cycle, and I often pause it and ask for drawing me a mermaid a sequence diagram for events or a block diagram showing how pieces go together.
- I only had the option to create a worktree from main. I'd like to be able to pick any starting branch. Not a big deal, I just told claude to checkout the branch I wanted as my first instruction.
- For some reason in the Android app the usual automatic capitalisation of the first letter in a sentence doesn't work. Claude probably doesn't care, but I like to type in proper sentences!
- It would be nice if the worktree names got semantic names, e.g. by running my first prompt through Haiku. Maybe that's not the order things are set up in though
This is actually a PR that I have open right now, it'll be out soon!
> automatic capitalization
We'll get this fixed
> automatic worktree names
definitely on our roadmap, probably will do that this week
"1. For a Linux user, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem. From Windows or Mac, this FTP account could be accessed through built-in software."
Obligatory https://news.ycombinator.com/item?id=9224
Welcome to the new economy.
We try to provide more features on top as well, including (but not limited to):
* improved web interface
* worktrees
* sandboxing
* richer git management (richer diffs, checkpoints, git operations)
* preview URLs
Just shows that AI has advanced so quickly that it is easy to clone YC startups to zero.
- Is it possible to completely disable or not use the remote sandbox features? I would never use them and would prefer my code stays on my device.
- For those of us that are using subscriptions, does it show our remaining usage? I would hate to run out of tokens in the middle of a session.
- One feature of the CC TUI I sorely missed on mobile is the ability to look up and directly reference files via “@“. Is any functionality like this planned?
- (This likely won’t affect my decision to use the service as I’ll just put it on a company card.) $20 per month for a service that runs CC on a remote machine in a convenient matter is steep but doable. Asking that same amount for a running code on my own server seems a bit unjustified, especially since this is pricier than the cost of a Claude pro subscription. Are there any plans to offer a cheaper tier for those of us that just want to run this on our own machines?
Is it possible to completely disable or not use the remote sandbox features? I would never use them and would prefer my code stays on my device.
Yes, the remote sandbox feature is disabled by default, and you have to manually enable it for the syncing to start.
For those of us that are using subscriptions, does it show our remaining usage? I would hate to run out of tokens in the middle of a session.
Currently Omnara doesn't show your usage limits, you would have to check that at claude.ai. I'll look into add that though.
One feature of the CC TUI I sorely missed on mobile is the ability to look up and directly reference files via “@“. Is any functionality like this planned?
Yes, this exists in Omnara already!
Are there any plans to offer a cheaper tier for those of us that just want to run this on our own machines?
That's a good idea, we'll think about doing this where we don't offer sandbox + voice, and just have the messaging service.