`SearchAddon._highlightAllMatches` calls `SearchEngine.find` once per match, up to the addon's 1 000-decoration limit, and every call resumes deep inside the logical line. Three things in that path were O(line) per call, so one un-newlined line holding many matches stayed quadratic after the no-match scan was bounded: the rewind to the line start, `stringLine.toLowerCase()`, and `_bufferColsToStringOffset` summing the cells of every row before the resume column. Measured on the real Terminal + real SearchAddon through Orca's `safeFind`, one line of 30 000 rows with 750 matches: 31.0 s plain, 36.2 s regex, 38.2 s whole word of blocked renderer main thread — re-run on every find-bar keystroke and 200 ms after every write. Above the default scrollback that is a worse failure than the RangeError the `terminal.workbench` boundary used to recover from, so bounding the other scans was not enough on its own. - `_bufferColsToStringOffset` takes the cached `lineOffsets` and reads whole rows out of it, walking cells only for the last, partial row. - `SearchLineCache.lineStartRow` remembers the wrapped span it last resolved, so re-entering the same line costs O(1) instead of O(rows). It keeps the row-0 bound the rewind loop had. - `SearchLineCache.caseFoldLine` memoizes the folded line per row. Both memos live in `SearchLineCache` beside `_linesCache` and are dropped by `_destroyLinesCache`, so they inherit its invalidation exactly: line feed, cursor move, resize, and the 15 s TTL. Same three shapes now 222 ms / 310 ms / 180 ms of test time including the 2.4 MB write, against a 5 000 ms budget the committed test asserts. Reading whole rows out of `lineOffsets` also removes an upstream off-by-one: the cell sum counted the trailing null placeholder of a wide character that wrapped to the next row, which `translateBufferLineToStringWithWrap` had already dropped from the joined string, so a match at that boundary was skipped. A 400-scenario differential fuzz against the previous build diverges in 27 scenarios; in every one the new match count equals an independent oracle counted over the same translated lines, the old build under-counted in 8 of the 18 rechecked, and no selection on either side pointed at text that was not the term.
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
OpenCode
MiMo Code
Amp
OpenClaude
Antigravity
Pi
oh-my-pi
Hermes Agent
Devin
Goose
Auggie
Autohand Code
Charm
Cline
Codebuff
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 or join TestFlight
- Android: Download APK 0.0.47 · 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 8.
-
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.
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.










