* perf(terminal): release hidden WebGL canvases' drawing buffers Chromium keeps a display:none WebGL canvas's drawing buffers alive (on macOS a back buffer plus up to four pooled full-size surfaces). Hidden terminal tabs and retained worktrees therefore held ~80 MB of GPU memory each until they were parked. Collapse the canvas backing store while it has no layout box and keep the context; xterm's device-pixel observer restores the size and redraws synchronously on reveal. 7 terminal tabs, 1920x1050@2x: GPU process 670-760 MB -> 350-408 MB. * perf(terminal): free hidden canvases only after 30s and never for suspended worktrees Reallocating the backing on reveal cost about one frame. Delaying the release keeps rapid switching allocation-free, and worktree-suspended panes keep their backing so worktree switches match main. A MutationObserver re-checks a canvas that xterm resizes while hidden. * fix(terminal): restore released WebGL canvases before the reveal frame paints - Reveal restore reallocates at the current DPR and draws past xterm's paused renderer inside the ResizeObserver callback, so the first painted frame has content; also covers engines without devicePixelContentBoxSize. - DPR repair reports released canvases as 'released' (current) instead of 'deferred', so window-resize recovery stops retrying them. - Veto release for panes of a hidden worktree surface (marked from isWorktreeActive) instead of webglAttachmentDeferred, which a hidden prewarm clears. - Schedule release for canvases attached or regrown while already boxless; a zero-size element gets no initial ResizeObserver entry. - Clear the timer through the canvas's own window. * test(terminal): guard hidden WebGL canvas release and reveal restore * perf(terminal): restore a released WebGL canvas at its exact device size without a full resize Set the backing to the reveal entry's device-pixel size (xterm's own fallback size where that box is unavailable) and draw once, instead of handleResize: xterm's device-pixel observer then finds nothing to resize, which removes a second reallocation and redraw from the reveal. A DPR change while hidden still takes the full resize path. * fix(terminal): paint a revealed released canvas through a held synchronized-output frame A released canvas has no last coherent frame to keep, so when a TUI holds DEC 2026 at reveal, the buffered refresh left it blank for up to xterm's 1s watchdog. Use forceFullViewportPresent, which draws the current buffer once directly; the TUI's sync end still presents its finished frame normally. --------- Co-authored-by: m4air <m4air@Mac.localdomain>
Orca
中文 · 日本語 · 한국어 · Español · Français · Português · Türkçe · Русский
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)
# Always use the full name; bare `orca` is an unrelated Plotly cask.
brew install --cask stablyai/orca/orca
# Upgrade an existing install
brew upgrade --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 sponsored/provided by SignPath.io, certificate by SignPath Foundation.
License
Orca is free and open source under the MIT License.










