Operations
Using Orca: one agent per ticket, steered from my phone
How a desktop app with a phone companion became the workbench for my agent factory, what it is not, and the night I used it to fix my own server.
Since the middle of September most of my building has run through an app called Orca. It sits on my Mac, it now sits on my server too, and it has a phone app that lets me see and steer the agents doing the work from wherever I am.
This is a practical write-up of how I use it: what it does well, what it isn't, and the things that went wrong while I was setting it up. If you're starting to run more than one AI agent at a time, the habits here matter more than the app.
Why I needed it
By early September I had a small agent factory running. It picks up tickets (written descriptions of a piece of work), builds them, checks the result and hands it back for me to review. I've written about how that came together in Building the metafactory.
The factory itself ran on its own. The problem was the orchestrator, the supervising AI session that watches the factory, unsticks it and asks me questions. That session lived in a terminal window on my Mac. When I walked away from the Mac, I walked away from the one view of what was happening.
I was on parental leave, and increasingly the time I had was in short bursts away from a desk. I wanted to start and steer work from my phone. The handover note from 11 September says exactly that: I work from Orca Mobile and want to start and steer work from my phone.
What Orca is
Orca describes itself as an agentic development environment. In plain terms it's a desktop app for running AI coding agents, with tabs for each agent, plus a mobile client that connects back to it.
The feature that made it click for me is how it handles worktrees. A worktree is a separate working copy of the same code, so two agents can each change things without treading on each other. Orca gives each piece of work its own worktree and its own agent, and one command lists them all. That list became my board: which ticket, which agent, what state.
On 11 September I moved the orchestrator into an Orca chat tab. From then on the supervising session wasn't a terminal I had to be sat in front of. It was a tab I could open from either device.
Setting it up, 10 to 13 September
The setup took about three days of evenings, mostly because of things that weren't Orca's fault.
The phone app needs to reach the Mac. I used Tailscale for that, which makes a private network between your own devices so they can find each other wherever they are. Once the Mac and phone were both on it, Orca Mobile paired. The proof I wanted was that it kept working with my phone off Wi-Fi, on mobile data. It did, and I marked the adoption complete on 13 September.
The things that went wrong were on the AI side, and they were all the same shape. On the evening of 13 September my notes record a run of claims made from the wrong evidence:
- The AI renamed an Orca tab and told me the orchestrator had been renamed. It had renamed an empty chat tab. The orchestrator was a different session.
- It read the tab list straight after a rename, saw the old title, and decided an Orca setting was overwriting it. It spent several turns trying to change that setting. The list it read was just stale; the rename had held.
- It told me the orchestrator had been dead for over four hours. It had checked the wrong file. The session had written something forty minutes earlier and was fine, as a screenshot from my phone showed.
None of these were Orca bugs. They were an AI reporting what a command said rather than checking the thing itself. That day's failure log sums it up: twelve failures across at least five sessions in four days, all asserting a claim from a stand-in signal instead of the real object. I've written about this pattern in My AI said it was done. It wasn't. It follows you into every new tool.
Chats, not terminals, on a phone
One preference came out of the first week of using it from my phone. Terminals are painful on a phone screen. Text wraps badly, you can't scroll back properly, and anything that expects keyboard shortcuts is hard work.
Chats are fine. So the rule I gave was simple: when a new agent tab opens, open it as a chat. The terminal is still there when I need it, but it's the exception.
A related lesson was about what the Claude phone app can and can't do. On 13 September an AI told me I could start a brand new session on my Mac from the Claude mobile app using Remote Control. That was wrong. Remote Control attaches to sessions already running on the machine; it can't start a new one. Orca filled that gap for me, because it can open new agent tabs on the machine it's connected to.
What Orca isn't
On 18 September I set a hard requirement before a trip abroad: my wife and I had to be able to use the whole system from our phones with the Mac switched off. That meant an always-on server somewhere.
When the options came back, I noticed Orca wasn't on the list and asked why. The answer, from Orca's own documentation, was clear: it doesn't sell hosting. Its remote modes always use machines and cloud accounts you control. So it was correctly left off the hosts list, and counted instead as a fourth way in from my phone, alongside the terminal, the Claude app and WhatsApp.
I mention this because it's an easy mistake. A tool that lets you reach an agent from anywhere feels like it lives somewhere. It doesn't. Something you own or rent has to be switched on at the other end. In my case that's a small rented server I call the box, and I'll write that one up separately.
Putting it on the server
On 5 October Orca went on the server as well, installed by hand while I was auditing what the server had and the Mac had. My Mac and phone already had it ("We've already installed orca on Mac and mobile", in my words that morning). The audit had found Orca in daily use on both machines without being written down in my list of tools, so it was added to the registry the same day.
That matters more than it sounds. My system has a rule that no tool counts as available until it's registered, because an unregistered tool is one a future session won't know exists. Orca had slipped through because it arrived as something I used, not something an agent built.
The night I needed a terminal
The clearest example of why Orca earns its place came yesterday, 9 October.
The server runs a pinned version of the AI coding tool, and updating it needs one admin command. The design said the orchestrator would run that update. Nobody had built a way for an orchestrator in a phone session to do so: the session's own permissions refuse admin commands, and the only admin access to the server was from my Mac, which I didn't have with me that week.
So I opened a terminal on the server through Orca on my phone and ran the command myself. It asked for a password that doesn't exist. A quick route for exactly that one command had been agreed on 5 October and never actually installed.
It got fixed that evening, by a session on the Mac, and the update then ran. The general lesson is about what I can be asked to do: if a fix needs a step, someone has to check that the person being handed it can take it from where they are. A phone with Orca can run one command. It can't paste a key that only lives on a laptop.
What I'd tell you if you're doing this yourself
You don't need Orca specifically. You do need the habits it encouraged.
- One piece of work, one working copy, one agent. If two agents share a working copy they'll trip over each other. Worktrees, or separate folders, keep them apart.
- One list that shows everything. If you can't see all your running agents on one screen, you'll lose one. Mine is Orca's worktree list.
- Put the supervising session somewhere you can reach. If it only lives in a terminal on one machine, it's only supervised when you're sat there.
- Prove the phone route off Wi-Fi. Test it on mobile data before you rely on it. A private network like Tailscale is what makes that work.
- Know what's actually running your agents. A phone app is a window. Something you control has to be switched on behind it.
- Register the tools you use. Write down every tool your system relies on, including the ones you installed yourself, so the next session knows they're there.
- Check the object, not the command. When an AI says it renamed, restarted or fixed something, look at the thing. Half my setup problems were reports, not faults.
Where it fits now
Orca is now one of four ways I reach my system, along with the Claude phone app, WhatsApp and a plain terminal when I'm at a desk. It's the one I use when I want to see the factory's work laid out, or when I need to do something an agent can't.
This week I've been working mostly without my Mac, which is testing all of this properly, and I'll write that up once the week is out. If you're trying to run agents in short bursts between other things, I'm happy to compare notes.