← All changes
1.3.41May 7, 2026
See every agent's live status, right in the sidebar

Features
- Inline agent statuses in the sidebar — every worktree card now lists its running agents with a colored status dot (yellow while working, green when done) and a 'just now' timestamp. Rows stay bold until you view them, the hovercard triggers across the whole card, and the dashboard is on by default — the experimental toggle is gone
- GitHub Projects in Tasks — browse a full GitHub project board inside the Tasks page, with drag-to-resize columns, polished chip colors, and create-from-PR worktrees that link back to the originating PR
- Expo mobile companion app (beta) — pair your phone to your desktop session over a paste flow with Keychain-backed device tokens, then drive your terminal with text selection, copy, paste, an account switcher, and live rate-limit usage
- Source control panel grows up — commit, push, pull, and sync from the sidebar; full-row hover, tooltips, staged discard-all, and the commit input hides when there's nothing to commit
- Editor 'Changes' view mode — toggle any tab into an in-place HEAD-vs-working-tree diff without opening a separate pane
- Kagi search support — encrypted private session links from the address bar, alongside Google and DuckDuckGo
- Custom IDE font setting — pick any installed font for the editor and UI, separate from the terminal font
- Custom desktop notification sounds — pick per-event sounds for agent-task-complete and other notifications
- Settings: Manage Sessions panel — see every active daemon-backed session and reap them individually, with a pid-recycling guard so a recycled OS pid can't take over a stale session
- CLI: tab profile lifecycle commands — `orca tab profile list/create/delete` plus automation primitives, scoped strictly so they're scriptable
- `orca tab switch --focus` now surfaces the browser pane in addition to terminals and editors
- Cmd/Ctrl+Shift+] / [ cycles within the current tab type by default, so cycling terminals doesn't jump you into a browser tab
- Experimental shared-path symlinks on worktree creation — opt in to share `node_modules` or other heavy directories across worktrees of the same repo
- Browser viewport-size emulation via CDP — preview responsive layouts without resizing the window
- Sidebar 'Add project' dialog gains a 'Create new project' option for greenfield repos
- Path-aware filter in the SSH remote file browser
- Hide the default-branch workspace from the sidebar to declutter long lists
- First-launch telemetry consent flow with a Privacy pane in Settings — anonymous by default, opt in to attach a PR tag and contact info to feedback
- Autohand Code agent support, with detection and a logo in the agent catalog
- OpenCode `question.asked` now flips the agent into a waiting state so the sidebar dot reflects it
- Pi panes wired into the unified agent-hooks pipeline — Pi gets the same status, completion, and notification treatment as Claude and Codex
- Cursor CLI agent support is no longer experimental
- Anonymous opt-in feedback — submit feedback without revealing your identity, with the PR tag and contact info as opt-in extras
Improvements
- Settings search focuses on Cmd/Ctrl+F and skips empty section headers
- Status bar consolidates memory and sessions into a single Resource Usage segment
- New-workspace flow gets a unified source picker, an inline create-branch row with scoped suggestions, and tab/focus polish; non-submitted agent URLs persist as drafts
- Linear: pasting a Linear URL in new-workspace creates the entry as a draft instead of submitting
- Theme swaps are visually instant — CSS transitions are suppressed only during the root light/dark class flip
- Tasks page header aligns with the sidebar nav row, and resume state persists across sessions
- Right sidebar now top-aligns in non-workspace views
- Titlebar shrunk to 36px with the macOS traffic lights re-aligned
- Sidebar agent-identity icon restored on inline worktree rows
- Cmd+J empty-query results rank by focus recency
- Sidebar scroll position survives worktree deletion
- Worktrees grouping defaults to projects
- First-launch telemetry banner copy refreshed
- GitHub project chip colors are easier to read at a glance
- Mobile: scrollback hydration, keyboard layout polish, and worktree-creation flow improvements
- Mobile: detailed pairing log + capped connecting timeout for faster diagnosis
- Mobile: indefinite phone-fit hold with configurable auto-restore
- Sidebar reserves the worktree scrollbar gutter so rows don't reflow when it appears
Fixes
- Terminal: PTY output writes live and de-overlaps reattach restores, so cold restores don't double-paint
- Terminal: scrollback preserved when buffer captures run during a transient empty-render window
- Terminal: SIGKILL race fixed for the worktree-sleep flow (#217); scrollback now survives sleep
- Terminal: zombie worktree PTYs are cleaned up (#218)
- Terminal: ptmx fd released on natural exit, and SIGHUP-to-recycled-pid is defused
- Codex 0.129: hook trust hashes are registered so Codex stops gating Orca's managed hooks
- Claude: redundant credential rewrites on every Claude spawn are skipped (#1507)
- Agent hooks: silenced exit-127 spam from stale managed hook entries
- Sidebar: dashboard inline-agent rows un-stick from bold once retention kicks in
- Sidebar: first worktree discovery now stamps `lastActivityAt`, so brand-new worktrees sort correctly
- Source control: UTF-8 paths are preserved in status and branch diffs
- GitHub project view: NUL bytes escaped so diffs render as text
- SSH: stale repo worktree refreshes are handled gracefully
- SSH: auto-connect waits for any passphrase prompt before continuing
- SSH: focus recency on remote worktrees is preserved when activating an agent
- Worktree setup: the setup-runner is generated from the target worktree's `orca.yaml`, not the parent's
- Hooks: benign `orca.yaml` divergences no longer silently skip worktree setup
- Single-instance lock added to the runtime + owned-metadata clear (#1312)
- Dev: `pn dev` skips the single-instance lock and auto-exposes a CDP port
- Updater: prerelease feed resolution gets diagnostic logging for triaging RC issues
- Release pipeline: orphan tag lookups are recovered, desktop-only tags are filtered, and the pipeline is consolidated
- Release: Zod pinned to ~4.3.6 (revert of the 4.4.x bump in #1526)
- RPC: optional Zod 4.4 schema fields can be omitted again
- New-workspace: Cmd/Ctrl+Enter submit keeps working after switching the source
- New-workspace: workspace name casing is preserved
- Cmd+J: empty-query worktree ranking is fixed for focus-recency mode
- macOS: repeated privacy prompts on first use are avoided
- Mobile: WS heartbeat reaps half-open mobile sockets
- Mobile: notification-permission and camera-permission copy and handling cleaned up
- Mobile: dead-row gap above the keyboard accessory bar removed
- Mobile: server-authoritative phone-fit state machine fixes the connection-stability races
- Mobile: a single RpcClient per host is shared across the app
- Browser: webview defaults to a white background so transparent pages don't flash dark
- GitHub: tokens shadowed by env are diagnosed in auth errors
- Pi: linked-issue URL is prefilled via env var to bypass a paste-readiness race
- Worktree list: `git worktree list --porcelain` no longer passes the unsupported `-z` flag
- Telemetry: settings_changed whitelist refreshed; agent_kind has a runtime guard
- Tasks: the Tasks-page header aligns with the sidebar nav row again
- PR-bug-scan rollups landed for #1029, #1385, #1396, #1397, #1409, #1410, #1420, #1422, #1424, #1442, and #1444