Repository navigation
Releases
v1.4.252
Fork chats from any reply, Plan mode & a faster phone ✨
- 🗂️ Organize workspaces across machines: Nest workspaces under a folder workspace, including workspaces on other machines.
- 🌿 Do more with Chat UI: Fork any finished response to try another direction while the original chat stays as it was. In Claude or Codex chats, type
/planto switch to Plan mode, which persists when you reopen the chat. - 🤖 Better agent support: Open running subagents from chat, see proposed files and diffs in Codex approvals, answer OpenCode choice questions, and sign in to Antigravity Chat with Gemini Enterprise.
- 📱 A smoother experience on your phone: The phone opens and reconnects sooner, scrolls and streams chats more smoothly, reads Markdown and math better, and keeps unsent chat, review and Tasks text across reconnects.
- 🏠 Start working right away: New profiles open in a folder workspace at your home folder, and "Set up later" opens your default agent instead of asking you to add a project.
- 🎙️ Better dictation: Pick your dictation language, keep the first and last words, see Listening while the model loads, and get on-device text back about a third sooner.
- 🧭 Know where a chat runs: The chat composer shows the machine, workspace and branch, and chats show a card for each pull request the agent opens.
- ⚡ Snappier desktop chats: One chat's status change no longer wakes every chat, the model picker opens without walking every worktree, and long replies stream without re-rendering.
Highlights
- Chat: Fork from any finished response, use Plan mode in Claude and Codex chats, and open a running subagent from the agents strip. Codex approvals show the proposed files and diffs, OpenCode can ask choice questions, and Claude's built-in server tools show as normal tool cards. Holding Cmd/Ctrl in a busy chat shows what Cmd/Ctrl+Enter will do, app shortcuts work from the chat editor, and oversized pasted images shrink to fit instead of failing. Signed-out OpenCode, Pi and OMP chats offer a Sign in button.
- Phone: Markdown is easier to read and renders math, GitHub alerts, task boxes and images. Rename a workspace from its menu, see automatic continue and Switch Account on usage-limit notices, and keep chat sends, PR text, review notes and Tasks drafts when a connection drops. The phone dials the relay right away when that worked last time, keeps terminal output across a network switch, and streams busy terminals without falling behind.
- Agents & accounts: Antigravity Chat can sign in with Gemini Enterprise, reports quota for every saved account and manages accounts inside WSL.
orca accountcan select and remove any saved account. Antigravity IDE joins the Open In presets. - Remote hosts: SSH says plainly when a host now serves a different Orca server, disconnects a host whose server you stopped, and honors IdentitiesOnly on manual hosts. Sleeping recipe VMs wake when any client opens them,
orca servecan bind to one address, and browsing through a paired server is faster on high-latency links. Browser tabs show when an SSH host is controlling them, with a way to stop it. - Source control & Tasks: Phone branch switches are refused with a plain reason when they would move uncommitted work or land mid-rebase. Checks show when they ran and how long they took. Tasks can filter GitHub PRs and GitLab MRs by state and by who wrote or reviews them, and pasted images upload before a GitHub draft is published.
- Workspaces & plugins: Multi-repo folder workspaces can parent workspaces, and workspaces can nest under parents on other machines.
orca plugininstalls, updates and removes plugins and manages catalogs, plugin pages show more about their publisher, and look-alike plugin names show who published them.
Compatibility & upgrade notes
- macOS 13.4 minimum: Orca now needs macOS 13.4 or later (previously macOS 12). Macs on older versions stay on their last compatible build through the in-app updater and see a notice, and Homebrew refuses the upgrade on macOS 13.0–13.3. Any Mac on macOS 13 can update to macOS 13.7 to keep getting Orca updates.
- Dictation model: The Zipformer EN dictation model is no longer offered. If you had it selected, Orca moves you to Parakeet v2, which you may need to download in Settings › Voice before dictation works.
- New profiles: Fresh desktop profiles open in a folder workspace at your home folder, named
~. Existing profiles are unchanged. "Set up later" in onboarding now opens your default agent. - Pairing codes expire: Unused desktop pairing codes now expire: the phone QR code after 10 minutes and the pair-another-computer link after 60 minutes. Devices that are already paired are unaffected.
- Chat UI settings: The changed files card and opened pull request cards are now controlled from Settings › Chat UI › Turn activity, as Turn diffs and Opened pull requests.
- Local browser proxy: The local browser control proxy now requires a per-session token that only Orca's own agent-browser launches receive, so other programs on your machine can no longer use it.
- Downgrading: Chats that used Plan mode can't be opened by v1.4.251 if you downgrade. They open again after you upgrade back.
Product experience
Native chat & agents
Branch a chat from any reply, plan before building, see where a chat runs and keep long chats fast.
- Fork a Chat UI chat from any finished response by @brennanb2025 in #38326
- Support native Plan mode in chat by @brennanb2025 in #38286
- Show machine, workspace and branch below the chat composer by @brennanb2025 in #38253
- fix(chat): shrink the composer workspace footer and center its text on the icons by @brennanb2025 in #39261
- Show a card in chat for pull requests the agent opens by @brennanb2025 in #38750
- feat(native-chat): show details on link cards for any repo on a known host by @brennanb2025 in #38892
- Group turn diffs and opened PRs under Chat UI › Turn activity by @brennanb2025 in #39127
- Let users hide the changed files card in chat by @brennanb2025 in #38756
- Holding Cmd/Ctrl in a busy chat shows what Cmd/Ctrl+Enter will do by @brennanb2025 in #38749
- Cmd/Ctrl+Enter sends the first queued card after a Stop by @brennanb2025 in #38877
- feat(native-chat): open a subagent from the agents strip by @brennanb2025 in #38640
- feat(native-chat): step between a question card's questions with Left and Right by @big-sheq in #38335
- Show OpenCode choice questions in chat by @brennanb2025 in #38872
- Show proposed files and diffs in Codex approvals by @brennanb2025 in #37960
- fix: display Claude server tools in chat and history by @brennanb2025 in #38811
- Keep Claude plugin UI out of chat and recover blocked replies by @brennanb2025 in #37965
- Offer terminal sign-in recovery in native agent chats by @brennanb2025 in #39012
- Keep the saved model when reopening ACP chats by @brennanb2025 in #38815
- Import Codex command history the way the live chat shows it by @brennanb2025 in #39066
- fix(omp): use OMP model roles, selectors and effort in chats and workers by @brennanb2025 in #38713
- Keep app shortcuts working from the chat message editor by @brennanb2025 in #38724
- fix(native-chat): let Cmd+R rename a chat tab from its composer by @big-sheq in #38388
- fix(native-chat): run the equalize pane sizes shortcut from Chat UI panes by @sungman-cho in #37755
- Show switch-back note after enabling Chat UI by @AmethystLiang in #38703
- Shrink oversized pasted images to fit instead of failing with "Clipboard image is too large" by @brennanb2025 in #39050
- Highlight already open structured agent panes by @AmethystLiang in #39219
- fix: restore delete action in session list by @AmethystLiang in #39163
- Apply supported read-only controls to hidden text helpers by @brennanb2025 in #38558
- Keep published active tabs aligned with current selection by @brennanb2025 in #38844
- fix(runtime): keep a restored permission wait blocking prompts while the reattached screen shows its dialog by @nwparker in #38761
- fix(acp): keep the ACP run temp folder short enough for unix sockets by @nwparker in #38968
- fix(skills): stop the orchestration stub repeating its description by @Sn1perdog in #37850
- fix(agent-hooks): stop CodeBuddy PermissionRequest from marking panes as waiting by @EdgerHao in #38009
- fix(agents): list agents found through a custom command path by @nwparker in #39178
- fix(codex): keep the clipboard SSH marker out of commands Codex runs by @nwparker in #38914
- One chat's status change wakes only that chat by @brennanb2025 in #38883
- Keep native cha...
v1.4.251
Richer phone chats, add-to-chat from anywhere & steadier terminals ✨
- 📱 Much more chat on the phone: Rewind to an earlier message, continue a stopped reply, pin the agent's plan above the composer, paste images and long text, manage a chat's goal and see context usage, with unsent drafts kept across an app restart.
- 📎 Add anything to chat: Send a selection from a file, a Markdown preview or a terminal to any agent in the workspace, or start a new agent with it.
- 🔁 Chats pick up after a restart: New installs resume working chats automatically after Orca quits or updates, and resuming is more reliable for everyone who has it on.
- 🤖 Workers can start their own workers: Nested workers are allowed by default, finished workers can keep messaging their coordinator, and stopping a worker stops its helpers.
- ⚡ Faster everyday work: Launch skips a second login-shell capture, source control and the tab bar do less repeated work, and long chats stay responsive.
- 🖥️ Steadier terminals: Terminals re-attach after a daemon reconnect, survive a busy app, and new GPU canvases no longer flash blank.
- 🗂️ Easier project organization: Collapse or expand all projects, create a child worktree from the context menu and refresh folder project groups.
Highlights
- Chat: Add a file, Markdown preview or terminal selection to a chat. Agent messages use one-line cards on desktop and phone, native chats appear in Cmd+J recents and title search, and Cmd/Ctrl+Enter on an empty composer steers the first queued message. Claude chats keep effort changeable after the first reply and clear a stuck "needs permission" status when Claude ends the request itself. Codex chats show
/usageand subagent task names. - Phone: Rewind and continue chats, pin the plan, paste images and long text, set and manage goals, see the context usage ring, follow background tasks, copy or share images, copy file paths, choose where links open, and sign in from a signed-out chat.
- Orchestration: Workers can start their own workers, keep messaging their coordinator after they finish, and stop their helpers when stopped. Mail waits for a draft you are typing, including in OpenCode and after a restart.
- Performance: Startup, source control conflict badges and branch compares, the tab bar, browser login detection, Pi terminal spawns and plugin catalog images all do less repeated work. Long chats no longer rescan their whole history on every status update. Chats with ACP agents also stop holding on to finished tool and message records for the chat's whole life.
- Terminals & remote hosts: Terminals re-attach after a daemon reconnect and keep their link through a main-process freeze. SSH explains when a host's server setup stops on a known cause and stops restarting a server that keeps crashing. Server actions reconnect a disconnected server.
Compatibility & upgrade notes
- Nested worker depth: The default is now 4. Existing profiles set to 1 move to 4 on upgrade; you can set it back in Settings, and Orca keeps that choice.
- Resume working chats after restart: On by default for new installs only. Existing users keep their saved choice, and existing profiles that never chose stay off.
- Claude permission status: Clearing a "needs permission" status that Claude ended itself needs Claude 2.1.118 or later. Orca installs one more managed Claude hook for it; older Claude versions keep the previous behavior.
- macOS updates: Macs below a release's minimum macOS stay on their last compatible build and get a one-time notice. The minimum is still macOS 12, so nothing changes yet.
- Chat UI menu: "Fork Agent Session…" is no longer in Chat UI's menu. Terminals keep it.
Product experience
Native chat & agents
Bring more context into chats, keep long chats responsive and smooth out Claude, Codex and OpenCode details.
- Add a file, markdown preview or terminal selection to the chat by @brennanb2025 in #38251
- Open a terminal when splitting a Chat UI pane by @brennanb2025 in #37984
- Cmd/Ctrl+Enter on an empty chat composer steers the first queued message by @brennanb2025 in #38732
- Include native chat tabs in Ctrl+PageUp/PageDown cycling by @brennanb2025 in #37952
- Show native chats in Cmd+J recents and title search by @brennanb2025 in #38574
- Use one-line cards for all agent messages on desktop and phone by @brennanb2025 in #38615
- Show model and effort before a folder chat’s first message by @brennanb2025 in #38498
- Keep Claude chat effort aligned with its resolved setting by @brennanb2025 in #38338
- Keep a Claude chat's effort changeable after its first reply by @brennanb2025 in #38272
- feat(native-chat): show the chat's Codex usage card for /usage by @brennanb2025 in #38352
- Codex subagent rows show their task names instead of all saying "worker" by @brennanb2025 in #38491
- Keep prices readable in chat by @brennanb2025 in #38651
- feat(native-chat): color chat links with the theme's link color by @AmoabaKelvin in #38676
- fix(native-chat): make file links in terminal-backed plan approvals actionable by @brennanb2025 in #38495
- feat(omp): ask multiple-choice and batched questions in chat view by @AmoabaKelvin in #38684
- fix(native-chat): list OpenCode's own and custom slash commands as soon as the chat opens by @AmoabaKelvin in #38698
- fix(claude): drop the local-command caveat when rewinding to a slash command by @nwparker in #38743
- Remove Fork Agent Session from the Chat UI menu by @brennanb2025 in #38646
- fix(native-chat): name a chat resumed from a session after that session by @AmoabaKelvin in #38679
- fix(ai-vault): keep a reply that matches the session title in Latest turns by @AmoabaKelvin in #38666
- fix(claude): turn on Artifact tools in native chat sessions by @brennanb2025 in #38248
- fix(chat): repair account setup and recover startup retries by @brennanb2025 in #38389
- fix(agents): paired-host agent tabs use the host's launch settings by @brennanb2025 in #38301
- fix(acp): permission prompts from an agent's own work wait for you by @brennanb2025 in #38488
- Clear a Claude permission wait when Claude ends the request itself by @brennanb2025 in #38648
- Resume working chats after restart by default for new users by @brennanb2025 in #38649
- Keep long chats responsive: stop rescanning whole history on each status update and subagent name by @brennanb2025 in #38627
- Release obsolete ACP tool and message bookkeeping by @brennanb2025 in #38767
Orchestration
Let workers do more on their own and deliver mail at the right moment.
- Let workers start their own workers by default (nested worker depth 4) by @Jinwoo-H in #38348
- Let a finished worker keep messaging its coordinator by @Jinwoo-H in #38357
- Stop a worker's helpers when the worker is stopped by @Jinwoo-H in #38373
- Make temporary worker banners more prominent by @AmethystLiang in #38465
- Keep orchestration messages tied to their actual agent identity by @brennanb2025 in #37966
- fix(orchestration): let worker_done settle when SQLite cannot write a temp file by @Jinwoo-H in #38358
- fix(orchestration): drop the worker brief line that read as a ban on pushing by @Jinwoo-H in #38349
- fix(orchestration): don't let a dim prompt suggestion hold mail as a draft by @Jinwoo-H in #38370
- fix(orchestration): hold mail for a draft typed before an Orca restart by @Jinwoo-H in #38398
- fix(orchestration): hold mail behind a draft typed into OpenCode by @Jinwoo-H in #38451
- fix(terminal): press Enter once the composer shows the pasted prompt by @Jinwoo-H in #38401
Terminals, performance & updates
Keep terminals attached and painted, start faster, and keep older Macs on a build they can run.
- fix(runtime): re-attach every terminal a daemon reconnect detached by @nwparker in #38704
- fix(daemon): a main-process freeze no longer tears down the terminal daemon link by @nwparker in #38695
- fix(terminal): paint a new WebGL canvas through an open synchronized frame instead of flashing blank by @nwparker in #37604
- fix(terminal): ask before closing a tab when Orca can't tell if an agent is running by @AmoabaKelvin in #38697
- fix(runtime): date title-only agent status at the PTY status transition by @nwparker in #38706
- Terminal tabs show the agent session's name instead of the first-prompt ti...
v1.4.250
We did two releases today! Be sure to check out the v1.4.249 release notes, which include easier Chat or Terminal setup, more control over conversations, and a redesigned phone Home.
Lower terminal memory use, clearer chat changes & a Chrome-compatible password manager ✨
- ⚡ Lower terminal memory use: Stop repeatedly reading and parsing font files for terminal ligatures, fixing a source of high memory use and launch crashes in sessions with many terminals.
- ⚡ Faster worktree switching: Performance improvements make switching between worktrees faster.
- 📝 See what agents changed: Chat turns show changed files and line counts, with patches available inline on desktop and phone.
- 🔐 Chrome-compatible password manager: Enable in Settings → Browser to save, fill, import Chrome passwords, and manage logins, encrypted locally with your OS’s secure storage.
- 💬 Chat UI keeps up with your agent: Long, tool-heavy turns stay connected in Chat UI, and new chats follow your agent’s own model configuration unless you choose a model.
- 🖥️ More reliable terminals and hosts: Prevent stray escape-sequence text after terminal output gaps, and make paired-server workers and usage polling available on headless hosts.
- 📱 Better phone continuity: Send chat with Cmd/Ctrl+Enter and keep paired devices following the tabs they open.
Highlights
- Performance: Worktree switching is faster. Terminal ligatures no longer parse an entire font for every terminal. In the PR’s Windows test with Commit Mono, 32 terminals relaunched without the previous out-of-memory crash; results depend on fonts and workload. Closing a tool in a long agent turn also avoids scanning every other live tool.
- Chat: Successful Claude and Codex edits appear as changed-file summaries in the conversation, with patch details loaded on selection. Chat UI no longer interrupts an otherwise healthy agent turn when it exceeds 128 live text or tool entries. Codex chats show requested wait durations and support goal pause, resume and clear.
- Browser: Save and fill logins in Orca’s browser and manage them in browser settings. Passwords use OS-backed encryption; the vault is unavailable when secure storage is unavailable.
- Terminal & remote hosts: Terminal stream recovery avoids printing partial escape sequences after output gaps. Headless hosts start the services needed for paired-server workers and usage polling.
- Workspace & onboarding: Choose Chat UI during onboarding, hide the onboarding checklist, find hidden discovered worktrees outside project grouping, and use the improved inactive workspace cleanup interface.
Compatibility & upgrade notes
- Terminal ligatures: Common ligatures remain available. Font-specific ligatures outside the built-in list may no longer join with the GPU renderer.
- Browser passwords: The vault is available in the desktop browser, including local and SSH workspace pages; streamed paired-server pages and the web client do not have a vault. Secure OS encryption is required.
- Chat model defaults: A new chat without an explicit model choice uses the agent’s configuration. The displayed default can be stale until the agent starts and reports its model.
- Terminal recovery: Remote-runtime streams retain their existing recovery behavior.
Product experience
Native chat & agents
Review changed files in context and keep longer agent turns moving.
- fix(chat): keep pending workspace composers ready by @AmoabaKelvin in #37954
- Show the requested wait duration in Codex chats by @brennanb2025 in #37951
- fix(chat): show Codex image generation as generating while it runs by @AmoabaKelvin in #38269
- Keep long agent turns alive beyond 128 timeline entries by @brennanb2025 in #38257
- Show changed files directly in chat turns by @brennanb2025 in #38256
- New chats run the agent's configured model when you haven't picked one by @brennanb2025 in #38252
- fix(native-chat): let arrow keys reach a question card's answer field by @big-sheq in #38285
- fix(native-chat): run /goal pause, resume and clear in Codex chats by @brennanb2025 in #38250
- fix(native-chat): show list numbers in folded chat messages by @AmoabaKelvin in #38319
- fix(native-chat): wrap long answers in a question card's answer field by @AmoabaKelvin in #38325
- fix(dictation): keep the transcript when you stop with the composer's stop button by @AmoabaKelvin in #38327
- fix(native-chat): keep chat suggestions above the composer when the floating panel moves by @AmoabaKelvin in #38322
- fix(native-chat): show @ and / suggestions above the agent setup submenu by @AmoabaKelvin in #38328
- Keep a Pi chat awake while its background subagents run by @brennanb2025 in #38207
Terminals, performance & hosts
Reduce terminal memory use and improve stream and headless host reliability.
- fix(terminal): keep the ligature addon from reading font files by @OrcaWin in #38240
- fix(terminal): only resume a terminal stream where xterm is, so escape tails never print by @nwparker in #38049
- fix(orcad): stop the managed server crash-looping under a ulimit -v address-space limit by @nwparker in #38263
- fix(agent-state-rules): treat a 404 as nothing published, not a warning by @nwparker in #38278
- fix(serve): give headless hosts the services the desktop window path started by @nwparker in #37633
- fix(terminal): every terminal tab close declares who asked; no implied user close by @nwparker in #38284
- Use the shared agent picker for terminal quick commands by @brennanb2025 in #38213
Browser
Save logins and improve remote workspace browser behavior.
- fix(browser): stop terminal links in remote workspaces showing the agent glow by @AmoabaKelvin in #38262
- feat(browser): save and fill passwords in Orca's browser by @AmoabaKelvin in #33994
Phone & paired devices
Keep chat input and tab navigation consistent across devices.
- fix(mobile): send chat with Cmd/Ctrl+Enter by @brennanb2025 in #38267
- Keep the phone's chat Send button the same as desktop while the agent works by @brennanb2025 in #38317
- fix(session-tabs): paired devices follow every tab they open, not just the first by @AmoabaKelvin in #38336
Workspaces, onboarding & automations
Make setup, workspace navigation and automation runs easier.
- Add Chat UI choice to onboarding by @AmethystLiang in #36204
- Add hide button to onboarding checklist by @AmethystLiang in #38241
- fix(right-sidebar): hide the previous worktree's panels while a workspace is created by @AmoabaKelvin in #38261
- fix(automations): let Run Now start without checking the GitHub source tool by @Jinwoo-H in #38029
- Say where to switch back from Chat UI wherever Orca turns it on by @brennanb2025 in #38243
- fix(sidebar): show hidden discovered worktrees outside project grouping by @brennanb2025 in #38231
- fix(sidebar): extend the workspace list scrollbar hit area past the seam by @OrcaWin in #38288
- Align grouped workspace cards with sidebar headers by @AmethystLiang in #38245
- Improve inactive workspace cleanup interface and add repository indicator by @Jingyue-Wu in #38281
Tests, CI & maintenance
Maintain tests and cross-version checks.
- Remove 129 low-value test cases and 45 whole suites by @OrcaWin in #38233
- Remove 382 low-value test cases and 46 whole suites by @OrcaWin in #38238
- Remove 552 low-value test registrations and 58 whole suites by @OrcaWin in #38255
- test(cross-version): resolve moved shared modules in release checkouts by @AmoabaKelvin in #38270
- test(e2e): layout oracle restart comparison honors terminalsRestart by @brennanb2025 in #38271
- test: remove low-value renderer suites by @OrcaWin in #38276
- test: remove low-value renderer suites and unused fixtures by @OrcaWin in #38292
- test: remove low-value renderer suites and orphaned harnesses by @OrcaWin in #38299
- test: remove low-value renderer followup suites by @OrcaWin in #38310
- test: remove low-value launch palette and tour suites by @OrcaWin in #38316
- test: remove low-value account and surface settings suites by @OrcaWin in #38323
- test: remove low-value renderer launch and settings suites by @OrcaWin in https://github.com/...
v1.4.249
Easier setup, more control over chats & tidier workspaces ✨
- 🎛️ Choose Chat or Terminal from the start: Onboarding now lets you pick Chat UI or Terminal, then choose an agent and install the skills for that setup.
- 💬 Keep control of conversations: Preserve chat inputs through uncertain delivery and Stop, choose whether sending moves the scroll position, and decide when idle chat agents stop—or keep them running.
- 🗂️ Keep projects tidy: Adding a project keeps discovered worktrees hidden, while create and clone handle symlinked parent folders consistently.
- 📝 Make reading and editing your own: Set the default Markdown view, optionally insert a final newline on save, and adjust chat width from pane headers.
- 📱 A clearer phone Home: The updated phone app separates Feed, Usage, Automations and Settings, shows more agent usage, and names recent conversations.
- 🧩 Small fixes across daily work: Keep terminal scroll position on input, open file links in their workspace, render Mermaid in PR comments, and close floating browser splits from their own toolbar.
Highlights
- Setup & skills: Pick Chat or Terminal during onboarding, use the updated agent picker and theme step, and install Chat skills for the selected provider on this computer. Empty newly added projects can open the chosen Chat agent when that route is supported.
- Chat behavior: Inputs and queued follow-ups are retained through uncertain delivery and Stop. New settings control scroll position when sending and when idle chat agents stop. Loaded chat images stay visible across scrolling and workspace switches, and Pi compaction holds sends until it finishes.
- Agent choices: Managed Claude accounts keep later
/modeland effort choices when the defaults have not changed. Claude fallback is shown without changing saved model choices; OpenCode effort follows the selected model, and Claude chat adds Ultracode effort. - Projects & navigation: Adding a project keeps discovered worktrees hidden. Project creation and cloning resolve symlinked parents consistently; manual workspace order and type-to-search in the new-workspace agent picker receive fixes.
- Editor & browser: Choose the default Markdown view, enable Insert Final Newline on save, preserve chat HTML appearance in file previews, and close a floating browser split without closing the terminal beside it.
- Phone: The updated app adds Home tabs, usage for more agents and conversation names in Jump back in. It also improves terminal input, effort controls, HTML previews and Android theme/navigation behavior.
- Automation & notifications: Automations use the shared agent picker, accept Pi model/thinking arguments and refresh when projects change. Interrupted terminal automation runs are recorded as failed, acknowledged desktop alerts clear, and OpenCode completion notifications handle OSC 7501.
Compatibility & upgrade notes
- Existing setup choices: The new onboarding choices use existing surface and agent preferences. This release does not reset everyone's default agent or switch every existing workspace to Chat. A workspace with existing tabs keeps them; the new-project Chat path depends on a supported runtime and agent.
- Chat settings: Scroll-on-send and idle-agent stopping are configurable. Choose Never if you want idle chat agents to remain running; stopping an idle agent is separate from deleting the conversation.
- Managed Claude accounts: Unchanged defaults stop overwriting later account choices after settings synchronization. This does not recover choices overwritten by an older build, and changed default keys still apply.
- Paired servers: Improvements to paired-server file links use the new capability when available; older servers retain their existing path. There is no new minimum server version for the setup changes. GitHub issue limitations with older servers remain below.
- Phone changes: Native phone UI and Android fixes require an updated Orca Mobile app as well as a compatible desktop or server. The mobile changes are included in Orca Mobile 0.0.64; updating desktop alone does not install a native phone release.
- Orchestration panel: The experimental panel and its setting are temporarily disabled again. Orchestration messaging changes are separate from availability of that panel.
Known issues
Chat setup with no default agent: With Chat UI enabled and the default agent cleared in Settings, Setup Guide's Install skills button can remain disabled without an explanation. Choose a default agent, such as Claude, before installing.
Shell history after a cold restart: Some Mac shell panes can reopen without showing their previous output after a full app and terminal restart. This class of failure was also observed on v1.4.248; the cause remains unresolved. This release does not claim to fix it.
GitHub issues on older paired servers: Opening an issue through a repository or URL can leave title, label and assignee editing unavailable. Phone issue Close/Reopen can also refuse an older server or intermediary. Open on GitHub remains available.
Saved chat storage & performance: Live-history compaction remains paused, so storage can grow as conversations continue. This release does not claim to remove every source of chat stalls. Hook changes reduce subprocess work, but whole-app latency, CPU and heap improvements were not measured.
Long update delays: With a 14- or 30-day delay, a release can leave the update feed before it becomes eligible. None and Skip Delay Once remain available.
Plugin command replacements: A plugin replacing a built-in command can still finish after Orca has used the normal command instead, causing the action to happen twice.
Product experience
Native chat
Keep inputs available through interrupted delivery, adjust chat behavior, and make conversations easier to read.
- Add chat width settings to pane headers by @AmethystLiang in #37753
- Dismiss native chat link previews when opening links by @brennanb2025 in #37911
- Keep question answers visible until delivery completes by @brennanb2025 in #37883
- Fix OpenCode effort selection for the selected model by @brennanb2025 in #37950
- Make links in chat questions clickable by @brennanb2025 in #37992
- Add Ultracode to Claude chat effort by @brennanb2025 in #38010
- Preserve chat inputs through uncertain delivery and Stop by @brennanb2025 in #32267
- fix(native-chat): keep loaded chat images on screen across scroll and workspace switches by @AmoabaKelvin in #38176
- fix(pi): show compaction in chat and hold sends until it ends by @AmoabaKelvin in #38191
- feat(native-chat): add a setting to keep the scroll position when sending by @manuelmeurer in #38162
- feat(native-chat): let users pick when idle chat agents stop, or never by @AmoabaKelvin in #38202
- Remove the New divider from Chat UI by @AmethystLiang in #38044
Agents & orchestration
Choose Chat or Terminal during setup, keep provider choices intact, and improve agent messages and status.
- fix(skills): rename computer use to orca-computer-use by @AmoabaKelvin in #37659
- Show orchestration message content without the agent envelope by @brennanb2025 in #37891
- update chat ui intro by @AmethystLiang in #37924
- fix(agent-hooks): preserve Antigravity ownership across nested hooks by @AmoabaKelvin in #37955
- fix(claude): reflect fallback without changing saved models by @AmoabaKelvin in #37958
- Keep orchestration notices in one-line expandable cards by @brennanb2025 in #37968
- Increase Orchestration panel and tab contrast by @brennanb2025 in #37994
- Clarify account switching and session restart prompts by @AmethystLiang in #38056
- fix(orchestration): a worktree a paired client starts on a remote server is that client's by @Jinwoo-H in #38034
- Deliver orchestration mail during active turns by @brennanb2025 in #38041
- Remove redundant Show less buttons from agent cards by @brennanb2025 in #38074
- Shrink orchestration message status backgrounds by @brennanb2025 in #38079
- fix(ai-vault): show closed Antigravity chats in Agent Session History by @AmoabaKelvin in #38203
- fix(claude-accounts): keep /model and effort choices on managed Claude accounts by @AmoabaKelvin in #38219
- perf(agent-hooks): start 7 processes per Claude hook event instead of 17 by @rikbrown in #38180
- fix(notifications): notify when an OpenCode turn finishes over OSC 7501 by @AmoabaKelvin in #38222
- Add Chat UI choice to onboarding by @AmethystLiang in #36204
- feat(onboarding): theme step with color mode + optional theme carousel by @nwparker in #38021
- fix(claude): keep "Allow for this session" rules out of settings files by @King-Dylan in #37895
Phone
*Improve Home navigation, usage visibility, ch...
v1.4.248
More reliable terminals, dependable chats & easier AI choices ✨
- 🖥️ More reliable terminals: Keep active remote streams connected, preserve agent identity across daemon restarts, improve ordered mobile input and long messages to Windows Codex, and render Nerd Font symbols correctly after fonts load.
- 💬 More dependable conversations: Keep streaming replies after their prompts, hold queued follow-ups when a turn fails, and keep pasted text and terminal drafts separate from chat sends.
- 🎛️ Choose how AI writes for you: Pick Model and Effort for commit messages, pull-request descriptions, branch names and chat names from the Source Control settings.
- ⚡ Less unnecessary chat work: Preview updates avoid copying the full loaded conversation, and this release removes the live-history cleanup that could stall large chats.
- 📱 Better phone continuity: Reopen chats from cached messages, keep options current, and send long messages to Windows Codex more reliably.
- ⏳ Choose when updates arrive: Add an optional update delay in Settings, with a one-time option to skip the wait.
- 📝 Editor & workspace improvements: Opt into format on save, search theme pickers, and use familiar right-click actions on chat tabs.
Highlights
- Terminals: Remote streams stay connected while output is flowing, agent identity survives daemon restarts, mobile input is pipelined in order, and long phone messages reach Windows Codex. Nerd Font symbols repaint once fonts load, and closed terminal workers can reopen from their orchestration cards.
- Chat continuity: Streaming replies stay after the prompt they answer. Follow-ups remain queued after a failed turn, expired attachments are identified when a send is refused, and pasted text can be opened from structured chats.
- Agent startup & choices: A final startup refusal is shown after the first attempt instead of repeated retries; temporary failures still recover. Chats preserve configured effort when you have not chosen an override, and Source Control text actions use Model and Effort menus.
- Phone: Cached chats reopen before fetching changes. Chat options, terminal settings, branch and pull-request details refresh more reliably; long phone messages reach Windows Codex, and browser tabs hosted by a desktop server can stream to the phone.
- Updates & Windows: Choose an update delay, retain a moved Windows installation's location during updates, and get a clearer explanation when installation is incomplete.
- Editor & navigation: Enable format on save, search theme choices, highlight selected Markdown table cells, and use image zoom shortcuts outside editor tabs.
- Orchestration & plugins: The Orchestration panel is available again as an experimental opt-in. Closed terminal workers can reopen from their cards, native chats receive complete orchestration messages, and enabled status bar plugins keep their workers running.
- Performance & reliability: Chat preview updates avoid a redundant full-history copy, cached text scrolling avoids whole-file layout updates, and diagnostic logging uses less data. The preview change removes unnecessary work; no whole-app latency improvement is claimed.
Compatibility & upgrade notes
- Update delay is optional: Settings → General → Updates offers None, 1, 3, 7, 14 or 30 days. None remains the default, and Skip Delay Once bypasses a held update.
- Format on save is optional: Existing editing behavior stays the same until you enable it.
- Orchestration panel: This release restores the experimental opt-in after the earlier panel disablement.
- Phone changes: Phone app changes require an updated Orca Mobile app as well as a compatible desktop or server.
- Saved chat history: The live-history cleanup added earlier has been rolled back. Existing saved conversations, including already-compacted histories, remain readable.
Known issues
Saved chat storage: Live-history compaction is paused, so chat storage can grow as conversations continue. This release does not claim to remove every source of chat stalls.
Long update delays: With a 14- or 30-day delay, a release can leave the update feed before it becomes eligible. None and Skip Delay Once remain available.
GitHub issues on older paired servers: Opening an issue through a repository or URL can leave title, label and assignee editing unavailable. Local and project-origin routes are unaffected; Open on GitHub remains available.
Plugin command replacements: A plugin replacing a built-in command can still finish after Orca has used the normal command instead, causing the action to happen twice.
Product experience
Native chat
Keep messages in order, preserve configured choices, and avoid unnecessary full-history work.
- Preserve provider failure causes from manual compaction by @brennanb2025 in #37322
- Show when Claude is compacting before a reply starts by @brennanb2025 in #37409
- fix(native-chat): wrap long translated placeholders in the agent setup prompt by @AmoabaKelvin in #37546
- fix(native-chat): reset history when a saved record key is damaged by @AmoabaKelvin in #37549
- Fix Grok chat screenshots saved with the conversation by @brennanb2025 in #37555
- Keep pending native chat messages marked as sending by @brennanb2025 in #37590
- fix(native-chat): send /compact instructions to agents that take them by @AmoabaKelvin in #37565
- fix(native-chat): name and mark the expired attachment when a send is refused by @AmoabaKelvin in #37552
- Open pasted text in structured chats by @brennanb2025 in #35636
- Honor selected chat permissions before accepting input by @brennanb2025 in #37543
- fix(native-chat): honor editorFontFamily for code blocks when terminal matching is off by @phatloi0010 in #37406
- Remove duplicate close button from chat toolbar by @AmethystLiang in #37715
- Hold queued follow-ups after an agent turn fails by @brennanb2025 in #37181
- fix(chat): keep streaming replies after their prompts by @AmoabaKelvin in #37773
- fix(chat): isolate sends from terminal drafts by @AmoabaKelvin in #37774
- Honor configured effort when no chat effort was chosen by @brennanb2025 in #37797
- Avoid copying chat history on preview-only updates by @brennanb2025 in #37922
Agents & orchestration
Show startup refusals promptly, keep worker communication intact, and restore the experimental panel opt-in.
- fix(orchestration): native chats get each orchestration message whole instead of a check pointer by @brennanb2025 in #28567
- Stop listing a worker as retained after its follow-up took its terminal by @Jinwoo-H in #36978
- fix(orchestration): let a coordinator reach its worker when that terminal is still bound to an older Run by @AmoabaKelvin in #37548
- fix(agent-hooks): keep Claude's start folder and effort between hooks by @AmoabaKelvin in #37556
- Tell orchestration workers when to message the coordinator by @Jinwoo-H in #37550
- Reopen a closed terminal worker from its orchestration card by @Jinwoo-H in #37210
- Make the agent-message status mark a circle by @brennanb2025 in #37541
- fix: remove orchestration panel CPU amplification by @brennanb2025 in #37560
- fix(agents): stop agent rows showing pasted data as their name by @AmoabaKelvin in #37551
- fix(accounts): keep Claude panes sharing a session from restarting by @AmoabaKelvin in #37564
- fix(orchestration): fail worker-start promptly when the agent exits to its shell by @AmoabaKelvin in #37563
- Agent message cards find their sender's agent and status in the same store as the sidebar by @brennanb2025 in #36660
- fix(omp): retain prompts refused by autonomous busy turns by @AmoabaKelvin in #37665
- Use native submenus for new-tab agent setup by @nwparker in #37576
- Restore agent launch submit icons and clear stale hover highlighting by @nwparker in #37675
- Let agent message names use the available card width by @brennanb2025 in #37657
- Restore the Orchestration panel experimental opt-in by @brennanb2025 in #37616
- fix(cli): forward OpenCode --method and --answer from account add by @Alonsojrr14 in #37622
- Stop retrying final native agent startup refusals by @brennanb2025 in #37213
Phone
Reopen chats from cached messages and improve settings, source control, browser and terminal continuity.
- fix(mobile): show a chat's last options at once when returning to it by @AmoabaKelvin in #37554
- feat(native-chat): reopen a phone chat from its cached rows and only fetch what changed by @AmoabaKelvin in #37561
- fix(mobile...
Orca Mobile Android mobile-android-v0.0.64
What's Changed
- test: remove 73 low-value test declarations by @OrcaWin in #37240
- perf(renderer): pause long-lived status animations offscreen and honor reduced motion by @nwparker in #37162
- perf(browser-pane): stop the client-hosted page position loop when nothing changes by @nwparker in #37188
- Chat UI roll out implementation by @AmethystLiang in #37222
- Bound agent journal queue during startup by @AmethystLiang in #37247
- Simplify and improve Codex and Claude account switchers by @AmethystLiang in #37255
- refactor: group locale catalog maintenance owners by @nwparker in #37254
- test: remove 110 low-value test declarations by @OrcaWin in #37251
- docs(agents): drop casting section; casting lint explains the policy by @nwparker in #37244
- perf(ci): overlap anti-slop and ratchets with other preflight checks by @nwparker in #37248
- fix(editor): release leaked Monaco diff models under tab groups and Changes mode by @OrcaWin in #37263
- test: remove 39 low-value test declarations by @OrcaWin in #37261
- refactor: group worktree jump palette owners by @nwparker in #37265
- feat(sidebar): compact issue & task rows in workspace hovercard by @nwparker in #37262
- Preserve typing during worktree chat handoff by @AmethystLiang in #37258
- fix(plugins): never print a catalog release entry that install would reject by @nwparker in #37264
- fix(agent-status): match OSC 7501 spec length limits and progress parsing by @nwparker in #37267
- chore(terminal): bump xterm to 6.1.0-beta.336 and regenerate patches by @nwparker in #37266
- test: remove 58 low-value test declarations by @OrcaWin in #37270
- fix(sidebar): point hovercard fixture at the moved jump-palette fixtures by @nwparker in #37276
- ci(mobile): give Metro a 4 GB heap in the iOS release archive by @AmoabaKelvin in #37271
- Continue in Chat UI opens the chat before closing the terminal, and stops a CLI still starting by @brennanb2025 in #37227
- refactor(mobile): group bottom drawer ownership and tests by @nwparker in #37272
- docs(agents): require check:changed before every push by @nwparker in #37281
- test: remove 88 low-value tests by @OrcaWin in #37280
- Open the goal composer from /goal in Claude and Grok chats by @brennanb2025 in #37212
- fix(terminal): recognize Claude drafts with labelled input boxes and the default hidden cursor by @brennanb2025 in #37171
- Explain Hand Off when detected agents share the original usage limit by @brennanb2025 in #37148
- fix: keep read-only close errors from blocking agent launch and AppImage CLI setup by @brennanb2025 in #37155
- Keep chat pickers usable while options recover by @brennanb2025 in #37168
- fix(mobile): keep the keyboard open when a tab tap opens its details card by @brennanb2025 in #36866
- Phone Automations keeps every automation it can read when a newer desktop sends unknown values by @brennanb2025 in #37169
- test: remove 104 low-value tests by @OrcaWin in #37290
- fix(ghostty): import the primary font-family from a repeated fallback list by @nwparker in #37292
- fix(sidebar): keep the host pill outlined on the selected workspace card by @nwparker in #37294
- Keep Session History open when a chat workspace was deleted by @brennanb2025 in #37200
- fix(plugins): keep custom editor documents in step with accepted edits by @nwparker in #37277
- Keep GitHub task assignees and rows current after dialog edits by @brennanb2025 in #34245
- fix(terminal): stop stray escape tails like "2C" printing after returning to a busy pane by @nwparker in #37269
- fix(plugins): hand over pending custom-editor edits before closing or reloading by @nwparker in #37278
- Keep readable conversations out of Session History warnings by @brennanb2025 in #37211
- fix(cli): open ordinary directories as folder projects by @brennanb2025 in #37232
- Show draft and restricted GitHub Project items by @brennanb2025 in #37224
- refactor(plugins): split custom editor host types so main passes max-lines by @nwparker in #37314
- fix(relay): dead-man boot grace for a freshly booted reserve cell by @nwparker in #37225
- feat(plugins): let a custom editor require the desktop app's isolated frame by @nwparker in #37298
- test(cross-version): load moved modules from wherever each release defines them by @nwparker in #37297
- feat(plugins): orca.document.session() for custom editors by @nwparker in #37285
- fix(plugins): skip nested packages in dev folders and summarize blocked frame requests by @nwparker in #37300
- feat(plugins): status bar items plugins can update live by @nwparker in #37291
- ci: full checks on main pushes, changed-file lint on PRs, Slack alert when main breaks by @nwparker in #37282
- test: remove 96 low-value test cases by @OrcaWin in #37296
- Continue Fix checks and project actions through setup confirmation by @brennanb2025 in #36539
- test(plugins): add statusBarItems to the RPC approval test fixture by @nwparker in #37324
- fix(plugins): restore main lint by importing custom editor host types from their module by @nwparker in #37319
- test(plugins): make the CSP refusal Electron probe deterministic on Linux by @nwparker in #37326
- fix(plugins): reject declared artifact paths whose case differs from the file by @nwparker in #37307
- fix(themes): keep Match Terminal's host pill label at 4.5:1 on its fill by @nwparker in #37309
- feat(plugins): hooks that can change or block terminal sends and workspace creation by @nwparker in #37287
- test(plugins): read the CSP probe's result path from its config, not argv's tail by @nwparker in #37329
- feat(plugins): hooks for agent launches and prompts, plus plugin dev hook by @nwparker in #37295
- feat(plugins): agent tool-call hooks (Claude Code can block or rewrite) by @nwparker in #37303
- feat(plugins): check custom editors and test them with mockEditorHost by @nwparker in #37293
- docs(plugins): rich-editor recipe and frame theme variables in the authoring skill by @nwparker in #37306
- refactor: organize session option and conversation owners (40 moves) by @nwparker in #37289
- feat(plugins): plugin shot --editor to screenshot and drive custom editors by @nwparker in #37302
- Show a GitLab MR's pipeline result even when it has no jobs by @brennanb2025 in #37177
- fix(native-chat): effort, speed and fast controls stay usable while the model list refreshes; dotted versions in id-derived model labels by @brennanb2025 in #36870
- docs(plugins): point the editor and status bar recipes at plugin shot by @nwparker in #37332
- Tasks source summary, repo link and Filters row follow the list's actual source by @brennanb2025 in #37226
- Make phone Send follow the paired desktop setting by @brennanb2025 in #37315
- Keep Windows and Linux chat switching separate from worktree shortcuts by @brennanb2025 in #37199
- Show agent sign-in notices before the first chat message by @brennanb2025 in #37191
- feat(plugins): workers can list and open workspaces, create and read terminals, launch agents by @nwparker in #37312
- feat(plugins): workers can open files and run built-in actions by @nwparker in #37323
- docs(plugins): fix custom-editor authoring papercuts by @nwparker in #37337
- test: remove 17 low-value test cases by...
v1.4.247
Improved Chat UI, richer phone reviews & more ways to make Orca yours ✨
- 🔄 Continue after usage limits reset: An optional setting resumes your chat automatically when its usage limit resets.
- 📱 Richer reviews on your phone: Browse branch commits, jump between files in diffs, and read or add pull-request review comments alongside the code.
- 🎨 Make Orca yours: Discover more themes, preview fonts in their own typefaces, and import Ghostty or Kitty configuration files.
- 🧩 More powerful plugins: Build custom editors, live status items and panels, and connect plugins to agent prompts, launches and workspace actions.
- 🤝 Clearer agent activity: Running workers stay visible after their coordinator finishes, with easier account switching and clearer hand-off cards.
- ⚡ Smoother everyday work: Fewer unnecessary redraws and offscreen animations, more reliable saved replies, and fixes for workspaces, terminals and emulator previews.
- 💬 Improved Chat UI: Choose Chat or CLI for each agent in Chat UI settings, keep drafts when continuing from a terminal, and see your selected permission mode clearly.
Highlights
- Chat UI: Choose Chat or CLI for each agent directly in Chat UI settings. Permission choices stay visible, model and effort controls remain usable while options refresh, and focusing the composer keeps open overlays in place.
- Conversation continuity: Keep unsent text when moving from a terminal into chat, and preserve received replies and tool results while saving is busy. Turn on automatic continuation to resume a chat after its usage limit resets.
- Phone source control: Review each branch commit on its own page, jump between files, fold diff context, and read or add review comments alongside the code. The pull-request tab focuses on what blocks the merge, with clearer next actions and automatic refreshes.
- Themes & fonts: Find GitHub, VS Code and catalog themes in the appearance controls. Preview each font in its own typeface, import Ghostty themes with light/dark pairs, and bring in Kitty configuration files too.
- Plugins: Create custom editors that keep pending edits through saves and reloads, live status bar items, and component panels with a Box layout container. Hooks connect plugins to agent launches, prompts, tool calls, terminal sends and workspace creation; screenshot and testing tools help check the result.
- Agents & orchestration: Running workers remain in the Agents list after their coordinator finishes. Hand-off cards make delegated work easier to follow, and Codex and Claude account switchers are simpler to use.
- Remote work & workspaces: Preview remote HTML outside registered workspaces, find projects in stopped WSL distros after a restart, and see clearer Git progress. Child worktrees stay in the caller’s project, folder roots remain visible, and branch links open the current pull request.
- Responsiveness & reliability: Offscreen animations pause, unrelated settings changes cause fewer diff redraws, and unused editor models are released. Terminal fixes prevent stray escape text, while emulator previews offer clearer connection and startup feedback.
Compatibility & upgrade notes
- Chat or CLI per agent: Chat UI is out of Experimental. Shared launch controls are also available in Settings → Chat UI, so you can choose which surface each agent opens.
- Automatic continuation is optional: Enable it if you want a usage-limited chat to continue automatically after the limit resets.
- Phone Send behavior: The phone follows the paired desktop’s send setting. Update Orca Mobile as well as your desktop or server to get the mobile changes.
- Orchestration panel: The experimental Orchestration panel is disabled while its app-wide lag is addressed. Orchestration commands continue to work.
Known issues
Saved chat storage: Chat history can continue to use more disk space as conversations grow; automatic storage compaction is not included in this release.
Plugin command replacements: A plugin replacing a built-in command can still finish after Orca has used the normal command instead, causing the action to happen twice.
Product experience
Automations
Choose whether automation setup runs, and avoid launching a wake that was cancelled.
- Add run and skip setup choices to the automation CLI by @brennanb2025 in #36543
- An automation wake skips an entry cleared mid-fire by @nwparker in #37206
Native chat
Choose Chat or CLI from Chat UI settings, keep drafts and replies intact, and use an optional automatic continuation after usage limits reset.
- Show split shortcut in pane header tooltip by @AmethystLiang in #36872
- Show a card in the chat when its agent hands work to another agent by @brennanb2025 in #36848
- Move chat readers to the newest saved step after a no-op save by @brennanb2025 in #37118
- Keep every received reply and tool result when the journal save queue is busy by @AmoabaKelvin in #37216
- Keep OpenCode's default effort visible after a reply by @brennanb2025 in #37159
- Keep the queue steer shortcut aligned with displayed messages by @brennanb2025 in #37166
- Notification cards lift only for the chat input they would cover by @brennanb2025 in #37157
- Chats follow an account switch for worker results too by @brennanb2025 in #37126
- Chat UI roll out implementation by @AmethystLiang in #37222
- Bound agent journal queue during startup by @AmethystLiang in #37247
- Preserve typing during worktree chat handoff by @AmethystLiang in #37258
- Continue in Chat UI opens the chat before closing the terminal, and stops a CLI still starting by @brennanb2025 in #37227
- Open the goal composer from /goal in Claude and Grok chats by @brennanb2025 in #37212
- Explain Hand Off when detected agents share the original usage limit by @brennanb2025 in #37148
- Keep chat pickers usable while options recover by @brennanb2025 in #37168
- Keep Session History open when a chat workspace was deleted by @brennanb2025 in #37200
- Keep readable conversations out of Session History warnings by @brennanb2025 in #37211
- Effort, speed and fast controls stay usable while the model list refreshes; dotted versions in id-derived model labels by @brennanb2025 in #36870
- Keep Windows and Linux chat switching separate from worktree shortcuts by @brennanb2025 in #37199
- Show agent sign-in notices before the first chat message by @brennanb2025 in #37191
- Report missing saved conversations once by @brennanb2025 in #37189
- Preserve bounded tool evidence in chat handoffs by @AmethystLiang in #36842
- Rename Chat settings to Chat UI by @AmethystLiang in #36613
- Launch an agent with a first prompt from its setup panel by @brennanb2025 in #36659
- Continue chats automatically when a usage limit resets by @brennanb2025 in #36873
- Show a terminal's unsent input in the chat composer and replace it on send by @AmoabaKelvin in #36493
- Full access Claude chats stop asking for approval by @brennanb2025 in #37246
- Continue in Chat UI refuses before closing the terminal when another terminal runs the conversation by @brennanb2025 in #37397
- Keep selected Codex permission mode visible by @AmethystLiang in #37419
- Keep overlays open when focusing the chat composer by @AmethystLiang in #37403
- Add shared launch controls to Chat UI settings by @brennanb2025 in #37607
Agents, integrations & orchestration
Keep workers visible after their coordinator finishes, switch accounts more clearly, and see the selected permission and effort choices.
- Say kept-open workers stay open, and hide no-action attention in worker-list by @Jinwoo-H in #36963
- Use common link actions in the Agent Dashboard by @brennanb2025 in #36662
- Show the retry command when worker_done times out on a frozen Orca by @Jinwoo-H in #37170
- Keep running workers in the Agents list after their coordinator finishes by @brennanb2025 in #37219
- Keep chat account view when location saving fails by @brennanb2025 in #37175
- Keep Fast preferences independent of routing availability by @brennanb2025 in #37194
- Keep Antigravity built-in skill files out of repositories by @brennanb2025 in #37167
- Simplify and improve Codex and Claude account switchers by @AmethystLiang in #37255
- Match OSC 7501 spec length limits and progress parsing by @nwparker in #37267
- Show a GitLab MR's pipeline result even when it has no jobs...
v1.4.246
Orchestrator V3, improved terminal, Chat UI out of experimental & a refreshed phone app ✨
- 🤝 Orchestrator V3: A lot more token efficient and reliable. Works with both CLI agents and Chat UI, with visual worker indicators in Chat UI to help you follow progress.
- 🔕 Quieter notifications: Orca now filters out worker agent notifications during orchestration.
- 📱 A refreshed Orca Mobile: Choose Light, Dark or System and pick your display language in Settings. Enjoy cleaner screens, smoother sheets and faster workspace lists.
- 💬 Chat UI is out of experimental: Choose Chat or CLI for each agent, queue follow-ups while it works, and continue with another account or agent harness when you hit a usage limit.
- ⌨️ Improved terminals: Faster input for terminal agents, more reliable session restores, and fixes for text rendering, links and padding.
- 🎨 Make Orca yours: Choose an editor theme independently of the app, add a background image, or match the whole window to your terminal theme.
- 🧩 Explore community plugins: Browse the community catalog, try syntax themes, and build your own panels with TypeScript and TSX.
- 🖱️ Improved computer use & browser use: More reliable background browsing, sign-in popups, uploads and downloads, plus computer-use fixes on Windows and Linux.
Highlights
- Mobile theme & language pickers: Pick Light, Dark or System for the phone app and choose your display language in Settings → Appearance and Language.
- A refreshed phone app: A Home screen focused on what needs you, compact top bars, bottom search, filter chips, clearer lists and smoother sheets. Workspace lists load with less data, images and Mermaid diagrams support pinch-to-zoom, and iOS can show inline HTML cards and previews. Run automations from your phone too.
- Plugins: The community catalog is visible by default, with public install counts and clearer publisher information. Plugin authors get TypeScript and TSX without a separate build step, component-based panels, worker communication, hot reload and CLI tools for testing and screenshots.
- Chat UI: Chat leaves Experimental. Choose Chat or CLI in each agent’s Settings row, with default model and effort choices. Follow-up messages queue by default while an agent works; Cmd/Ctrl+Enter sends one straight into the running turn. Switch accounts for open chats, or continue a usage-limited conversation with another account or agent harness.
- Themes & editors: Set a separate code editor theme, tune editor typography, use background images, and apply Match Terminal across the whole window. Preview SVG source alongside the image, click to zoom images and Alt-drag to pan.
- Source Control: Resolve conflicts and complete merges on desktop or phone. Open every changed file from the mobile diff screen, return a pull request to draft from a paired phone, and refresh checks and reviews with current provider data.
- Browser & computer use: Agents can work with sign-in and payment popups, upload through file-picker buttons in nested frames, answer page dialogs and save downloads to the requested path. Background browser pages stay active while agents use them.
- Orchestrator V3: A lot more token efficient and reliable. Coordinators end their turn and wake when workers report back, with shorter CLI status and inbox output. It works great in Chat UI, where visual worker cards and activity indicators help you follow progress. Give finished workers follow-up tasks and reopen closed workers.
- Everyday speed & polish: Less whole-app hitching with many chats, quicker shell submissions, faster worktree checkout, and fewer redraws in chats and diffs. Child agents start collapsed, with idle agents grouped together on desktop and phone.
Compatibility & upgrade notes
- Chat or CLI per agent: Chat UI no longer needs the Experimental switch. Existing users keep their launch preferences and existing conversations keep their surface. New installs start in Terminal. Choose Chat or CLI and the default model and effort in Settings → Agents.
- Follow-ups queue by default: While an agent works, Enter queues your next message. Cmd/Ctrl+Enter sends it into the running turn instead. Turn off Queue follow-ups in Settings → Chat → Behavior to change the default. On a phone, hold Send to choose Queue or Steer. The phone follows its host’s setting; older clients or hosts without queue support keep sending immediately.
- Mobile app updates: Native Settings changes, including the theme and language pickers, require an updated mobile app. Update Orca Mobile as well as your desktop or server to get the full experience.
- Plugin trust & updates: Orca warns before trusting non-official plugins. Updates that request more access wait for individual review, and installed plugin content is verified again when loaded.
- Isolated desktop plugin views: Plugin panels and custom editors now use separate processes and storage with direct network access blocked. Browser and serve clients retain their existing iframe behavior.
- WSL hosts: Stopped distros stay stopped when restoring or switching workspaces, and blocked panes offer Start. Turning the WSL hosts setting off stops new hosts and moves while saved hosts keep serving. Idle WSL servers can exit after five minutes without putting that idle timeout in your own shells.
- Orca skills: Unedited bundled skills update automatically. Skills you have changed still prompt for review.
Product experience
Terminals
Quicker prompt submission, more reliable restores and fixes for text weight, links, padding and Windows startup errors.
- Bound the in-process macOS process table's blocking calls and ps fallbacks (#31783) by @nwparker in #36282
- Fix macOS daemon PTY kqueue descriptor leak by @brennanb2025 in #16870
- Stop terminal text turning bold after a restart (STA-4042) by @nwparker in #36463
- Link a URL wrapped inside a table cell on every row by @AmoabaKelvin in #36482
- Skip the ConPTY input-reader check on WinPTY panes by @nwparker in #36490
- Explain Git Bash console exhaustion when terminal startup fails by @brennanb2025 in #36422
- Reserve the Git Bash capacity overlay for untouched Windows startup failures by @brennanb2025 in #16991
- Add Chat UI upgrade tip and Chat/Terminal default tiles by @brennanb2025 in #36171
- Open OSC 8 hyperlinks on Mod+click in Agent Dashboard terminal previews by @alpenshtokk in #36483
- Submit at once to a shell idle at its prompt by @nwparker in #36614
- End multiple PTYs without blocking the Resource Manager by @AmethystLiang in #36753
- Respawn restored local panes silently when the daemon reports their session gone by @Pr1p in #36620
- Close the terminal before continuing its conversation in chat by @brennanb2025 in #36732
- Apply padding to both edges of each axis by @anmol0b in #36789
- Open a shell, not an unrequested chat, in empty workspaces when the default agent is Auto by @AmoabaKelvin in #36927
Native chat
Queued follow-ups, account hand-offs and clearer conversation cards, with fewer redraws and more reliable questions and replies.
- Agent message cards no longer reserve a row for the copy button by @brennanb2025 in #36189
- Keep unrelated agent status updates from redrawing every native chat by @brennanb2025 in #34596
- Keep async question controls available after agent notices by @brennanb2025 in #35758
- Keep cancelled async questions hidden and show new ones by @brennanb2025 in #35870
- Right-click Copy no longer offers a selection the click missed by @AmoabaKelvin in #36405
- Keep pending questions through agent notices and undelivered replies by @brennanb2025 in #36306
- Reduce whole-app hitches when many chats are running by @brennanb2025 in #35624
- Keep unsent hand-off messages after restarting Orca by @brennanb2025 in #34933
- Keep model picker choices stable during discovery by @brennanb2025 in #36113
- Stop a cancelled image leaving an extra space in a hidden chat's message by @AmoabaKelvin in #36448
- A dropped screenshot is written once, straight into the chat's attachment store by @brennanb2025 in #31779
- Stop a finished turn announcing "responding" to screen readers by @AmoabaKelvin in #36474
- A chat rename also renames the agent's own conversation by @brennanb2025 in #34192
- Chat UI leaves Experimental: each agent's Chat or CLI choice decides what opens by @brennanb2025 in #36110
- Keep a hook-blocked prompt's Worked for line after reopen by @AmoabaKelvin in #36515
- Keep chat image thumbnails square while scrolled away or loading by @AmoabaKelvin in #36488
- Stop attributing recovered ACP replies to outside activity by @brennanb2025 in #36302
- Share chat options read ownership across desktop and ...
Orca Mobile Android mobile-android-v0.0.62
What's Changed
- fix(browser): orca download saves new-tab and popup-page downloads to --path by @AmoabaKelvin in #36397
- fix(browser): list browser tabs restored after a restart in tab list and load them on switch by @AmoabaKelvin in #35563
- test: remove 46 low-value test suites by @OrcaWin in #36403
- Keep unrelated fork PRs off workspace branches by @brennanb2025 in #36299
- fix(native-chat): right-click Copy no longer offers a selection the click missed by @AmoabaKelvin in #36405
- fix(sidebar): don't scroll to the last child when revealing a parent with expanded children by @GoyoBjS in #35917
- Refresh phone tab streams when capabilities change by @brennanb2025 in #36321
- Show effective agent shortcuts in the new tab menu by @brennanb2025 in #36318
- Search connected Linear workspaces from Create-worktree by @brennanb2025 in #36314
- Highlight the active committed file in Source Control by @brennanb2025 in #36301
- feat(cli): open a browser tab in a split pane with
tab create --splitby @AmoabaKelvin in #35665 - fix(plugins): clarify selected themes and confirm other-mode picks by @vale-c in #35926
- Keep pending questions through agent notices and undelivered replies by @brennanb2025 in #36306
- Let automations run in Chat by @brennanb2025 in #34332
- Keep Copilot helper IDs out of terminal recovery by @brennanb2025 in #36324
- Reduce whole-app hitches when many chats are running by @brennanb2025 in #35624
- Orchestration v3: coordinators end their turn and Orca wakes them by @Jinwoo-H in #36137
- Keep unsent hand-off messages after restarting Orca by @brennanb2025 in #34933
- Keep Hermes and Antigravity helper IDs out of terminal recovery by @brennanb2025 in #36349
- Fix macOS daemon PTY kqueue descriptor leak by @brennanb2025 in #16870
- fix(native-chat): keep model picker choices stable during discovery by @brennanb2025 in #36113
- fix(github): honor the saved project account for PR requests by @brennanb2025 in #35023
- test: remove 46 low-value suites (audit 845) by @OrcaWin in #36407
- Keep refreshed Linear Tasks rows current by @brennanb2025 in #34591
- refactor(source-control): move the changed-file tree builder to src/shared by @AmoabaKelvin in #36433
- Keep tab right-click menus open through the opening release by @brennanb2025 in #36308
- fix(cli): choose OpenCode 2 for managed account login by @brennanb2025 in #36292
- fix(plugins): show icon-theme SVGs that omit xmlns (Minimal Icons showed nothing) by @nwparker in #36436
- test: remove 25 low-value suites (audit 846) by @OrcaWin in #36434
- feat(mobile): tap the session title to see its full name, path and host by @brennanb2025 in #30389
- fix(agent-status): settle killed Claude background helpers by @brennanb2025 in #35930
- fix(updater): keep status current after reopening the window by @brennanb2025 in #34104
- test: remove 29 low-value suites (audit 847) by @OrcaWin in #36446
- refactor(jira): colocate row interaction tests by @nwparker in #36362
- fix(browser): stop a two-way paired desktop sending your browser tab back as its own by @AmoabaKelvin in #36447
- fix(editor): reopen Markdown Find on Cmd/Ctrl+F right after closing it by @AmoabaKelvin in #36456
- fix(native-chat): stop a cancelled image leaving an extra space in a hidden chat's message by @AmoabaKelvin in #36448
- Let a coordinator give follow-up work to a finished chat worker by @Jinwoo-H in #36445
- fix(source-control): say "lookup failed" instead of "not ready" on a disabled Create PR/MR by @AmoabaKelvin in #36458
- feat(mobile): unify corner radii across the app by @AmoabaKelvin in #36437
- test: remove 17 low-value suites from audit batch 848 by @OrcaWin in #36461
- fix(persistence): keep profile backup temp names within eCryptfs's 143-byte limit by @bbingz in #33984
- fix(sidebar): stop clipping the child workspaces chip in classic cards by @nwparker in #36460
- plugins: show a catalog entry's own publisher, not the catalog owner by @nwparker in #36466
- fix(plugins): let an enabled plugin syntax beat Orca's guessed language by @nwparker in #36468
- test(windows): give the credential fixture's cold Python start 30s by @OrcaWin in #36465
- plugins: tell once when an automatic update waits for your review by @nwparker in #36462
- fix(mobile): lead workspace-list agent rows with the conversation name by @AmoabaKelvin in #36464
- fix(terminal): stop terminal text turning bold after a restart (STA-4042) by @nwparker in #36463
- A dropped screenshot is written once, straight into the chat's attachment store by @brennanb2025 in #31779
- fix(plugins): stop painting a disabled plugin's terminal theme by @nwparker in #36471
- Choose default models and effort for agents by @brennanb2025 in #36210
- test(plugins): follow per-plugin review for access-growing updates in update e2e by @nwparker in #36473
- fix(native-chat): stop a finished turn announcing "responding" to screen readers by @AmoabaKelvin in #36474
- ci(e2e): route plugin system sources to the plugin e2e specs by @nwparker in #36477
- fix(status-bar): toggle Plugins settings closed on a second click by @nwparker in #36479
- fix(terminal): link a URL wrapped inside a table cell on every row by @AmoabaKelvin in #36482
- docs(orchestration): explain recovery after repeated worker startup failures by @brennanb2025 in #36335
- Show each chat’s account in Session History details by @brennanb2025 in #35392
- fix(ai-vault): clear the Session History search when you switch workspace by @AmoabaKelvin in #36472
- Fail readiness promptly when the terminal exits by @brennanb2025 in #36457
- plugins: add Try it samples for the new official syntax plugins by @nwparker in #36486
- fix(agents): bundle the CodeBuddy icon instead of the Google favicon fallback by @qiuziz in #36265
- fix(rate-limits): show Cursor usage for team-limited accounts by @david-arcade-dev in #36394
- fix(azure-devops): negotiate API version down for older Azure DevOps Server by @vherrera1991 in #36424
- fix(i18n): translate recent desktop and mobile copy by @AmethystLiang in #36489
- fix(settings): keep the agent environment editor reachable when empty by @ggbdpq in #36034
- fix(readme-links): check mixed-case src/href/srcset attributes in README link check by @blueDaydreaming725 in #36213
- fix(windows): skip the ConPTY input-reader check on WinPTY panes by @nwparker in #36490
- Explain Git Bash console exhaustion when terminal startup fails by @brennanb2025 in #36422
- Reserve the Git Bash capacity overlay for untouched Windows startup failures by @brennanb2025 in #16991
- fix(worktrees): rewrite a trailing .lock in derived branch names by @bercedev in #36435
- Keep concurrent title edits when marking GitLab MRs ready by @brennanb2025 in #19646
- fix(wsl): keep the server's idle window out of user shells; require the agent for discovered effort menus by @nwparker in #36492
- fix(text-generation): discover nvm/version-manager CLIs for chat naming and one-shot generators by @gentslava in #35954
- fix(editor): apply file icon themes to editor tabs by @Pr1p in #36345
- fix(agents): accept launch-time --model and --effort for grok by @nwparker in #36480
- A chat ...
v1.4.245
A faster Orca, plugins & background computer use ⚡
- ⚡ A faster Orca: Launch smoothly with hundreds of chats, with less lag as you type and switch tabs.
- 🧩 Customize Orca with icon themes, syntax highlighting and custom editors.
- 🖱️ Keep working while agents use Chrome, Blender and other Mac apps in the background.
- 🎙️ Dictate on your phone and see your words as you speak.
- 💬 Try the new Chat UI: Search for “Chat UI” in Settings to turn it on, then right-click a tab to switch live between Chat UI and TUI.
Highlights
- A faster Orca: Fast app with hundreds of chats. Typing stays more responsive, and hidden chats do less work while you use other tabs.
- Plugins: Add icon themes, syntax highlighting and custom editors from Settings → Plugins. Community publishing is coming soon, so you’ll be able to share your own plugins.
- Background computer use on Mac: Let agents work in Chrome, Blender and other apps while you keep using your mouse and keyboard. Orca’s in-app browser already works in the background; now computer use does too. Some actions still need the app brought forward.
- Chats: Enjoy a very polished Chat UI, send again after Stop, and preview links in chat. Search for “Chat UI” in Settings to turn it on, and right-click a tab to switch live between Chat UI and TUI.
- Terminals: Set a running terminal limit for each computer in Settings → Terminal → Advanced.
- WSL: Stopped distros stay stopped until you choose Start. Terminals remember their folder.
- Browser: Press Cmd+Opt+B on Mac for a browser split. Send shorter annotation feedback, now with pasted images.
- Workspaces: Your workspace name becomes its branch name again. Source Control actions get Model and Effort controls.
- Phone: See dictation as you speak, and read clearer code, tables and diagrams.
Compatibility & upgrade notes
- New terminal host: This release starts a fresh terminal host for new terminals. Terminals already open before the update keep running on the previous host and stay attached. The new running terminal limit setting needs the new host, and so do fixes such as the ble.sh startup fix and lighter process checks on macOS. Those apply to terminals you open after updating.
- Plugins are on by default: Installing a plugin, including from an
orca://pluginslink, only opens a review screen first. Plugins that run code ask for your consent before they install, and once approved they run with full access to your computer. - Running terminal limit: The default now follows each computer: half of its system terminal limit, up to 4096, or 256 as before when Orca can’t read that limit. A value you set in Settings or with an environment variable takes priority. Raising or lowering it never closes running terminals. A remote server running an older Orca keeps working, but the limit can’t be changed there until it updates.
- Chat naming: Chats are now named by their own agent and account by default. A naming agent, custom command or arguments you saved before keep working, and the naming agent choice moved under Advanced in Settings → Chat → Chat naming.
- Codex history across accounts: A new switch, Settings → Agents → Share Codex history across accounts, is on by default and keeps today’s behavior. With it on, history from Orca’s managed accounts now also shows up in your own ~/.codex when you switch back to system default. Turning it off stops new sharing and removes nothing. On an SSH or WSL host running an older Orca, the switch stays disabled until that host updates.
- Codex on macOS and Linux: Orca now starts Codex with its paste guess turned off, so prompts typed from a phone or another client send instead of staying in the composer. Real pastes still arrive as pastes.
- Computer use on a Mac: Agents now act in the background by default. Agents can still ask for the old foreground mode with
--restore-window, which drags into Chromium and Electron apps still need. - Browser annotations: Send and Copy now give agents a short summary per note. Check Include page details in the Send menu to get the old full output; the choice lasts for that browser pane.
- Workspace branch names: A name you type for a new workspace is used as its branch again, even when Auto-rename branch from work is on. Auto-rename only replaces names Orca made up.
- Automations: Agents started by an automation skip their CLI’s startup update prompt, so the prompt can’t swallow the task. Agents you start yourself are unchanged.
- Source Control actions: Model and effort flags saved in an action’s Arguments move into the new Model and Effort controls when Orca loads; other Arguments stay as they are. A phone or remote server on an older Orca may launch these actions with a different model or effort until it updates.
- New shortcuts: Cmd/Ctrl+Shift+X opens Plugins (outside text fields), and Cmd+Opt+B on macOS opens a browser tab in a split to the right. Cmd+Opt+B can be changed in Settings → Keyboard.
- Known limitation, downgrading: If you go back to v1.4.244, custom model and effort choices on Source Control AI actions reset to the agent’s defaults, and updating again won’t bring them back.
Product experience
Native chat
No more startup freeze with many chats, link previews, naming with the chat’s own agent, and a working Send after Stop.
- Show chats as Interrupted or Done at startup without reading their history, so Orca no longer freezes after launch with hundreds of chats by @brennanb2025 in #32146
- Show hover cards for GitHub PR and issue links in chats by @AmoabaKelvin in #35199
- Show preview cards for web links in chats, never fetching private network addresses by @AmoabaKelvin in #35221
- Name each chat with its own agent and account by default, with other naming agents under Advanced by @brennanb2025 in #32106
- Let the next message go through after Stop force-kills a chat’s agent by @brennanb2025 in #34653
- Keep a huge unbroken paste from freezing a chat by @nwparker in #36031
- Run launcher Commands like
op run -- codexfor every agent in chats by @brennanb2025 in #35592 - Leave Claude plan mode when you approve a plan by @brennanb2025 in #34549
- Resume a chat with a saved effort on Claude Code versions that predate --effort by @nwparker in #35878
- Keep the model options a chat accepted in what it shows and sends by @brennanb2025 in #31208
- Keep a chat’s option controls working while its model list refreshes by @brennanb2025 in #31927
- Handle large pastes in chat goal mode by @brennanb2025 in #34654
- Order queued chat turns without rescanning the transcript by @OrcaWin in #34945
- Stop resting chats from delaying native command menus by @brennanb2025 in #35069
- Recover from OpenCode failures in chats by @AmethystLiang in #35247
- Keep models missing from a provider’s list available in chats by @brennanb2025 in #35266
- Process image-heavy transcript runs once by @OrcaWin in #35572
- Reopen an old tool run without jumping to a stale scroll position by @brennanb2025 in #35866
- Stop re-rendering chat composer controls on every keystroke by @nwparker in #35913
- Do less work for hidden chats and tab updates by @AmethystLiang in #36047
- Keep the chat session record file within the file name length limit by @brennanb2025 in #36056
- Make Settings permission menus match the chat permission picker by @brennanb2025 in #36104
- Stop the saved chat status writer from remembering every closed chat by @brennanb2025 in #36105
- Keep transcripts from re-rendering on status-only updates by @nwparker in #36141
- Keep chats ended with Stop readable after downgrading to v1.4.244 by @brennanb2025 in #36142
- Skip the WSL distro walk for chat transcripts on this computer by @nwparker in #36152
Plugins
Icon themes, syntax packs and custom editors, one Plugins list with one-step install, and quick access from the status bar.
- Plugin Alpha: icon themes, syntax packs and custom editors, one Plugins list with one-step install, and
orca://pluginslinks by @nwparker in #35470 - Open Plugins from a status bar button or Cmd/Ctrl+Shift+X by @AmethystLiang in #36153
- Show one Plugins list with Installed badges, inline switches, install-state filters, category chips and plain wording about trusted code by @nwparker in #36100
- Show the Plugins catalog in four columns with clear Show all and See all links by @nwparker in #35849
- Make Try it apply the plugin instead of opening its page by @nwparker in #35846
- Treat self-hosted plugin repository paths that differ in case as different repositories by @nwparker in #35640
- Stop an update already in progress when you turn off plugin auto-update by @nwparker in #35642
*...