Skip to content

v1.4.239

Latest

Choose a tag to compare

@github-actions github-actions released this 24 Oct 07:10

Two releases today! Check out the v1.4.238 release notes too. That release brought shared unsaved edits across workspaces, richer agent chats and remote account setup, a more capable browser, and smoother phone controls.

Your workspace, working together 🐳

Set up agent skills in one click, keep browser sessions separate between projects, and move more easily between chat and terminal. This release also strengthens the essentials: shared files stay in sync, SSH sessions recover more reliably, and phone interactions feel more predictable.

The short version

  • Skills, ready wherever you work: Install Orca’s skills in one click from setup screens, and install or update them on paired servers and SSH hosts with Orca’s own installer.
  • A browser that fits your projects: Choose shared, per-repo or per-workspace profiles for new tabs. Keep local app logins separate, use a familiar page context menu, and get clearer explanations when a page cannot load.
  • More fluid agent conversations: Split into a fresh chat beside your current one, continue with a terminal agent from the pane header, and keep queued messages and multiple image attachments intact.
  • Safer edits, quieter background work: Shared file views stay current after undo and discard. Non-UTF-8 files ask before conversion, file watching recovers after slowdowns, and Orca watches fewer unrelated files.
  • Remote work with a way back: Recover supported managed SSH servers from a stale lock in Settings, restore terminals after password sign-in, and keep a paired server’s SSH access link through restarts.
  • Better from your phone: Tapping a notification opens the agent that sent it, agent chat tabs can start dictation, terminal copy commands reach the phone clipboard, and Android scrolling keeps the keyboard out of the way.
  • Everyday polish, across languages: Better Korean input, Bengali and other Indic terminal rendering, more complete translations, Jira user pickers, and PR comment links that jump straight to the editor.

Phone updates: Updating Orca on the computer serving your phone updates the served interface. Native download, progress and navigation improvements require an updated native phone app.

Compatibility & upgrade notes

  • Browser profiles: Choose Settings → Browser → Profile for new tabs. Shared remains the default; per-repo and per-workspace profiles apply to new tabs. Paired-server pages use the server’s own profiles.
  • Native chat (experimental): Update paired and SSH hosts alongside Orca for the latest chat and launch fixes. Chat availability now checks the chat runtime separately from the terminal CLI, including supported Antigravity setups.
  • SSH recovery: Recover server… is available for supported managed Linux SSH hosts reporting a stale-lock refusal. It checks the lock and asks you to confirm that no other machine sharing that home is running Orca before clearing it. Phones point you to desktop Settings.
  • Experimental groundwork: Connector work remains behind the off-by-default experimentalConnectors flag. The layout-owner groundwork remains disabled. The empty-group launch actions and child-workspace status toggle were reverted before release.

Product experience

Agents, skills & setup

Get agent skills onto the machines where you work, with clearer launch choices and startup feedback.

  • Update Orca's skills with Orca's own installer instead of npx skills by @Jinwoo-H in #31688
  • Install and update Orca's skills on paired servers and SSH hosts by @Jinwoo-H in #31867
  • Install Orca's skills with one click on every setup screen by @Jinwoo-H in #31918
  • Chat agents are offered wherever their chat program runs, not only where their CLI is installed by @brennanb2025 in #28709
  • Explain agent startup failures in plain words by @brennanb2025 in #31932
  • Agents: store each agent's permission itself; terminals and new chats read it by @brennanb2025 in #31315
  • Apply paired host preferences to launch menus by @nwparker in #31971
  • fix(agents): + quick launch on a paired host uses the desktop's launch settings by @StrangerG in #32050
  • Negotiate agent launches with paired runtimes by @nwparker in #32029
  • Pair structured launches with the CLI runtime by @nwparker in #32061
  • Keep agent environment values with spaces when the field loses focus by @AmoabaKelvin in #31772
  • Retain managed WSL selection across distro casing by @nwparker in #31992
  • Allow independent hidden account restarts to progress by @nwparker in #31994
  • Start the default agent in the first folder added after skipping onboarding by @AmoabaKelvin in #32701
  • Read Cursor Unified Ultra current-period quotas by @nwparker in #31978
  • Show OpenCode provider quota failures as usage limits by @brennanb2025 in #31937
  • Keep Claude weekly usage from jumping back to an idle session’s old value by @brennanb2025 in #32249
  • Refine Agent Dashboard lifecycle handling by @AmethystLiang in #32172
  • Respect completed setup when CLI registration is unavailable by @spf13 in #32085

