Network connections
Every connection OpenOrc makes, where it goes, what it sends, and how to turn it off.
Checked against the source on September 27, 2026.
Every connection
OpenOrc has no server of its own. Everything it sends goes to a service you already use, from your computer. This table lists every connection the app makes, when it happens, and how to stop it.
| Connection | Goes to | When | To stop it |
|---|---|---|---|
| Agent turns | The agent's own service: Anthropic for Claude Code, OpenAI for Codex, the providers you set up in OpenCode | Each message you send | Use another agent |
| Conversation titles | The conversation's own agent, or the provider you chose | Once, after a new conversation's first turn | Set titles to Off under Memory & models |
| Run summaries | The agent that did the work, or the provider you chose | After each run, while memory is on | Leave memory off, the default |
| Usage and allowances | Claude Code's and Codex's services, through their CLIs | While the Usage settings are open, or a usage limit notice is shown | Close those screens |
| Embedding model | storage.googleapis.com | Once, the first time memory needs it | Leave memory off, the default |
| App updates | GitHub Releases | 30 seconds after launch, then every 6 hours, in installed releases | Turn off automatic checks under General |
| Agent updates | registry.npmjs.org, or formulae.brew.sh for Homebrew installs | 30 seconds after launch, then every 6 hours | Turn off automatic checks under Connections |
| Git | Your repository's origin remote | Creating a worktree from a branch, pushing, and checks before a pull request | Use Local checkout |
| GitHub CLI | GitHub, through gh | Creating a pull request, and every 5 minutes for each conversation with an open one | Create pull requests outside OpenOrc |
| Slack | Slack, or your team's relay | While Slack is connected | Disconnect Slack |
| Browser preview | The pages you or an agent open | When a page loads | Close the preview |
| MCP Apps | The https domains the app's MCP server declares | While a Codex tool result shows an interactive app | Remove that MCP server from Codex |
Agents
OpenOrc runs the agent CLIs you installed, signed in with your own accounts, and they connect to their services themselves. OpenOrc does not sit between an agent and its provider. It decides what a request starts with: your message, the conversation so far, and its own instructions. The agent adds whatever it reads while it works, such as files and command output.
The CLIs also make connections of their own, under their own terms: their telemetry, their own update checks, and the MCP servers in your configuration. In Autonomous, Claude Code also connects the MCP servers from your Claude Code settings, unless you turn off "Your Claude Code MCP servers" under General. In the other modes it connects only OpenOrc's.
The CLIs keep their own transcripts on your computer, such as ~/.claude/projects for Claude Code and ~/.codex/sessions for Codex. OpenOrc does not redact or delete these.
Background requests through agents
OpenOrc has no model of its own. When it needs one in the background, it runs an agent CLI once, in the system's temporary folder, without MCP servers and with limited tools:
- Conversation titles send the first 1,500 characters of your first message and of the reply. By default the conversation's own agent answers, so nothing reaches a provider that did not already have it. See Conversation titles.
- Run summaries for memory send a digest of the run of up to 12,000 characters, with the task's title and spec. Memory is off in a new profile. When it is on, the agent that did the work summarizes it by default; choosing a provider sends every run's digest to that provider. See How extraction runs.
- Usage: Claude Code answers a usage request over its own control channel, and Codex's app-server reads your account's limits. OpenOrc never reads the credentials these CLIs store. OpenCode's usage is not read; the settings point to each provider's dashboard.
For titles and summaries, Claude Code runs without shell, edit, or web tools but can still read and search files. Codex runs in a read-only sandbox, where it can still run commands that only read. OpenCode is denied every tool. Claude Code receives the prompt on its command line, which other accounts on the computer can list while it runs; Codex and OpenCode receive it over standard input.
Downloads and update checks
The embedding model
Memory's search by meaning uses a small model that runs on your computer. It is not part of the app. The first time memory needs it, OpenOrc downloads an 83 MB archive from storage.googleapis.com and keeps it only if it matches a SHA-256 checksum written into OpenOrc's source. The request carries no information about you beyond what any download does. While memory is off, the model is never downloaded. See Embeddings.
App updates
Installed releases ask GitHub Releases whether a newer version exists, 30 seconds after launch and then every 6 hours. Development builds never check. A check only compares versions: downloading and installing each wait for you to choose them from the app menu. The update library OpenOrc uses keeps a random ID in .updaterId in the profile folder, meant for releasing to a share of installations first. OpenOrc does not release that way and sends the ID empty. You can turn automatic checks off under General; Check for updates in the app menu still works.
Agent updates
OpenOrc checks whether the agent CLIs you installed have newer versions, 30 seconds after launch and then every 6 hours. It asks registry.npmjs.org for the latest version of each package, or formulae.brew.sh when Homebrew installed the agent, without cookies or credentials. Installing an update waits for you. You can turn these checks off under Connections.
Source: packages/memory/src/model-files.ts, apps/desktop/src/main/app-updates.ts, packages/core/src/services/agent-updates.ts
Git and GitHub
OpenOrc runs your own git and gh, so they use your credentials and configuration. Automatic network use is limited to two cases:
- Creating a worktree from a branch fetches that branch from
originfirst, so the work starts from what your team sees. If the fetch fails, the local branch is used. Work in the Local checkout never fetches. - For each conversation with an open pull request, OpenOrc runs
gh pr view <url> --json stateevery 5 minutes to show when it is merged or closed.
Everything else happens when you ask: pushing, creating a pull request, and the git ls-remote check that the branch is pushed before one is created. See Git and review.
Source: packages/core/src/services/workspace.ts, lifecycle.ts, review.ts
Local servers
These parts of OpenOrc listen for connections, all on 127.0.0.1, so other computers cannot reach them:
- OpenOrc's MCP server, which gives agents OpenOrc's tools, on a random port.
- The MCP Apps sandbox, which serves interfaces from MCP servers into isolated frames, on a random port. An interface can load files from, and connect to, the
httpsdomains its MCP server declares, exceptlocalhost,.localnames, and IP addresses. - The team relay, on the computer that hosts it, when you use one. See The team relay.
- On macOS, the update library's handoff to the system installer, on a random port and behind a random password, while a downloaded app update waits to be installed.
The app window itself loads only files that ship with OpenOrc. Its content security policy blocks remote scripts, styles, fonts, and images.
What OpenOrc does not send
- No usage analytics or crash reports. OpenOrc has no account of its own.
- No identifier for your installation with update checks or downloads.
- Nothing to an OpenOrc server: there is none.
The privacy policy covers the website as well, which does use analytics.