---
title: "Run Orca's agents on a remote server"
description: "Make an exe.dev VM the remote box for Orca's SSH worktrees: Claude Code and Codex run there in parallel, with no API keys, while your laptop sleeps."
url: https://exe.dev/deploy/orca
category: "AI agents"
updated: 2026-10-31
---

# Run Orca's agents on a remote server

A big, always-on box for Orca's parallel coding agents.

- **Software:** Orca (https://www.onorca.dev)
- **Source:** https://github.com/stablyai/orca
- **License:** MIT
- **Time:** 10 minutes
- **Example VM name:** `my-orca` (yours will differ; on the VM, `hostname` prints it)
- **Machine-readable:** https://exe.dev/deploy/orca/manifest.json

## What you get

- Claude Code and Codex on the VM using exe.dev's LLM integration, with no API key to paste
- Git set up, with a project at `~/project` for Orca's worktrees
- The VM ready to add in Orca as an SSH target; Orca installs its own server on first connect

Running on the VM:

- **Orca desktop app**: on your computer (macOS, Windows or Linux); it drives the VM over SSH
- **Orca's remote server**: installed by the desktop app on first connect; runs terminals and agents, on localhost:6768 through SSH, data in `~/.orca-remote, ~/.orca`
- **Claude Code and Codex**: preinstalled; connected to exe.dev's LLM integration, data in `~/.claude, ~/.codex`
- **Your project and its worktrees**, data in `~/project, ~/orca/workspaces`

How it is reached:

- ssh my-orca.exe.xyz (private): how Orca on your computer reaches the VM, and your terminal
- https://my-orca.exe.xyz/ (private): a dev server an agent starts on port 8000, behind exe.dev login

## Deploy with Shelley

Open https://exe.dev/new?prompt=Set%20up%20Orca%20on%20this%20VM%20by%20following%20the%20exe.dev%20recipe%20at%20https%3A%2F%2Fexe.dev%2Fdeploy%2Forca.md%20from%20top%20to%20bottom.%0A%0AThe%20recipe%27s%20example%20VM%20name%20is%20my-orca.%20This%20VM%27s%20name%20is%20the%20output%20of%20%60hostname%60%3A%20use%20it%20wherever%20the%20recipe%20writes%20my-orca.%20Skip%20the%20step%20that%20creates%20the%20VM%3B%20you%20are%20on%20it.%0A%0AYou%20are%20done%20when%20all%20of%20these%20are%20true.%20Check%20each%20one%20yourself%3A%0A-%20Claude%20Code%20and%20Codex%20on%20the%20VM%20using%20exe.dev%27s%20LLM%20integration%2C%20with%20no%20API%20key%20to%20paste%0A-%20Git%20set%20up%2C%20with%20a%20project%20at%20%60~%2Fproject%60%20for%20Orca%27s%20worktrees%0A-%20The%20VM%20ready%20to%20add%20in%20Orca%20as%20an%20SSH%20target%3B%20Orca%20installs%20its%20own%20server%20on%20first%20connect%0A%0ARun%20the%20VM-side%20commands%20in%20%22Set%20up%20the%20VM%22%20only%3B%20skip%20creating%20the%20VM.%0AIf%20%60exeuntu%20configure%60%20reports%20an%20existing%20user%20config%2C%20leave%20it%20alone.%0AFor%20%60git%20config%60%2C%20use%20the%20owner%27s%20name%20and%20email%20if%20you%20know%20them%2C%20and%0Askip%20those%20two%20lines%20if%20you%20don%27t.%20If%20%60~%2Fproject%60%20already%20exists%2C%20leave%0Ait%20alone.%20Verify%20with%20the%20checks%20at%20the%20end%20of%20that%20section%3A%20both%20print%0A%60OK%60.%20Skip%20the%20later%20sections%20and%20the%20FAQ.%20Finish%20by%20telling%20the%20owner%20to%0Aadd%20%60%3Cthis%20VM%27s%20name%3E.exe.xyz%60%20with%20user%20%60exedev%60%20in%20Orca%20under%0ASettings%20%E2%86%92%20SSH%20%28%22Connect%20Orca%22%29%2C%20and%20that%20%60%2Fhome%2Fexedev%2Fproject%60%20is%20the%0Aproject%20to%20add.%0A%0AFinish%20with%20the%20URLs%20I%20should%20open.%0A to create a VM whose agent, Shelley, follows this recipe. From a terminal:

```sh
curl -fsSL https://exe.dev/deploy/orca/prompt.txt | ssh exe.dev new --prompt=/dev/stdin
```

Or follow the steps below by hand.

[Orca](https://www.onorca.dev) is a desktop app for running many coding
agents at once: Claude Code, Codex and others, each in its own Git
worktree, side by side. Its SSH worktrees put that work on a remote box.
Make the box an exe.dev VM and you get as many CPUs as your plan allows,
worktrees on a disk that persists, and agents that keep going when your
laptop sleeps.

Claude Code and Codex come preinstalled on exe.dev and use its
[LLM integration](/docs/integrations-llm): no API keys on the VM, and
model usage billed to your exe.dev account.

## Set up the VM

On your computer, create a VM and connect once, which also saves its host
key for Orca. Pick any free name; if you've already clicked Deploy or have
a VM, skip the first command and use its name:

```bash
ssh exe.dev new --name=my-orca
ssh my-orca.exe.xyz
```

On the VM, connect Claude Code and Codex to the LLM integration, tell Git
who you are, and make a project for Orca's worktrees, a Git repository
with a first commit:

```bash
exeuntu configure claude
exeuntu configure codex
git config --global user.name "Your Name"
git config --global user.email you@example.com
git init ~/project
git -C ~/project commit --allow-empty -m "Start"
```

> [!IMPORTANT]
> Do this before Orca first connects. Orca adds its own hooks to
> `~/.claude` and `~/.codex`, and `exeuntu configure` leaves an existing
> config alone.

Check that both agents answer through exe.dev:

```bash
claude -p "Reply with exactly: OK"
codex exec "Reply with exactly: OK"
```

## Connect Orca

On your computer, install Orca from [onorca.dev](https://www.onorca.dev)
or its [releases](https://github.com/stablyai/orca/releases). Then, in
Orca:

1. Open **Settings → SSH** and choose **Add Target**. Enter host
   `my-orca.exe.xyz`, user `exedev` and port `22`, with the SSH key you use
   for exe.dev (Orca also uses your SSH agent). Choose **Test**, then
   **Save**.
2. Add `/home/exedev/project` as a project, with the VM as its location.
   The first connection takes about 20 seconds while Orca installs its
   server on the VM (about 180 MB in `~/.orca-remote`).
3. Create a worktree in that project, pick Claude Code or Codex, and give
   it a task, such as:

   > Write index.html: a one-page site for a very opinionated cat. Keep it short.

The agent runs on the VM, in a new branch and folder under
`~/orca/workspaces/project/`. Create more worktrees for more agents; each
one gets its own branch, and Orca shows their status side by side.

The first Claude Code session asks you to pick a text style and to accept
**Bypass Permissions mode**, once. Orca starts agents with their
permission prompts off (Claude Code's `--dangerously-skip-permissions`,
Codex's `--dangerously-bypass-approvals-and-sandbox`), which suits a VM
that holds nothing else; a worktree is a separate checkout, not a
sandbox. To have agents ask first, switch **Settings →
Agents → Agent Permissions** to **Manual**.

## Room for more agents

A new VM has 2 vCPUs, 8 GB of memory and a 25 GB disk, enough for a few
agents. Builds, tests and dev servers in many worktrees at once need more.
On your computer, give the VM more, up to your
[plan's](/docs/billing/personal) capacity:

```bash
ssh exe.dev resize my-orca --cpu=8 --memory=32GB --disk=100GB
```

Disks can only grow. Each worktree is a full checkout with its own
dependencies, so check `df -h /` on the VM now and then, and remove
worktrees you've merged. To start big instead, pass the same flags to
`ssh exe.dev new`.

## Bring your code

[Connect a GitHub repo](/docs/integrations-github) to the VM and it can
clone, pull and push without a token or deploy key on it. On your
computer, replace `you/app` with your repository:

```bash
ssh exe.dev integrations add github --name app --repository you/app --attach vm:my-orca
```

On the VM, clone it:

```bash
git clone https://github.int.exe.xyz/you/app.git ~/app
```

Then add `/home/exedev/app` as a project in Orca, the same way as
`~/project`. Worktree branches push to the same remote. For `gh` on the
VM (pull requests, issues), set `GH_HOST=github.int.exe.xyz`; see the
[GitHub integration docs](/docs/integrations-github).

## Preview what they build

Ask an agent to serve its work on `0.0.0.0:8000`, then open
`https://my-orca.exe.xyz/`. exe.dev's [HTTPS proxy](/docs/proxy) serves
any port from 3000 to 9999 at `https://my-orca.exe.xyz:<port>/`, so
worktrees can each use their own port. The pages are private until you
[share them](/docs/sharing). Orca's **Ports** tab can also forward a
port to your computer's `localhost`.

## Orca in a browser

Orca can also run as a server on the VM and serve its UI to a browser,
so you can check on agents from another computer with your laptop shut.
This is a separate Orca with its own projects, next to the SSH setup
above.

On the VM, install the Linux package from Orca's releases (the CLI is
called `orca-ide` on Linux; replace the version with the
[latest](https://github.com/stablyai/orca/releases)), then start the
server on port 7000 (Orca's SSH server already uses 6768 on this VM):

```bash
curl -fLO https://github.com/stablyai/orca/releases/download/v1.4.245/orca-ide_1.4.245_amd64.deb
sudo apt-get install -y ./orca-ide_1.4.245_amd64.deb
orca-ide serve --port 7000 --pairing-address https://$(hostname).exe.xyz:7000
```

Open the **Web client URL** it prints in your browser. exe.dev asks you to
log in, then Orca pairs the browser; if it opens unpaired, open the link
again now that you're logged in. Back on the VM, press `Ctrl-C` and
run Orca as a service that starts on boot; the browser stays paired:

```bash
orca-ide serve service install --port 7000 --pairing-address https://$(hostname).exe.xyz:7000
orca-ide serve service status
orca-ide repo add --path ~/project
```

<figure>
<img src="https://exe.dev/deploy/orca/web.png" alt="Orca's web UI: a project with a cat-site worktree, and Claude Code reporting it wrote index.html" width="1280" height="720" loading="lazy">
<figcaption>Orca's web UI, served from the VM: Claude Code finished a task in its own worktree.</figcaption>
</figure>

> [!WARNING]
> The Web client URL is a lasting key to the server, and a paired browser
> can run any command on the VM. Keep port 7000 private.

## Back up and update

Commit and push your work from each worktree; that's the copy that
matters. For a copy of the whole VM, run this on your computer:

```bash
ssh exe.dev cp my-orca my-orca-backup
```

Orca keeps its server on the VM in step with the desktop app. Update the agents on the VM with `sudo exeuntu update claude` and
`sudo exeuntu update codex`.

## Troubleshooting

- **Orca can't connect.** Check that `ssh my-orca.exe.xyz true` works in
  a terminal on your computer, with the same key, and that the target's
  user is `exedev`.
- **An agent asks for a login or API key.** Orca connected before
  `exeuntu configure` ran, so it left Orca's config alone. On the VM, move
  `~/.claude/settings.json` and `~/.codex/config.toml` aside, run
  `exeuntu configure claude` and `exeuntu configure codex`, then reconnect
  the target in Orca.
- **Claude Code exits right after starting.** Its Bypass Permissions
  warning defaults to **No, exit**. Choose **Yes, I accept** in the
  terminal, once.
- **The VM is slow with many agents.** Check `uptime` and `free -h` on the
  VM, then [give it more](#room-for-more-agents).

For everything else, see Orca's
[SSH docs](https://www.onorca.dev/docs/ssh).

## Frequently asked questions

### Does the Orca app run on the VM?

No. The desktop app stays on your computer and is the UI. The VM runs the work: Git worktrees, terminals, and the agents, through a small server Orca installs over SSH into `~/.orca-remote`. Nothing else on the VM changes, and you don't need to install Node.js or any packages for it. To reach Orca from a browser with your laptop shut, see [Orca in a browser](#orca-in-a-browser).

### Do agents keep running when my laptop sleeps?

Yes. A disconnect doesn't stop them: Orca keeps remote terminals alive until you end them, and reattaches with their scrollback when your laptop reconnects. After a VM restart, Orca reconnects on its own and the worktrees are all there, but agents that were running have stopped and need a new start.

### Can I use my own Claude or ChatGPT subscription?

Yes. On the VM, run `claude auth login` or `codex login`, after removing what `exeuntu configure` added: `apiKeyHelper` and `env.ANTHROPIC_BASE_URL` in `~/.claude/settings.json`, and the `exe-llm` provider in `~/.codex/config.toml`. Logins on your laptop don't carry over to the VM.

### What about OpenCode, Pi, Grok Bot and the other agents?

Orca launches agents as CLIs in terminals on the VM, so any agent installed there works. OpenCode and Pi come preinstalled on exe.dev too; set them up for the LLM integration as in the [OpenCode](/deploy/opencode) and [Pi](/deploy/pi) guides. Others need installing and signing in on the VM.

### Does Orca Mobile work with this?

The phone app pairs with the Orca desktop app, so it can follow and steer worktrees on the VM while the desktop app is running. See Orca's [mobile docs](https://www.onorca.dev/docs/mobile).

### How much does it cost?

Orca is free and MIT-licensed. You pay for the VM as part of your exe.dev plan, and model usage through the [LLM integration](/docs/integrations-llm) is billed to your exe.dev account. exe.dev keeps a [list of models and prices](/llm-gateway-models).


## Related

- [Run Herdr agents on a remote machine](https://exe.dev/deploy/herdr.md): An always-on SSH machine for Herdr, with agents ready and no API keys.
- [Run T3 Code on a remote server](https://exe.dev/deploy/t3code.md): Your coding agents on an always-on VM, steered from your phone.
- [Run Claude Code on a remote server](https://exe.dev/deploy/claude-code.md): A computer for Claude. A breather for your laptop.
- [Run Codex on a remote server](https://exe.dev/deploy/codex.md): A computer for Codex. An early night for your laptop.
- [VS Code in your browser, with code-server](https://exe.dev/deploy/code-server.md): Your editor in a tab. Your projects right where you left them.
- [Host OpenClaw](https://exe.dev/deploy/openclaw.md): An AI sidekick with its own computer. Your laptop can take a nap.