Native chat (experimental)

Keep conversations moving, split off a fresh chat, and reach pane actions without leaving the conversation.

Browser

Separate project sessions, open links where you expect them, and get clearer page controls and recovery.

Phone

Reach the right agent, dictate from chat, and keep terminal gestures and clipboard actions predictable.

Editor, files & performance

Keep every view of a file current and reduce unnecessary background work.

  • Every view of a shared file stays current after undo or discard, and non-UTF-8 files ask before converting by @nwparker in #32413
  • Saving a file, then closing that tab mid-save, no longer leaves its other tabs looking clean (STA-11786) by @nwparker in #32259
  • File watching rides out a slow system instead of restarting, and turns itself back on after a cooldown by @nwparker in #32397
  • Watch only the files Orca needs in its settings folder and .git, instead of the whole folders by @nwparker in #32410
  • Open files dragged from the explorer in the target editor group by @brennanb2025 in #31961
  • Keep paragraphs starting with "Dr.", "A." or "iv." out of ordered lists by @AmoabaKelvin in #32694
  • Render authored Markdown breaks as rich-editor line breaks by @xianjianlf2 in #8995
  • Let Cmd/Ctrl +/- zoom an open image by @bokeeeey in #32184
  • Resume media previews from their last playback position by @yigitozen33 in #32480
  • Retain explicitly opened directory symlinks during refresh by @nwparker in #32587
  • Keep readable documents after traversal errors by @mfkp in #27774
  • Preserve requested line across Preview teardown by @SamuelAdigos in #31676
  • Collapse mirrored Markdown aliases with shared backing identity by @DaveDev42 in #31984
  • Scope runtime connection and parking subscriptions by @nwparker in #32199
  • Bound per-write chat selector work and guard ownership scans by @brennanb2025 in #32109
  • Prepare separator variants once per query by @OrcaWin in #32252
  • Decode image and encrypted reply bytes without character arrays by @OrcaWin in #32300
  • Avoid redundant CRLF normalization when syncing Monaco by @OrcaWin in #32583
  • Avoid full-recording copies when encoding dictation by @OrcaWin in #32432
  • Accumulate MJPEG chunks instead of re-joining partial frames by @OrcaWin in #32967

Terminals, SSH & remote servers

Recover interrupted remote work and keep terminal output, file links and workspace lifecycle actions dependable.

  • feat(ssh): Recover server for a managed host refused on a stale lock, and surface that refusal in seconds by @nwparker in #32951
  • Add --reclaim-stale-lock for a lock no start can judge after a reboot on a shared home by @nwparker in #32915
  • Allow SSH migration recovery without stopping preserved relay terminals by @nwparker in #32914
  • Restored SSH terminals recover after password sign-in by @nwparker in #32275
  • Keep a paired server's SSH access link across its restarts, and let it relink by @nwparker in #33001
  • Preserve runtime recovery steps by @innocarpe in #24800
  • Never block or over-read on an SSH identity file by @nwparker in #32274
  • Never present a half-built synchronized-output frame on reveal or recovery by @nwparker in #32281
  • A timed-out CLI split names its pending pane, and a retry can never re-run its command by @nwparker in #32278
  • fix(terminal): Cmd/Ctrl+click opens the clicked path on a paired server when more paths follow by @nwparker in #32411
  • A file link opens in the workspace it was clicked in by @nwparker in #32320
  • Resolve Markdown file destinations before bare paths by @nwparker in #32056
  • Verify an exact stop through an overlapping liveness inventory by @nwparker in #32948
  • Scope daemon inventories for safe worktree teardown by @AmethystLiang in #32171
  • Clear route proof during synthetic exits by @AmethystLiang in #32196
  • Retire predecessor exit evidence on replacement by @nwparker in #32341
  • Scope launch-session verdicts to managed environments by @nwparker in #32047
  • The browser client advertises the desktop's chat capabilities, so its host opens chats by @nwparker in #32253
  • Main runs workspace sleep; the window follows (P3b) by @Jinwoo-H in #31564
  • Targeted resume of a recorded agent session, sharing an in-flight claim with pane resume by @Jinwoo-H in #31718
  • End a resume claim when the hook store reports it, not at the next claim by @Jinwoo-H in #32120
  • A slept server run opens its own tab from a paired desktop by @Jinwoo-H in #32132
  • Add main-owned project move pause barrier by @nwparker in #32940
  • Stop the terminal host scope from looping systemd with uresourced on Fedora by @Jinwoo-H in #32935
  • Keep Linux controls readable when their positions stall by @brennanb2025 in #31982
  • Keep Windows tree termination at normal scheduling priority by @nwparker in #32559
  • Offload macOS deletion spawns and reduce branch cleanup by @nwparker in #32227
  • Preserve binary output through termination barriers by @nwparker in #32633
  • Shape Bengali and other Indic clusters in the WebGL renderer by @thabir303 in #32210
  • Focus the neighboring pane when a split pane closes by @ibrahemid in #32238

