* fix(ssh): recover a tunnel port a ControlMaster still holds A forward made through a ControlMaster leaves its local listener on the master: the `-N` client exits at once and the master keeps the port. No process of Orca's holds it then, so the orphan sweep finds no argv to match and a managed tunnel's persisted port stays bound - every later connect fails with `Local port 127.0.0.1:<port> is not available: EADDRINUSE`, until the user finds and stops that master by hand. Ask the master to drop just this forward (`ssh -O cancel -L`) when the orphan sweep comes up empty, then rebind. OpenSSH refuses a spec no master registered, so another forward on the port, and a port held by anything but a master, are left alone - as are the master's own sessions and its other forwards. * fix(ssh): read a refused forward cancel off stderr, not the exit code `ssh -O cancel` exits 0 whether or not a master held the spec, reporting a refusal only as `master cancel forward request failed` on stderr. So a spec no master registered read as a release that freed the port: the recovery logged a cancel it never made and let the caller rebind a port still held, turning a clear refusal into a second bind failure. Treat a request failure on stderr as nothing released, so a port held by anything but a matching master keeps reporting the original bind error. * docs(ssh): document the port reservation contract and its recovery limits State on each entry point what it returns and what it will not do: that reservation only ever recovers a port already in use and only from what the caller supplies, that the bind reports a busy port through the error cause, and that a forward on port 0 carries no recovery at all because the port it lands on was just free. * fix(ssh): any managed-tunnel forward that fails to start falls back to the stdio bridge * fix(ssh): skip the master cancel on Windows; note the forward's bridge fallback * test(ssh): an abandoned forward's late exit uses a real close reason * fix(ssh): cancel only Orca's forward on the master, and bridge a forward that never listens Codex: -O cancel also cancels every forward the loaded ssh_config declares, so the cancel now reads the control socket from ssh -G and sends the request with no config. Opus: a forward still waiting on its own login never binds; that now takes the bridge. * fix(ssh): pass the master's ControlPath through -S so a path with spaces stays whole * fix(ssh): keep ssh's own exit reason when the forward also never listened * test(ssh): the real sshd fixture waits for its processes before removing its temp dir --------- Co-authored-by: zzzpyyy <167217540+zzzpyyy@users.noreply.github.com> Co-authored-by: zhangpengyun <zhangpengyun@zpydeMacBook-Pro-2.local>
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
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 · Install guide
Community & Support
-
Discord: Join the community on Discord.
-
Twitter / X: Follow @orca_build for updates and announcements.
-
WeChat: Group 12 is full. Scan to join the Orca community WeChat group 13.
-
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.










