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 by @brennanb2025 in #37177
- Record a Claude terminal's process even when Orca saw Claude before its first hook by @brennanb2025 in #36825
- Disable the lagging experimental orchestration panel by @brennanb2025 in #37527
SSH, managed servers & remote
Keep WSL projects and hosts discoverable across restarts, with clearer stopped-distro messages and safer server startup.
- Preview remote HTML outside registered workspaces by @guangyu-reflexio in #36791
- Route hosted review operations to the owning host by @AmethystLiang in #36003
- The Codex quota poll gates the distro it probes, not the default by @nwparker in #37043
- Name the stopped distro, not its raw hold code, wherever a held terminal is shown by @nwparker in #37380
- Land on the workspace view after a move's window reload by @nwparker in #37376
- Offer the existing host when adding a folder from a distro that already runs as one by @nwparker in #37377
- Say why to move projects in the WSL move dialog by @nwparker in #37390
- Remove a freshly installed server that fails its start check by @nwparker in #37388
- Keep the e2e fake WSL connector out of release builds by @nwparker in #37378
- Show a penguin icon for WSL host rows and the stopped-distro notice by @nwparker in #37389
- A stopped distro still lists all its projects after a restart by @nwparker in #37396
Phone
Review branch commits and pull requests with richer diffs, code comments and clearer next actions, and keep navigation and sending consistent with the desktop.
- Diff screen with jump to file, folded context and Stage/Viewed · next file by @AmoabaKelvin in #36998
- Stop clearing phone alerts that were never sent by @AmoabaKelvin in #37095
- Commits lists only this branch, and each commit opens its own page by @AmoabaKelvin in #37050
- GitHub review threads, viewed sync and line comments on the diff screen by @AmoabaKelvin in #37073
- Tapping a file on a commit opens it in the diff screen by @AmoabaKelvin in #37113
- One next-step bar under both Source Control tabs by @AmoabaKelvin in #37104
- Rebuild the pull request tab around what blocks the merge by @AmoabaKelvin in #36999
- PR tab refreshes itself, review threads show their code, bots get Ask agent to fix by @AmoabaKelvin in #37023
- Show the folder icon when a project image fails to load by @AmoabaKelvin in #37202
- Keep the image viewer's close button out of the iPhone Duo status column by @AmoabaKelvin in #37203
- Changes tab rows lead with the file name, discard moves to a swipe by @AmoabaKelvin in #37214
- One bottom action on the PR tab, and conflicts said once by @AmoabaKelvin in #37231
- Outline every text field at 3:1 with a focus ring, and drop the composer shadow by @AmoabaKelvin in #37221
- Keep Resolve and its feedback after the conflicts box went away by @AmoabaKelvin in #37234
- Give Tasks and Automations their own sections on Home by @brennanb2025 in #37218
- 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
- Make phone Send follow the paired desktop setting by @brennanb2025 in #37315
- Back from a session lands on its host's session list by @AmoabaKelvin in #36956
- Paint the chat transcript and tab strip scrollers opaque by @AmoabaKelvin in #36905
- Open each agent row's own tab from the workspace list by @AmoabaKelvin in #37458
Workspaces, sidebar & tabs
Keep projects, tabs and task lists in the right place, with clearer Git progress and more dependable pull-request links.
- Cap tab widths with intrinsic CSS sizing by @AmethystLiang in #37131
- Make the empty omnibox caret thicker and faster by @AmethystLiang in #36961
- Keep child-worktree creation in the caller’s project by @brennanb2025 in #35787
- Clarify Git operation status across workspaces by @AmethystLiang in #37093
- Prevent activity previews over row controls by @AmethystLiang in #37154
- Refresh sidebar activity when a native chat tab arrives after its status by @brennanb2025 in #37151
- Compact issue & task rows in workspace hovercard by @nwparker in #37262
- Keep the host pill outlined on the selected workspace card by @nwparker in #37294
- Keep GitHub task assignees and rows current after dialog edits by @brennanb2025 in #34245
- Open ordinary directories as folder projects by @brennanb2025 in #37232
- Show draft and restricted GitHub Project items by @brennanb2025 in #37224
- Continue Fix checks and project actions through setup confirmation by @brennanb2025 in #36539
- Tasks source summary, repo link and Filters row follow the list's actual source by @brennanb2025 in #37226
- A catalog answer sent before an add no longer drops the project that add made by @nwparker in #37384
- Round project image icons on desktop to match mobile by @tianlrz in #37383
- Keep folder project roots visible when hiding the default branch by @AmoabaKelvin in #37444
- Link a branch's open PR instead of a newer closed one by @AmoabaKelvin in #37452
Editor, files & Markdown
Keep rich Markdown steady when returning from Find, show readable Git diffs, and make themes and fonts easier to discover and import.
- Keep rich Markdown in place when focus returns from Find by @brennanb2025 in #36781
- Show encrypted and textconv files as text diffs, not binary by @hrithiksaini99 in #37105
- Ship GitHub and VS Code themes, make themes discoverable in Appearance, and offer catalog themes in the pickers by @nwparker in #36828
- Keep custom editor documents in step with accepted edits by @nwparker in #37277
- Hand over pending custom-editor edits before closing or reloading by @nwparker in #37278
- Let a custom editor require the desktop app's isolated frame by @nwparker in #37298
- Orca.document.session() for custom editors by @nwparker in #37285
- Keep Match Terminal's host pill label at 4.5:1 on its fill by @nwparker in #37309
- Plugins: editor.save.before hook (format on save, or refuse the save) by @nwparker in #37347
- Merge disk writes into a custom editor's unsaved edits by @nwparker in #37343
- Ignored files in the explorer meet 4.5:1 in the built-in themes by @nwparker in #37355
- Changed divider colors also paint workspace splits by @nwparker in #37342
- List Windows fonts through Chromium instead of PowerShell and surface failures by @nwparker in #37369
- Let the Ghostty import read a config file you pick by @nwparker in #37353
- Delete imported terminal themes from the theme picker by @nwparker in #37356
- Preview each font in its own typeface in font pickers by @Rayyan34 in #33254
- Import Ghostty themes, including light/dark pairs, as per-mode terminal themes by @nwparker in #37368
- Import Kitty configs through a shared terminal config import pipeline by @nwparker in #37375
Browser, skills & feedback
Open links from streamed pages in new tabs, and give plugins more ways to build editors, panels and agent workflows.
- Plugin shot --scenario: screenshot a check scenario without touching the live plugin by @nwparker in #37090
- Open target=_blank links in Server (streamed) pages as new tabs by @AmoabaKelvin in #37102
- Stop the plugin update-review toast crashing the web client by @nwparker in #37152
- Never print a catalog release entry that install would reject by @nwparker in #37264
- Skip nested packages in dev folders and summarize blocked frame requests by @nwparker in #37300
- Status bar items plugins can update live by @nwparker in #37291
- Reject declared artifact paths whose case differs from the file by @nwparker in #37307
- Hooks that can change or block terminal sends and workspace creation by @nwparker in #37287
- Hooks for agent launches and prompts, plus plugin dev hook by @nwparker in #37295
- Agent tool-call hooks (Claude Code can block or rewrite) by @nwparker in #37303
- Check custom editors and test them with mockEditorHost by @nwparker in #37293
- Plugin shot --editor to screenshot and drive custom editors by @nwparker in #37302
- Workers can list and open workspaces, create and read terminals, launch agents by @nwparker in #37312
- Workers can open files and run built-in actions by @nwparker in #37323
- Commands[].replaces lets a mod take over a built-in action by @nwparker in #37316
- Make the editor template the rich-editor recipe by @nwparker in #37349
- Plugins: Box layout container for components panels (catalog 4) by @nwparker in #37420
Performance & reliability
Reduce unnecessary redraws and offscreen animations, release unused editor models, and improve terminal and emulator recovery.
- Show serve-sim's camera error instead of no active emulator by @AmoabaKelvin in #37119
- Show each device's OS version and disable unavailable simulators in the picker by @AmoabaKelvin in #37122
- Preserve iOS helpers when ps output overflows by @Misty-Star in #34913
- Detect Android devices when only adb is installed by @AmoabaKelvin in #37128
- Type and paste into the Android emulator pane by @AmoabaKelvin in #37139
- Show a dead Android preview as Not connected with a working Connect by @AmoabaKelvin in #37146
- Report why an Android AVD failed to start instead of timing out after 3 minutes by @AmoabaKelvin in #37137
- List only the worktree's attached emulators, iOS and Android by @AmoabaKelvin in #37127
- Fix terminal sleep verification during inventory polls by @AmethystLiang in #37172
- Stop the single-file diff viewer re-rendering on unrelated settings writes by @nwparker in #37150
- Report when Xcode Device Hub blocks iOS simulator input instead of a silent ok by @AmoabaKelvin in #37140
- Compute collapsed sub-agent signal states in one pass by @nwparker in #37229
- Detect foreground from the physical PTY owner by @brennanb2025 in #36342
- Keep the running emulator when the tab reopens instead of switching to an iPhone by @AmoabaKelvin in #37132
- Stop agent spinners that are scrolled out of view by @nwparker in #37153
- Tint the scrollbar thumb from the terminal foreground so it shows on light themes by @nwparker in #36583
- One mode-2031 report per appearance flip, caught up on reconnect by @nwparker in #37163
- Pause long-lived status animations offscreen and honor reduced motion by @nwparker in #37162
- Stop the client-hosted page position loop when nothing changes by @nwparker in #37188
- Release leaked Monaco diff models under tab groups and Changes mode by @OrcaWin in #37263
- Bump xterm to 6.1.0-beta.336 and regenerate patches by @nwparker in #37266
- Recognize Claude drafts with labelled input boxes and the default hidden cursor by @brennanb2025 in #37171
- Keep read-only close errors from blocking agent launch and AppImage CLI setup by @brennanb2025 in #37155
- Import the primary font-family from a repeated fallback list by @nwparker in #37292
- Stop stray escape tails like "2C" printing after returning to a busy pane by @nwparker in #37269
Relay service
Give newly started reserve servers time to come online before treating them as unavailable.
Reverted
Restore the earlier CI check arrangement.
- Revert "ci: full checks on main pushes, changed-file lint on PRs, Slack alert when main breaks (#37282)" by @nwparker in #37341
Tests, CI & maintenance
Maintain tests, build checks and internal organization; orchestration-panel work remains behind disabled switches and is unavailable in this release.
- Colocate relay assignment store and tests by @nwparker in #37098
- Include cloud in the sparse checkout by @brennanb2025 in #36715
- Remove 116 low-value tests by @OrcaWin in #37106
- Group app-server transport and lifecycle owners by @nwparker in #37109
- Group web bundle transfer owners by @nwparker in #37124
- Group history replay and catch-up owners by @nwparker in #37133
- Add a Risk section to the PR template by @brennanb2025 in #37101
- Remove 462 low-value test declarations by @OrcaWin in #37138
- Read who each agent works with: its manager, workers and peers by @brennanb2025 in #34890
- Group agent view owners by @nwparker in #37147
- Repair terminal ownership lint and source-control fixtures by @nwparker in #37195
- Group CLI and preload owners by @nwparker in #37182
- Remove 208 low-value test declarations by @OrcaWin in #37201
- Restore main static analysis by extracting crew runtime operations by @brennanb2025 in #37174
- Extract automation API operations into runtime layer by @AmethystLiang in #37196
- Organize agent-browser adapter and concrete owner imports by @nwparker in #37223
- Refactor AGENTS.md for clarity and conciseness by @nwparker in #37239
- Close seeded journal databases before fixture cleanup by @brennanb2025 in #37176
- Fix formatting for Footguns section in AGENTS.md by @nwparker in #37241
- Expand child agent lists in spinner benchmark fixture by @nwparker in #37184
- Point the Chat or CLI choice at Settings → Agents by @brennanb2025 in #36871
- Group local PTY provider and shell readiness modules by @nwparker in #37235
- Format AGENTS.md so main's format check passes by @brennanb2025 in #37243
- Finish formatting AGENTS.md by @OrcaWin in #37249
- Group workspace port scanning and assignment regression tests by @nwparker in #37250
- Bump to 0.0.62 and Android versionCode 26 by @AmoabaKelvin in #37253
- Remove 73 low-value test declarations by @OrcaWin in #37240
- Group locale catalog maintenance owners by @nwparker in #37254
- Remove 110 low-value test declarations by @OrcaWin in #37251
- Drop casting section; casting lint explains the policy by @nwparker in #37244
- Overlap anti-slop and ratchets with other preflight checks by @nwparker in #37248
- Remove 39 low-value test declarations by @OrcaWin in #37261
- Group worktree jump palette owners by @nwparker in #37265
- Remove 58 low-value test declarations by @OrcaWin in #37270
- Point hovercard fixture at the moved jump-palette fixtures by @nwparker in #37276
- Give Metro a 4 GB heap in the iOS release archive by @AmoabaKelvin in #37271
- Group bottom drawer ownership and tests by @nwparker in #37272
- Require check:changed before every push by @nwparker in #37281
- Remove 88 low-value tests by @OrcaWin in #37280
- Remove 104 low-value tests by @OrcaWin in #37290
- Split custom editor host types so main passes max-lines by @nwparker in #37314
- Load moved modules from wherever each release defines them by @nwparker in #37297
- Full checks on main pushes, changed-file lint on PRs, Slack alert when main breaks by @nwparker in #37282
- Remove 96 low-value test cases by @OrcaWin in #37296
- Add statusBarItems to the RPC approval test fixture by @nwparker in #37324
- Restore main lint by importing custom editor host types from their module by @nwparker in #37319
- Make the CSP refusal Electron probe deterministic on Linux by @nwparker in #37326
- Read the CSP probe's result path from its config, not argv's tail by @nwparker in #37329
- Rich-editor recipe and frame theme variables in the authoring skill by @nwparker in #37306
- Organize session option and conversation owners (40 moves) by @nwparker in #37289
- Point the editor and status bar recipes at plugin shot by @nwparker in #37332
- Fix custom-editor authoring papercuts by @nwparker in #37337
- Remove 17 low-value test cases by @OrcaWin in #37327
- Regenerate the manifest reference and schema by @nwparker in #37351
- Fix main's typecheck after the conversation view module moved by @brennanb2025 in #37346
- Restore main unit checks for plugin routing and prompt receipts by @brennanb2025 in #37345
- Stop unit tests waiting out real 5 s fallbacks (~285 s per run) and fix two flaky tests by @nwparker in #37362
- Remove 21 low-value test cases by @OrcaWin in #37373
- Keep the plugin consent fingerprint Hermes-compatible so main's Mobile checks pass by @brennanb2025 in #37370
- Delete the redraw wall-time race and shrink oversized scaling populations (~105 s per run) by @nwparker in #37385
- Remove 16 low-value test cases by @OrcaWin in #37333
- Remove 43 low-value cross-version test cases by @OrcaWin in #37317
- Remove 12 low-value helper tests by @OrcaWin in #37391
- Refresh unit shard timings from five current 12-shard runs (held-out spread 10.2% → 3.8%) by @nwparker in #37393
- Show who each agent works with in a panel on its chat or terminal by @brennanb2025 in #34891
- Remove 20 low-value tests across 11 files by @OrcaWin in #37404
- Mention an agent from the orchestration panel with one click by @brennanb2025 in #34836
- Show the open Orchestration panel as a floating card by @brennanb2025 in #37412
- Remove 41 low-value tests and 15 entire suites by @OrcaWin in #37430
- Remove 33 low-value tests and obsolete benchmark runner by @OrcaWin in #37441
- Remove four low-value typing and layout benchmark suites by @OrcaWin in #37453
- Update two WSL specs to the stopped-distro copy and serve-only Settings by @nwparker in #37394
- Organize native-chat input and transcript owners by @nwparker in #37334
- Remove 30 low-value tests and fix selected-host folder activation by @OrcaWin in #37421
- Finish direct owner imports and audit cleanup by @nwparker in #37461
- Remove low-value renderer and terminal tests by @OrcaWin in #37456
- Remove 137 low-value renderer and terminal tests by @OrcaWin in #37465
- Remove 57 low-value renderer tests by @OrcaWin in #37471
- Remove 37 low-value renderer tests by @OrcaWin in #37474
- Remove low-value hook replays and thin adapter suites by @OrcaWin in #37479
- Remove 110 low-value hook tests and five suites by @OrcaWin in #37483
- Remove 185 low-value renderer and agent-launch tests by @OrcaWin in #37487
- Remove 282 low-value agent status and renderer helper tests by @OrcaWin in #37490
- Remove 219 low-value renderer projection and wiring tests by @OrcaWin in #37496
- Remove 49 low-value renderer capability and attachment tests by @OrcaWin in #37499
- Remove 136 low-value preview and workspace action tests by @OrcaWin in #37504
- Remove 270 low-value routing and agent launch tests by @OrcaWin in #37513
- Remove 275 low-value renderer tests by @OrcaWin in #37514
- Remove 332 low-value renderer tests by @OrcaWin in #37517
New Contributors
- @guangyu-reflexio made their first contribution in #36791
- @Misty-Star made their first contribution in #34913
- @hrithiksaini99 made their first contribution in #37105
- @Rayyan34 made their first contribution in #33254
Full Changelog: v1.4.246...v1.4.247