A more dependable workspace 🐳
This release gives the built-in browser searchable history, makes agent activity easier to follow, and improves recovery across chats and remote terminals. You’ll also find Lean and Zig syntax highlighting, support for larger quick-command collections, and a new orca ports command for finding your dev servers.
The short version
- Conversations that stay with you: Claude chats now show turns made outside Orca. Retained messages return after reconnect without reopening the chat, and crash recovery no longer guesses that a sent message was undelivered.
- A browser with a better memory: Search your browsing history, reopen pages, remove unwanted suggestions, and clear history with Undo. Pages can also use files you pick, save or drop through File System Access.
- Remote work with fewer interruptions: Slow connections survive missed wake probes, reconnect notices explain what is happening, SSH terminals wait for sign-in, and new splits stay on the paired server.
- Agent status you can trust: Completed Codex subagents stop showing as Working, running main tasks stay visible through
/sideconversations, and Codex MCP tools that require approval get an approval card. - More room for your workflow: Save more than 40 quick commands, find a worktree’s detected dev-server ports with
orca ports, and reclaim old dependency installs and build output from development worktrees. - Polish where it counts: Lean and Zig highlighting, clearer session-search excerpts, smoother Mac trackpad scrolling in terminal apps, and better protection for unmerged branches and worktrees shared between Windows and WSL.
Phone & web updates: Updating Orca on the computer serving your phone or browser updates the served interface. This release also keeps running Codex tasks visible on paired and mobile views during /side conversations and fixes browser-picked or dropped chat attachments uploading to the paired server.
Compatibility & upgrade notes
- Native chat (experimental): Update paired and SSH hosts alongside Orca for the latest chat, agent-status and launch fixes. Codex’s new approval cards cover MCP tool approvals that do not require form fields; general MCP forms and URL-based verification are not supported by this change.
- Browser history: Open History from the page menu, or use Cmd+Y on macOS and Ctrl+H on Linux and Windows. Search, remove individual entries, or clear the last hour, today or all time, with Undo for clearing.
- Detected ports:
orca portssupports workspace selection and JSON output on runtimes with host-scoped port scanning. Direct SSH hosts do not support detection yet; native folder workspaces require--allto list the host’s listeners. - Development cleanup: Manual
pnpm reclaim-spaceand automatic cleanup on development launches can reclaim ignored, untracked dependency installs and generated output in old sibling worktrees, using a default 30-day cutoff. Selected, invoking and excluded worktrees remain protected. Stop sibling apps, agents, installs, builds and tests before applying manual cleanup; reclaimed installs and output need reinstalling or rebuilding when used again. - Terminal file links: The earlier change to open a file link in the workspace where it was clicked was reverted in this release.
Product experience
Native chat (experimental)
Catch up on conversations, reconnect without extra steps, and answer agent prompts with clearer controls.
- Show turns made outside Orca in an existing Claude chat by @brennanb2025 in #31615
- Show retained chat messages after reconnect without reopening the chat by @brennanb2025 in #32255
- Keep sent messages from being falsely marked undelivered after a crash, and stop scanning the transcript on every reopen by @brennanb2025 in #30580
- Show approval cards for Codex MCP tools that require permission by @nwparker in #33310
- Submit Claude question-preview answers with Enter by @nwparker in #33332
- Match terminal pane split and close menus in chat by @brennanb2025 in #28969
- Display unknown HTML tags as text instead of dropping them by @anmol0b in #30819
- Alert the orchestration coordinator when a chat worker errors by @brennanb2025 in #31941
- Deliver follow-ups to running Codex goals using the choices the goal inherits by @nwparker in #33300
- Upload chat attachments picked or dropped in a web client to the paired server by @nwparker in #33060
Agent activity & integrations
See the task that is actually running, keep completed work settled, and launch agents with the right session and settings.
- Record Stop immediately and settle subagents when their exit is confirmed by @brennanb2025 in #28051
- Clear stale Working status for completed Codex subagents by @nwparker in #32937
- Show reference-origin icons and native-chat origins in the sidebar by @nwparker in #33049
- Retain completion subtitles for paired workspaces by @innocarpe in #9930
- Remove Claude teammates stopped with TaskStop from the sidebar by @davidgarciab in #32048
- Keep agent questions visible when a stale program report says Working by @maxmilian in #32156
- Preserve running-agent hook status through idle title repaints by @nwparker in #32195
- Restart initial agent-detection probes when their results are invalidated by @nwparker in #32558
- Keep Codex status tied to the main task through
/sidechats after restart by @nwparker in #33275 - Keep a running Codex turn visible on paired and mobile views while
/sideis shown by @nwparker in #33308 - Resume Claude panes whose environment scrubbing removed their pane identity by @nwparker in #33286
- Find Antigravity’s usage command in the same environment used to launch agents by @nwparker in #33289
- Refresh OpenCode credential status after saving by @Pr1p in #33081
- Read Kimi Code 2.x usage from its scoped OAuth configuration by @nwparker in #33290
- Bound retries when generating an agent’s first-work name by @nwparker in #33299
- Prevent Claude agent-hook runs from creating phantom subagent rows by @nwparker in #33298
- Accept OpenCode release ranges when selecting a launch-time model by @nwparker in #33307
- Preserve concurrent edits during a remote Hermes reinstall by @Shy7777 in #20631
- Keep a cold-restored terminal’s agent session without showing an old Done status by @nwparker in #33302
- Attribute shared Hermes gateway events to the correct session pane by @nwparker in #33288
- Let branded Pi forks reach launch readiness by setting their initial session title by @thefrikidude in #28317
- Preserve a fresh agent’s chat identity when an older shell title arrives by @nwparker in #33306
- Mark a Pi answer unread before the compaction that follows it by @mmarabel in #33272
- Back off Antigravity usage reads that trigger browser sign-in by @nwparker in #33297
- Let paired hosts plan terminal-agent launches from the composer by @nwparker in #32192
Browser
Find a page again, manage what appears in suggestions, and use web apps with local files more naturally.
- Add searchable browsing history, removable suggestions and Chrome-style Escape behavior in the address bar by @AmoabaKelvin in #31846
- Let pages use files picked, saved or dropped through File System Access by @AmoabaKelvin in #32970
- Render dark-scheme documents on a dark canvas in previews by @AmoabaKelvin in #32975
- Refresh browser profiles changed outside the window without a reload by @AmoabaKelvin in #32723
- Keep a closed host page from lingering as a window-saved browser tab by @nwparker in #33266
Terminals & remote connections
Type, scroll, split and reconnect with fewer interruptions, while keeping sessions on the host where they belong.
- Wait for SSH sign-in before starting a terminal opened during authentication by @nwparker in #33072
- Start a split on the paired server even when it follows immediately after opening a tab by @nwparker in #33078
- Keep slow remote connections open when a wake probe is missed by @nwparker in #33071
- Show one reconnect notice per server, explain the cause, and account for measured connection latency by @nwparker in #33095
- Reattach remote panes on the host’s next snapshot after a host-exit settlement by @nwparker in #33062
- Remove an exited original pane on paired clients consistently with split panes by @nwparker in #33083
- Record why remote connections closed in app diagnostics by @nwparker in #33094
- Preserve terminal output and parsing order through resizes by @nwparker in #32750
- Avoid republishing session tabs on every Codex thread-name spinner tick by @nwparker in #33291
- Keep keys typed before a pane’s terminal is ready by @nwparker in #33281
- Keep Mac trackpad flicks continuous in full-screen terminal apps by @nwparker in #33313
- Prevent “104;255” from leaking into agent prompts after a tab switch by @ivermin1123 in #31411
- Recheck previously missing paths so terminal file links become clickable by @mmarabel in #6282
- Prevent terminal creation from reviving tabs that were already closed by @nwparker in #32190
- Restart shell panes in split agent tabs as shells by @nwparker in #32418
- Report when a terminal has stopped accepting input instead of claiming delivery by @nwparker in #33269
- Answer background terminal startup queries while the paired view is paused by @nwparker in #33273
- Limit Reconnect & Delete to the selected SSH workspace by @nwparker in #33253
- Move managed SSH tunnels away from saved local ports that cannot be bound by @nwparker in #33271
- Match SSH conversion manifest signing to the host’s parsing by @nwparker in #32369
- Stop paired desktops from republishing mirrored editor tabs by @nwparker in #33259
- Keep probed host capabilities available after host-status updates by @nwparker in #33263
- Prevent a server liveness check from mistaking its own shell for the server by @nwparker in #33158
- Allow different workspaces to sleep at the same time without failing by @nwparker in #33283
- Add opt-in proxy connection reuse for system SSH on Windows by @nwparker in #33030
- Start managed servers with a smaller V8 young generation by @nwparker in #31494
- Respect both configured and cell-reported relay connection limits by @Jinwoo-H in #33039
- Move relay hosts off an isolated cell while its replacement starts by @Jinwoo-H in #33312
- Use a consistent numeric locale for POSIX agent-hook curl timeouts by @siddiqueirshad in #19600
- Remove eager regex lookbehind from paired web routes for browser compatibility by @nwparker in #32906
Source control, workspaces & Windows / WSL
Keep project actions on the right host, protect branches and worktrees, and let cold WSL distributions finish starting.
- Recognize GitLab SSH-over-443 remotes by @lorenzozanee in #30998
- Recognize Bitbucket remotes using ssh.bitbucket.org by @Pr1p in #31002
- Preserve Source Control section collapse state by @just-zzp in #9405
- Back off failed GitLab authentication probes by @1aifanatic in #26742
- Hide stale merged PRs after the workspace HEAD changes by @xianjianlf2 in #7815
- Protect worktrees created by the other Git installation on Windows or WSL from pruning by @nwparker in #33103
- Include the registry addon when relocating the Windows daemon host by @nwparker in #32194
- Retry Git reads after transient wsl.exe service errors during distro startup by @nwparker in #33145
- Keep the worktree watcher from interrupting a cold WSL distro’s boot by @nwparker in #33175
- Avoid synchronous WSL home-directory probes at startup and premature termination of a booting distro by @nwparker in #33179
- Preserve unmerged branches even when they have no net file changes by @nwparker in #32181
- Use the paired server’s own repository ID when an SSH row shares its path by @nwparker in #33257
- Search and offer Linear issues from the same host in Create worktree by @nwparker in #33270
- Remove flags that Kimi Code rejects from Source Control AI commands by @nwparker in #33285
Developer tools & everyday polish
Find running dev servers, keep larger command collections, and make the small interactions feel more considered.
- List a worktree’s detected dev-server ports with
orca ports, including workspace selection and JSON output by @nwparker in #33016 - Explain that direct SSH hosts do not support port detection yet by @nwparker in #33055
- Reclaim old dependency installs and generated output across sibling worktrees with manual cleanup by @nwparker in #32331
- Include old worktree installs and generated output in automatic development cleanup by @nwparker in #33277
- Save quick-command lists with more than 40 entries by @AmethystLiang in #32972
- Keep long quick-command dropdowns responsive with virtualization by @AmethystLiang in #33218
- Improve Resource Manager tab sizing and sort PTYs by workspace activity by @AmethystLiang in #33226
- Keep search highlights visible in long session excerpts by @AmethystLiang in #33220
- Enable Lean syntax highlighting by @febyeji in #31930
- Highlight Zig source files and diffs by @nwparker in #32705
- Group Copilot sessions under their workspace in AI Vault, using the original prompt as the title by @anmol0b in #31160
- Preserve transient AI Vault panel state by @just-zzp in #9419
- Restore focus after renaming a floating tab by @MimeLyc in #31510
- Dismiss notifications without closing modal editors by @degisftw in #32065
- Reveal full shortcut titles on hover by @hwantage in #16806
- Accept normalized Markdown save confirmations from Linear by @Pr1p in #30076
- Keep localized sidebar Send controls from overlapping by @hwantage in #18474
- Report conflicts with shortcuts consumed first by the main process by @m-a-king in #10780
- Show workspace names in the resume dialog while workspaces load by @brennanb2025 in #33038
- Handle dashboard pop-out readiness while the window is hidden by @innocarpe in #24470
- List a web client’s paired server once in automations by @nwparker in #33019
- Explain when headless terminal creation cannot find a workspace by @nwparker in #33264
Tests, builds & maintenance
Broader behavioral coverage across platforms, remote connections, persistence and mobile; fewer redundant tests; and continued module organization. Local affected-test runs also cache loaded dependencies.
All test, build and maintenance changes
New Contributors
- @anmol0b made their first contribution in #31160
- @lorenzozanee made their first contribution in #30998
- @MimeLyc made their first contribution in #31510
- @degisftw made their first contribution in #32065
- @davidgarciab made their first contribution in #32048
- @m-a-king made their first contribution in #10780
- @1aifanatic made their first contribution in #26742
- @febyeji made their first contribution in #31930
- @siddiqueirshad made their first contribution in #19600
- @ivermin1123 made their first contribution in #31411
- @Shy7777 made their first contribution in #20631
- @thefrikidude made their first contribution in #28317
Full Changelog: v1.4.239...v1.4.240