* fix(mobile): release notification and account streams from the transport * test(mobile): drop the deleted notification-unsubscribe matrix from the bridged-parity tally * test(mobile): count the bridged-parity corpus at 786 goldens * chore(mobile): state why the notification stream frame cast is safe * test(mobile): re-record goldens after the transport took over notification release Repins the recording baseline toa547d8903band re-records every golden. 780 goldens move only in baseline and recorderSha256 (repin plus a comment edit in run-recording.ts). Six desktop-notification goldens move in their body: the notification code no longer issues notifications.unsubscribe as a request, so its sender-call entries go and only the transport's wire frame remains; the replayed scenario now also releases sub-1 on the retiring session at cutover; the subscribe-1-1 matrix records the cancelled placeholder a non-ready reply leaves. The unsubscribe-1 matrix was removed earlier because the request it varied no longer exists. The three scenarios drop their scripted reply to that request. * test(mobile): bind the subscription inventory to the ready-id release table Each subscribe site now declares how the phone releases it on the host, and the boundary test requires the ready-id sites to name exactly the methods in READY_STREAM_RELEASE_METHODS. A new stream whose host id arrives only in `ready` is otherwise released on neither connection, and nothing noticed: that is how direct accounts.subscribe went unreleased. * test(mobile): correct the settlement class count in the bridged-replay notes * test(mobile): repin and re-record goldens after merging main Repins baseline to the merge commitaae9aa70fcand re-records the whole corpus with --record. Against origin/main: 783 goldens move only in baseline and recorderSha256 (the repin and the recorder comment edit); the six desktop-notification recordings move in body, byte-identical to this branch's pre-merge recordings (the transport now sends the stop); the notifications.unsubscribe matrix golden is deleted because that request no longer exists. Corpus 789: result-absent-settlement 343 -> 342, and the comments quoting the corpus size follow. * fix(mobile): correct stale release notes after merging main - Drop the unused `connection-close` release kind: agent session feeds now stop by params, so no phone stream uses it. - The notification listener's SAFETY note names the transport's `error` frame too. - The recording README's mutant history is past tense: the transport now releases `notifications.subscribe`. * docs(mobile): keep the notification SAFETY note and teardown README precise * test(mobile): re-record the desktop notification goldens on the header-free format Main's #23732 dropped the golden header and pin, so the merge took main's goldens whole and `rpc:record --prune` re-derived them. Only the six desktop-notification recordings this branch changes move, decoded-identical to their pre-merge recordings, and the obsolete `unsubscribe-1` matrix golden is pruned.
Orca
中文 · 日本語 · 한국어 · Español · Français · Português
The AI Orchestrator for 100x builders.
Run Codex, ClaudeCode, OpenCode or Pi side-by-side — each in its own worktree, tracked in one place.
Download Orca
Features
Also in the box:
- Quick open — Search across worktrees, files, agents, commands, and repo context without leaving your flow.
- Account switcher & usage tracking — See Claude and Codex usage and rate-limit resets, and hot-swap accounts without re-logging in.
- Rich repo previews — Preview Markdown, images, PDFs, and repo docs in the workspace.
- Computer Use — Let agents operate desktop apps and visible UI when a workflow needs real interaction.
- Notifications and unread state — Know when an agent finishes or needs attention, then mark threads unread to come back later.
- And many, many more — we ship daily, so this list is perpetually behind. The changelog is the real feature list.
Supported Agents
Works with any CLI agent — if it runs in a terminal, it runs in Orca.
Claude Code
Codex
Grok
Cursor
GitHub Copilot
Muse
DeepSeek Harness
ZCode
OpenCode
MiMo Code
Amp
OpenClaude
Antigravity
Pi
oh-my-pi
Hermes Agent
Devin
Goose
Auggie
Autohand Code
Charm
Cline
CodeBuddy
Codebuff
Freebuff
Command Code
Continue
Droid
Kilocode
Kimi
Kiro
Mistral Vibe
Qwen Code
Rovo Dev
+ any CLI agent
Install
Desktop — macOS, Windows, Linux
- Download from onOrca.dev
- Or grab a build directly: macOS Apple Silicon · macOS Intel · Windows (.exe) · Linux AppImage · All builds
- Running
orca serveon a headless Linux server? See the headless Linux server guide.
Or via a package manager:
# macOS (Homebrew)
brew install --cask stablyai/orca/orca
# Arch Linux (AUR) — or stably-orca-git to build from source
yay -S stably-orca-bin
Mobile Companion — iOS, Android
Pair with your desktop app to monitor and steer your agents from your phone.
- iOS: Download on the App Store
- Android: Download APK 0.0.50 · Install guide
Community & Support
-
Discord: Join the community on Discord.
-
Twitter / X: Follow @orca_build for updates and announcements.
-
WeChat: Scan to join the Orca community WeChat group 11.
-
Feedback & Ideas: We ship fast. Missing something? Request a new feature.
-
Privacy: See the privacy & telemetry docs for what anonymous usage data Orca collects and how to opt out.
-
Show Support: Star this repo to follow along with our daily ships.
Developing
Want to contribute or run locally? See our CONTRIBUTING.md guide.
The relay that pairs the mobile app with a desktop host is also in this repository under
cloud/, with a separate pnpm workspace and setup guide.
Signed Builds
Windows code signing sponored/provided by SignPath.io, certificate by SignPath Foundation.
License
Orca is free and open source under the MIT License.