Projects, source control & integrations

Jump from reviews to code, fill Jira user fields, and keep project actions tied to the right work.

Language, accessibility & interface polish

More natural text input, clearer translations, and controls that work better with touch and assistive tools.

Tests, builds & maintenance

Dependency security fixes, broader regression coverage, release-build improvements and continued cleanup.

All maintenance changes
  • refactor: colocate Jira favourite-filter contracts by @nwparker in #32102
  • Let a worker start helpers on the Run it works for by @brennanb2025 in #29205
  • refactor: colocate repository Jira project settings by @nwparker in #32107
  • refactor: colocate repository worktree defaults by @nwparker in #32112
  • refactor: colocate repository AI persistence queue by @nwparker in #32122
  • refactor(runtime): share the phone push's terminal-agent turn news by @Jinwoo-H in #32113
  • refactor(automations): share the idle agent-turn completion rule by @Jinwoo-H in #32114
  • refactor: colocate Linear list-scoping owners by @nwparker in #32133
  • Track transcript content truncation across session readers by @AmethystLiang in #32086
  • refactor: colocate relay assignment admission owners by @nwparker in #32142
  • Stop reviving a session outside the cell's map, keep the seat feed on live sessions, and log demote outcomes by @Jinwoo-H in #32149
  • Add Orca's own bundled-skill planner and installer (not wired in yet) by @Jinwoo-H in #31662
  • docs(chat): explain structured sessions and conversation handoffs by @nwparker in #32063
  • Exclude root development configs from desktop packages by @nwparker in #32021
  • Reject unsupported renderer-owned tab properties by @nwparker in #32018
  • Preserve rename boundaries in React Doctor gate by @nwparker in #32159
  • Main lints and typechecks again after #32018 by @Jinwoo-H in #32168
  • Reject ask waits above the documented 30-minute maximum by @nwparker in #32044
  • Reject task messages for another implicit Run by @nwparker in #32037
  • Show launch actions in empty tab groups by @AmethystLiang in #32182
  • docs: condense test anti-pattern guidance by @OrcaWin in #32201
  • refactor: colocate repository draft input and tests by @nwparker in #32155
  • test: consolidate discovery coverage and replace copied oracles by @OrcaWin in #32211
  • test: retire copied oracles and implementation inventories by @OrcaWin in #32206
  • test: remove classification inventories and verify settled boundaries by @OrcaWin in #32216
  • test: keep explicit regressions without legacy algorithm copies by @OrcaWin in #32218
  • ci: avoid slow Ubuntu mirrors during WebKit setup by @nwparker in #32205
  • Show child workspace statuses in the children toggle by @nwparker in #32224
  • [comment audit] Shorten preload comments by @OrcaWin in #32257
  • test: trim redundant coverage and track comprehensive audit by @OrcaWin in #32269
  • test: drain guarded saves before fixture cleanup by @nwparker in #32285
  • refactor(renderer): colocate Task Page pagination rules by @nwparker in #32297
  • Bundle Zod once per isolated Vitest invocation by @nwparker in #32298
  • Use incremental tsrs locally and update Bun to 1.4.4 by @nwparker in #32276
  • test: trim redundant coverage and fix vacuous assertions by @OrcaWin in #32305
  • Retain ambiguous unit-test import consumers by @nwparker in #32366
  • test: exercise real boundaries and trim redundant cases by @OrcaWin in #32353
  • Retain full coverage for shared unit runtime inputs by @nwparker in #32417
  • test: audit delayed replies and database boundaries by @OrcaWin in #32426
  • refactor(jira): colocate status error parsing with Jira owners by @nwparker in #32430
  • Retain TypeScript project input consumers by @nwparker in #32522
  • ci: move Linux package and relay jobs to the Blacksmith pool by @nwparker in #32442
  • test: audit CLI output and deferred delivery boundaries by @OrcaWin in #32498
  • ci: speed up full unit shards with eight-core workers by @nwparker in #32567
  • [comment audit] Shorten process-host comments by @OrcaWin in #32262
  • test: audit CLI dispatch and mobile host boundaries by @OrcaWin in #32576
  • [comment audit] Shorten CLI parsing and host-routing comments by @OrcaWin in #32265
  • [comment audit] Shorten remaining CLI root comments by @OrcaWin in #32273
  • ci: record WSL provisioning and cleanup lifecycle receipts by @nwparker in #32603
  • ci: warm the Windows 2025 native cache used by WSL by @nwparker in #32628
  • [comment audit] Shorten CLI handler comments by @OrcaWin in #32282
  • [comment audit] Shorten CLI runtime and command-spec comments by @OrcaWin in #32283
  • ci: move WSL Linux producers to the Blacksmith pool by @nwparker in #32634
  • [comment audit] Shorten top-level main process A–G comments by @OrcaWin in #32288
  • test: strengthen CLI, ACP, mobile web and CI coverage (audit 7) by @OrcaWin in #32681
  • [comment audit] Shorten top-level main process H–K comments by @OrcaWin in #32290
  • ci: verify indirect unit input ownership in shadow selection by @nwparker in #32685
  • ci: move the SSH mobile producer to the Blacksmith pool by @nwparker in #32784
  • test: strengthen CLI, lifecycle, bundle and build coverage (audit 8) by @OrcaWin in #32777
  • [comment audit] Shorten top-level main process L–O comments by @OrcaWin in #32295
  • Revert "fix(workspace): show launch actions in empty tab groups" by @AmethystLiang in #32838
  • Revert child workspace status summary toggle by @AmethystLiang in #32842
  • [comment audit] Shorten persistence and PTY root comments by @OrcaWin in #32303
  • Resolve security advisories across desktop, mobile, and docs by @OrcaWin in #32326
  • test: strengthen hook delivery, CLI and mobile shell coverage (audit 9) by @OrcaWin in #32876
  • test: clean up structured session prompt hook fixture by @nwparker in #32911
  • refactor(task-page): colocate repository selection modules by @nwparker in #32909
  • ci: route PR headless change detection off hosted queue by @nwparker in #32910
  • [comment audit] Consolidate completed code comment cleanup by @OrcaWin in #32905
  • ci: move routine checks and unsigned builds to Blacksmith by @OrcaWin in #32913
  • refactor(task-page): colocate Linear composition modules by @nwparker in #32916
  • ci: send dependency review notices to release Slack by @OrcaWin in #32917
  • refactor(jira): colocate shared contracts and capabilities by @nwparker in #32927
  • test: keep Activity search contracts without operation counters by @OrcaWin in #29807
  • test: reduce mobile relay integration startup imports by @OrcaWin in #29624
  • refactor(terminal): split terminal-file-open-routing.ts back under the line limit by @nwparker in #32932
  • Record renderer long-task measurements by @brennanb2025 in #32193
  • test: avoid unrelated application startup in shutdown suites by @OrcaWin in #29703
  • test: verify terminal chunk yields without waiting for Enter delay by @OrcaWin in #29752
  • test: retain moved-code gate behavior without replace counters by @OrcaWin in #29804
  • test: reuse maintenance worker setup for compatibility cases by @OrcaWin in #29761
  • test: reduce editor ownership test startup with existing slice fixture by @OrcaWin in #29650
  • chore(deps): apply reviewed maintenance updates and record full audit by @OrcaWin in #32349
  • docs: remove checked-in audit documents and artifacts by @OrcaWin in #32903
  • Patch vulnerable Zod collections in mobile and docs by @nwparker in #32941
  • Count region selection on every assign lane, fallback only for new placements by @Jinwoo-H in #32186
  • Spill onto a reserve seat in either region before relay_capacity_exhausted by @Jinwoo-H in #32188
  • refactor: group remote runtime requests and subscriptions by @nwparker in #32952
  • Let roll tooling read a reserve-mode cell and count its drain by @Jinwoo-H in #32178
  • [comment audit] Continue main-process comment cleanup by @OrcaWin in #32946
  • test: strengthen hook, build, and mobile lifecycle coverage by @OrcaWin in #32968
  • refactor(shared): group remote runtime shared-control lifecycle by @nwparker in #32977
  • test: strengthen CLI expectations and consolidate repeated scenarios by @OrcaWin in #32976
  • Consolidate structured status projection at each host feed by @brennanb2025 in #32239
  • test: remove copied inventory and strengthen CLI, preload, and Cloud boundaries by @OrcaWin in #32982
  • refactor(worktrees): remove unreachable legacy worktree list IPC by @OrcaWin in #32942
  • refactor(rate-limits): remove unreachable setPollingInterval and refreshMiniMax IPC by @OrcaWin in #32945
  • refactor(dashboard): remove unreachable popout spawn/sleep IPC by @OrcaWin in #32954
  • test: verify runtime delivery and remove real-time socket waits by @OrcaWin in #32988
  • Resolve body-parser and happy-dom security findings by @nwparker in #32983
  • refactor: remove four unreachable preload IPC bridges by @OrcaWin in #32950
  • test: replace hook shape checks with execution and delivery assertions by @OrcaWin in #32991
  • chore(ipc): remove unreachable hooks:createIssueCommandRunner IPC by @OrcaWin in #32953
  • refactor(ipc): remove unreachable runtime-environment provisioning and control-retry IPC by @OrcaWin in #32960
  • ci(windows): route real installer probes by changed inputs by @nwparker in #32993
  • test: verify hook delivery and exit cleanup through observable state by @OrcaWin in #32994
  • refactor(shared): colocate remote runtime Tailscale guidance by @nwparker in #32992
  • test: strengthen retirement controls and remove redundant waits by @OrcaWin in #32995
  • refactor(agent-status): reuse the shared bounded-string guard by @OrcaWin in #32989
  • test: tighten hook and relay coverage and consolidate launcher checks by @OrcaWin in #32998
  • refactor: colocate remote runtime connect bound by @nwparker in #33004
  • test: replace self-fulfilling checks with production boundary assertions by @OrcaWin in #33006
  • [comment audit] Clean up IPC, host lifecycle and native-chat comments by @OrcaWin in #32966
  • Refuse sends to a Run whose home is another computer by @nwparker in #33005
  • Report unreadable commands as conflicts by @buf0-bot[bot] in #6511
  • Trust the dev app's bundle id in the helper's peer check by @petersindex in #26500
  • Reset Muse hook state and strengthen regression tests by @OrcaWin in #33008
Experimental groundwork (disabled by default)
  • Layout groundwork (switched off): every question about which pane holds a terminal asks main's layout by @Jinwoo-H in #32002
  • Connector start and conversation links behind the off-by-default experimentalConnectors flag (B2b-1) by @Jinwoo-H in #31805
  • Connector follow-ups, held during approvals, behind the off-by-default experimentalConnectors flag (B2b-2) by @Jinwoo-H in #31806
  • Reopen a closed or exited agent on its next message (B2c) by @Jinwoo-H in #32119
  • A connector backlog cannot fill orchestration's receipt ledger by @Jinwoo-H in #32130
  • Pending prompts, answers and turn events behind experimentalConnectors (B3) by @Jinwoo-H in #32160
  • Rehome reserve hosts into their own region on reconnect (off by default) by @Jinwoo-H in #32191
  • Cancel a conversation's queued work and stop its agent, behind experimentalConnectors (B4) by @Jinwoo-H in #32961

New Contributors

Full Changelog: v1.4.238...v1.4.239