Desktop
Release draftSource notes

Desktop launch: upstream/dev → upstream/v2

Compared the latest fetched tips on September 8, 2026:

Branch Exact revision Tip date
upstream/dev ecbc6ccac85b3e8087b6445e584318419b9e2b34 September 7, 2026
upstream/v2 a912a6ee4fe506edc3f96555f86c2d6ad9fdce3d September 8, 2026 UTC

The comparison uses the two branch snapshots, not just commits since their common ancestor. The audit covers app, desktop, session-ui, and ui, plus Core, Server, Client, and provider changes with a Desktop-visible result. Mobile web is included at the user's request. The blog contains no TUI features.

Main editorial finding

This is a substantial expansion and hardening of Desktop. Tabs, Home, model choice, file attachments, change review, themes, and basic follow-up queueing already exist in dev. Do not announce those as first-time V2 inventions.

The strongest launch story is better control of ongoing work, worktrees in the tabbed experience, a configurable activity timeline, conversation search, recovery and continuity, and much broader polish. The experimental browser is a meaningful preview, but remains opt-in.

Feature coverage

Area Baseline and V2 difference Evidence
Tabbed workspace Tabs and Home already exist in dev. V2 makes the current layout the sole layout and improves tab sizing, controls, state, and navigation. Dev i18n/en.ts has the Introducing Tabs copy; #42993, #46731
Worktrees Dev's new-layout release copy explicitly says worktrees are not supported there yet; legacy worktree functionality existed. V2 brings creation, selection, and management into the tabbed layout. #38790, #47310
Starting branch Choose which branch a new worktree starts from. #44906
Preparation Keep the new session visible; draft a follow-up while the worktree is being prepared; tolerate long setup. #46694, #47734, #47694
Moving sessions Move an existing conversation to another worktree/directory, with location notices and clearer menus. This does not claim that unrelated local file edits are automatically merged. #47310, #46862, commit 8062b5455a
Worktree setup and cleanup Startup scripts, default destination, current inventories, linked-session information, and clearer individual/bulk deletion. #44455, #47310
Follow-ups Basic queue/steer preferences already exist in dev. V2 provides a server-backed inbox, visible queue pullout, alternate delivery action, reorder/remove/steer controls, and position-preserving editing with draft restoration. Dev pages/session.tsx; #44683, #42109
Deliberate interruption Queued work stays parked after a stop; deliberate stops release restart intent. Avoid suggesting that stopped tasks automatically start again. #42682, #41800
Background work Long-running tools and delegated tasks can run in the background; Desktop exposes Move to background and background summaries. #44068, commit ec46439ef5, session/background.ts
Delegated sessions Clearer delegation/activity states, child-session navigation, preserved parent lineage, and subagent resumption. #44078, #46746, #44404, #43172
Timeline presets Messages only, Quiet, Compact, Detailed, Everything; category-level visibility, grouping, and collapse controls. #46717, #47226
Activity readability Group repeated activity and adjacent patches, merge repeated file edits, show inline counts and errors, retain useful working/completion indicators. #43901, #44107, #45603, #44632, #47033
Conversation search Find in session with highlights and match navigation. Current implementation searches loaded user/assistant text, not every tool output or all unloaded history. Commit 370b9965d3; session/timeline/search-controller.ts
Command palette Better scoping, responsiveness, and combined command/file/session lookup. Session-ID search is also supported. #47164, #44387, #42992
Dropzone Attachments already exist. V2 expands the drop target across the session and into new sessions, with model-aware copy and drag cancellation. #42312, #47303
Images and diagrams Image previews in Read results, local Markdown images, and rendered Mermaid diagrams. #46513, #45780, #43024, #45773
Session import/export New native Desktop import flow validates a saved session, imports it into a selected project, and opens it. Export existed; completion handling is improved. #46416, #46435
Home actions Rename, export, and delete from a session's context menu; improved search/index behavior. #43245, #43191
Session identity Saved project colors, project menus, editable titles, tab context menus, and copy-ID actions. Custom header project icons are gated outside production at the audited tip. #46787, #46977, #46113, #44125, settings/experimental/experimental.tsx
Settings Full-page settings with clearer Preferences, Appearance, Notifications, Projects, Worktrees, Providers, Models, Extensions, Experimental, and About sections. #40845, #45190, #46984, #45782
Vertical tabs Optional vertical layout and project-name display. Experimental, not the default. #45210, settings/experimental/experimental.tsx
In-app browser Desktop-only, opt-in browser tabs beside review/files; user and agent navigation, input, screenshots, files, and diagnostics. Experimental, disabled by default. #44838, #46531, settings/model.tsx
Files Horizontal tree scrolling, context menus, folder labels, cleaner file tabs and empty states, preserved panel state. Commit e64b2bc137; #43835, #47095, #44477
Review Word-level changes in unified review, navigation following file-tree order, large-diff improvements, support for compatible non-Git VCS backends. Existing review/comments are not newly invented. #45833, #46557, #46684
Desktop terminal panel New bottom placement as an alternative to the side panel; focus, mouse, copy, and editing fixes. This is the panel inside Desktop, not the TUI. #44175, #45140, #44737
Model selection Refined picker, synchronized selections, thinking controls, model-change notices, and persisted previous selections. #44383, #43288, #41771, #45515
Provider reach Expanded native providers and integrations, including Mistral, Groq, DeepInfra, Cerebras/Together, Bedrock Mantle, Azure authentication, and DigitalOcean. The blog groups this rather than treating backend packages as Desktop UI features. #46278, #45288, #45108, #45098, #40119, #45086, #47137
Local models Model discovery for configured Ollama, LM Studio, and vLLM providers. #43021, #42607, #43022
Skills and extensions Skills exposed in slash commands; clearer shared/project views; corrected worktree scope for MCP toggles and clearer connection failures. #47247, #45432, #45509, #45522
Web search Pluggable search providers and Desktop choice/consent UI, including disabling search; selection remains sticky per session. #35558, #42591, #41042, #47334, commit 33ef66746b
Live customization Config, instructions, agents, commands, skills, and local plugins can refresh without restarting the session. Public plugin/API redesign is substantial, but implementation details are not launch-post copy. Commits c9b24ef027, 856c569458, 92807d0bb9, 8da7526616; #39224
Long-session context Better retention and retry/recovery around compaction; provider-side compaction where configured and supported. Provider mode is opt-in; local mode remains the default. #46751, #47178, #47323, #47324
Restart/crash continuation Durable running-work records allow managed-service restart recovery after graceful or unclean exits. Explicit user stops release that intent. Repeated recovery has a finite budget; this is not an exactly-once/no-loss guarantee. #41800, current core/src/session/execution.ts, core/src/session/execution/restart.ts, server/src/process.ts
Background recovery Recover shell outcomes and background child sessions after restart; wake the parent appropriately. Current implementation supersedes the earlier PR's child-recovery limitations. Commit ded8a492d1; #45781, current core/src/session/execution/restart.ts
Interrupted responses Continue some interrupted streams from durable history, including transport failures after partial output. Retryable failures after output also receive recovery handling. #43757, #45861
Reconnect and foreground Detect stalled streams; resync on foreground; refresh queued input; pace directory resync; clearer connection indicator and request timeouts. #47571, #47573, #47565, #47574, #47572
Missing locations Recover a session by selecting another directory or worktree rather than leaving an unusable route. #46215
Session-entry performance Remove unnecessary waits before showing available history; reduce work in tab switching and draft entry. Results vary by workload. #46044
Streaming and large changes Avoid whole-row reconstruction for text deltas; reuse diff highlighting; avoid repeated diff work; bound costly rendering. #46774, #46769, #46768, #46772
Large drafts and memory Batch/defer persistence, chunk large draft text, avoid redundant encoding/history hydration, and fix multiline-paste out-of-memory cases. Desktop renderer state moves to SQLite. #47704, #47705, #47706, #45497, #47695
Inactive work and request load Stop transcript/inbox prefetch in inactive tabs; bound Home indexing and catalog retention; cap request concurrency and reduce slow Git-read contention. #46762, #46786, #45406, #47441, #47564
Continuity of the view Fix scroll anchoring, prepended history, disclosure state, restored panels, new-session flicker, and session ownership across navigation. #44317, #44077, #45474, #44477, #47734
Notifications and windows Restore completion alerts, route notification clicks into the right tab, deduplicate sounds, and sync project lists across windows. #44412, #44897, #44612, #44600
Native polish Windows titlebar/caption controls and editing shortcuts, native-menu zoom sync, Linux window display, WSL V2 startup and connection improvements. #45208, #46336, #46773, #42681, #42199
Updates and migration Migration progress/failure UI, staged-update verification/rechecks, coordinated restarts, and bundled matching runtime. A development-startup benchmark is not a consumer app-startup benchmark. #42495, #42715, #42707, #41865, #46705
Mobile navigation Full-width Session/Changes/Files/Terminal views, view navigation placement, Files tabs, compact menus, and status/session-detail drawers. #46388, #46389
Mobile review and touch Edge-to-edge changes, sticky file summaries, Open file, line numbers, wrapping preferences, visible touch actions, and better input sizing. #46390, #46391
Mobile relaunch and keyboard Restore last permitted route for the installed web app; cached startup/update handling; iOS safe areas and keyboard spacing. This is mobile web/PWA work, not a native phone-app announcement or full offline operation. #44205, #46391, #46703, #47712, #45495
Language and layout Hebrew locale, bidirectional input, right-to-left layout fixes, and typography/spacing work across shared components. #42475, #42413, #44106

Performance wording

The post intentionally uses qualitative, workload-specific wording. The attached videos are demonstrations, not benchmarks.

No aggregate percentage, universal instant-opening claim, battery claim, or total-RAM figure appears in the launch post.

Release and media notes