workbench Alpha

Releases

Download the latest macOS build, or browse all versions and notes on GitHub. Windows and Linux builds are not available yet.

Desktop changelog

View source on GitHub

0.13.2 (2026-05-14)

Bug Fixes

  • worktree threads no longer leak into main branch thread listing (dc64911)

0.13.1 (2026-05-14)

Bug Fixes

  • resolve 27 dependabot security alerts (6e9eb79)
  • resolve code scanning security alerts (3b84c46)

0.13.0 (2026-05-14)

Features

  • symphony: add CompletionHandler for open_pr, commit, mark_done (75a1bd7)
  • symphony: add GitHubAdapter (604b506)
  • symphony: add LinearAdapter (a51ecc9)
  • symphony: add metadataJson to Thread for symphony source tagging (22f6355)
  • symphony: add symphony types and install js-yaml (8a891b1)
  • symphony: add SymphonyConfigStore (80bbb11)
  • symphony: add SymphonyConfigStore (2f87766)
  • symphony: add SymphonyOrchestrator with polling, dispatch, and reconciliation (c0e0c2e)
  • symphony: add WorkflowReader with YAML front-matter parsing and template rendering (489e6b7)
  • symphony: add WorkflowReader with YAML parsing and template rendering (b4a3170)
  • symphony: expose RunService.getRunStatus for orchestrator polling (5bd02ff)
  • symphony: Symphony integration — orchestrator, adapters, Kanban UI, and layout refactor (16bd34c)
  • symphony: wire orchestrator IPC channels, preload bridge, and mainApp startup (eff657c)

Bug Fixes

  • bugfix and broken stylings (612966b)
  • symphony: strip apiKey from getConfig response, fix ghost timer race on stop/restart (0eacb7a)

0.12.0 (2026-05-11)

Features

  • add branch filtering functionality to Layout component (78239f1)
  • add context queue selection popup to TerminalPane (84c23a7)
  • add context queue to local PR diff and commit textarea (588afca)
  • add context queue to remote PR diff and comments (32ac1f3)
  • add remote PR review workflow to git module (177ff52)
  • add remote PR review workflow to git module (c283368)
  • add useDomSelectionQueue composable (1d53de9)
  • add useTerminalSelectionQueue composable (b1c549c)
  • added markdown filter (bdd1a9e)
  • agent: integrate AgentCommandsSettingsDialog and enhance ThreadAdaptivePromptInput (6a5de1f)
  • branch: enhance branch handling in layout and thread creation (7db0a1a)
  • desktop: add GitHub PR settings management (10160f1)
  • desktop: add terminal session management functionality (96e9265)
  • desktop: composable for add-project from directory picker (1e0cdb9)
  • desktop: enhance Git panel navigation and functionality (b75688c)
  • desktop: enhance Git pull request navigation and routing (7a6bb7e)
  • desktop: enhance GitHub token setup and remote PR panel (21a8343)
  • desktop: enhance prompt input components with adaptive features (03083e9)
  • desktop: implement worktree deletion functionality (b177681)
  • desktop: repo path helpers for add-project flow (9c89f0f)
  • desktop: update sidebar width and enhance layout with fullscreen support (874b4c4)
  • enhance Git functionality and UI components (beb83e9)
  • enhance global keybindings and terminal panel functionality (1e46477)
  • enhance layout and navigation components (4a48669)
  • enhance Layout and WorkspaceLayout components with new features (93db7be)
  • enhance TrackedBranchSelector and Layout components (22026e2)
  • extract diff line numbers from DOM for compact file references (b8c8235)
  • file-management: add file rename functionality (d510710)
  • git: add GitHub PR diff fetching functionality (a8165b6)
  • git: extend GitService interface with SCM operations (f69bf34)
  • git: implement SCM methods in IpcGitService (42b593f)
  • inject context to prompt input when available, navigate to agent on add-to-chat (0b1d863)
  • integrate @tanstack/vue-query and enhance UI components (61370a7)
  • integrate markdown editor with file handling and enhance project deletion confirmation (c9db38f)
  • integrate Vue Router and update workspace components (5798a63)
  • layout: add no threads message and button in sidebar (83943e4)
  • notification: add central notification module with SQL persistence (6e8bc88)
  • notification: add central notification module with SQL persistence (a401aa3)
  • notification: add notification module with IPC service, composable, and sidebar popover (33defab)
  • organized tabs into context for space saving in sidebar (d4418ac)
  • pass agentTab=true to TerminalPane inside AgentPane (72d3147)
  • provide injectContextToAgentKey and openWorkspaceFileKey in Layout (9bbd6cb)
  • refactor thread navigation and layout components for improved user experience (e442848)
  • sidebar: add header-extra slot to ThreadSidebarNodes (70aa13c)
  • sidebar: inject branch picker and tabs into primary group slot (400f246)
  • sidebar: inline project selector and collapse button on one row with fullscreen-aware margin (da34b2c)
  • storage: add Drizzle db factory and test helper (533fce2)
  • storage: add Drizzle schema definitions (f0c0141)
  • storage: add NotificationStore with Drizzle (8cd885e)
  • storage: add ProjectStore with Drizzle (42cd49f)
  • storage: add RunStore with Drizzle (3c817da)
  • storage: add SettingsStore with Drizzle (acc7779)
  • storage: add ThreadStore with Drizzle (dea86a8)
  • storage: add WorkspaceStore coordinator with Drizzle (c36bed0)
  • storage: add WorktreeStore with Drizzle (88824f5)
  • storage: wire Drizzle WorkspaceStore in mainApp, remove worktree IPC handlers (492c252)
  • thread: enhance thread management with resume ID handling and UI updates (379ecee)
  • toasts: integrate toast notifications and enhance GitHub PR fetching (db6561e)
  • types: type IPC payload parameters in preload and env.d.ts (868bbdc)
  • update dependencies and refactor UI components (a21b6ab)
  • updated layout implementation (cd190c7)
  • welcome: add project selection functionality to WelcomePage (aee400a)
  • workspace: add worktree group management functionality (22411bb)

Bug Fixes

  • agent: inject resume command via pendingBootstrap to avoid PTY race (c207224)
  • clear pendingText on dismiss and guard buildItem in useTerminalSelectionQueue (cc3c095)
  • clear pendingText on empty selection in useDomSelectionQueue and add throw guard test (ac4ad9c)
  • layout: remove unnecessary text display in sidebar trigger (83a2c5a)
  • preload: add windowFullscreenChanged to inline IPC_CHANNELS (3b487de)
  • sidebar: adjust sidebar width for improved layout consistency (2eadee3)
  • sidebar: always apply ms-12 to project selector to clear traffic lights (2c4b4be)
  • sidebar: apply ms-12 on SelectTrigger when not in fullscreen (bc876a6)
  • sidebar: apply ms-12 when not fullscreen, remove when fullscreen (f8bffc4)
  • sidebar: hide branch selector in primary group when a worktree thread is active (2c1c3f3)
  • sidebar: place add-worktree row after first primary, before rest (710254c)
  • sidebar: show tabs in worktree group slot when worktree thread is active (9a8a905)
  • sidebar: show tabs under whichever group has the active thread (c350924)
  • storage: add duplicate-ID guard in ProjectStore.reorder (5c4a247)
  • updated layouts and git diff changes (c4c63eb)
  • useIsFullscreen: use Electron IPC enter/leave-full-screen events for reliable detection (25dc5bf)
  • useIsFullscreen: use matchMedia display-mode for reliable Electron fullscreen detection (6f43ca7)
  • wrap buildItem in try/catch and document agentTab stability in TerminalPane (d0d4dd7)

Performance Improvements

  • convert collapsedPopoverHoverCloseTimer from ref to plain let (9b10920)
  • runStore: add Map index for O(1) append and setStatus lookups (90429e1)

0.11.0 (2026-04-18)

Features

  • added sidebar toggle (b9fcc78)
  • UI improvement and simplification (175851a)

0.10.0 (2026-04-16)

Features

  • agents: async WebLLM thread title after first send (d950932)
  • desktop: add extraEnv param to PtyService.getOrCreate (1394599)
  • desktop: add HookHandler to dispatch agent hook events (422e16d)
  • desktop: add HookRegistrationService for agent hook scripts (757dcf8)
  • desktop: add HookServer for agent lifecycle hook events (c11eec1)
  • desktop: add NotificationService.trigger for OS notification delivery (c60231e)
  • desktop: wire HookServer and HookRegistrationService into app startup (e93e5f0)
  • local-llm: add prompts and output parsers with tests (6235562)
  • local-llm: lazy WebLLM engine with WebGPU gate and queue (7b78af0)
  • scm: IPC for staged unified diff for local LLM (654b741)
  • scm: suggest commit messages via local WebLLM (2588513)
  • sidebar: implement ThreadSidebarNodes with context/thread node pattern (ff52873)
  • sidebar: replace ThreadGroupHeader+ThreadRow loop with ThreadSidebarNodes (068f4e8)
  • sidebar: wire node-based context/thread model in ThreadSidebar script (92d2b24)
  • updated hooks (1539299)
  • updated thread sidebar to be more minimal (a5b0d69)
  • updated to hook based notification (5719fdc)

Bug Fixes

  • agents: capture thread title epoch before refreshSnapshot (49f4d2b)
  • browser behaviours (dd06a42)
  • desktop: add RenameThreadInput type and workspaceRenameThread IPC channel (bede801)
  • desktop: change hook scripts dir to ~/.workbench/hooks (5342b1b)
  • desktop: fix HookServer robustness issues (error handling, stop, guard) (3b8201d)
  • desktop: resolve typecheck issues from hooks reliability wiring (205e84f)
  • desktop: use space-free path for hook scripts to fix macOS shell split (e63f1d2)
  • sidebar: align node add-thread target id and restore group test hooks (22c27ea)
  • sidebar: resolve ThreadSidebarNodes markup and typing risks (b0e19c3)

0.9.0 (2026-04-14)

Features

  • add preview IPC channels (reload, setBounds, show, hide) (a87e4a0)
  • add PreviewBounds and PreviewApi types (b5d0a6e)
  • add PreviewPanel component and unit tests (e6200b1)
  • add WebContentsView lifecycle and preview IPC handlers in main process (a81bcd6)
  • desktop: add inline thread prompt pane to WorkspaceLayout (10ac421)
  • desktop: add MonacoDiffEditor component (af02aa1)
  • desktop: add MonacoEditor component (a75f825)
  • desktop: add monacoLanguageIdFromPath utility (1f372ad)
  • desktop: add preview WebContentsView DevTools button (cbb20a6)
  • desktop: add ThreadInlinePromptEditor component (d59e931)
  • desktop: empty default preview URL, hide URLs in banners, persist per worktree (4d1948c)
  • desktop: inline thread compose in sidebar (584a637)
  • desktop: native preview BrowserView host (031bfa1)
  • desktop: show preview load, HTTP, and network errors in the panel (1e95c21)
  • desktop: swap CodeMirrorEditor → MonacoEditor in FileSearchEditor (9ca071a)
  • desktop: swap CodeMirrorMergeDiff → MonacoDiffEditor in SourceControlPanel (8f1f75f)
  • desktop: ThreadGroupHeader emits add-thread-inline, wires to inline prompt (23f4170)
  • desktop: wire Preview tab in workspace and persist preview in layout (707c9bb)
  • expose previewApi in preload and inline new channel strings (a07cef9)

Bug Fixes

  • desktop: agent PTY bootstrap resume vs prompt (ffb57e1)
  • desktop: avoid jsdom canvas stderr in monacoShadcnTheme toHex (f50fe6e)
  • desktop: keep project tab hover card above native preview WebContentsView (8be880a)
  • desktop: restore file editor collapse toggle in header (deb321f)
  • desktop: steer popovers away from native preview via collision mirror (13a0dc3)
  • guard show() rejection and add ResizeObserver disconnect test in PreviewPanel (3700c2f)
  • handle addChildView failure and document preview constraints in main process (3ccb19e)

0.8.0 (2026-04-12)

Features

  • add command center icon bar and activeFilter to WorkspaceLauncherModal (92178ca)
  • add useCommandCenter composable with scoped keybindings (d88afa2)
  • remove project digit-slot switching from workspace keybindings (cb2b50a)
  • remove switchProjectOrTerminalDigit keybinding (cf4914c)
  • wire Command Center into WorkspaceLayout, remove project digit-slot switching (f7a5c01)

0.7.0 (2026-04-12)

Features

  • added unified git diff (f62f53d)
  • bundle metrics helper for main Vite chunk (bb56d07)
  • context-queue: [Agent Tab] paste header for thread agent terminal (34d6f16)
  • context-queue: add paste text formatters (93a1c91)
  • context-queue: add PTY inject loop (76065a7)
  • context-queue: add queue types (d11e7c4)
  • context-queue: add review dialog (8f9a2a1)
  • context-queue: add selection popup and anchor helpers (50a04e0)
  • context-queue: add thread context queue composable (7178507)
  • desktop: Agent button on selection popup sends context to PTY (0f06d22)
  • desktop: context queue bar on overlay shell terminals too (9ad7fe7)
  • desktop: drag-and-drop reorder in context queue review (a635dd6)
  • desktop: emit user-typed from TerminalPane for PTY echo suppression (6a8dc93)
  • desktop: GitHub-style composer for context queue review (ab08980)
  • desktop: keybindings for Queue/Agent selection bar (ca832d1)
  • desktop: open queue review when context is enqueued (c7d6fd1)
  • desktop: thread context queue with review and PTY inject (60147d3)
  • desktop: TipTap thread create, attachments, IPC channel map (7c2392d)
  • editor: inline file badges, slash chip styling, Done with check icon (326fdd3)
  • improve tooltip provider rendering (54ee9a1)
  • moved terminal to the bottom bar (64c2811)
  • queue: context badge in TipTap, footer Remove+Done, drop preview chip (51b205a)
  • queue: show queue context badge as inline TipTap tag in review note (3f3639a)
  • queue: TipTap comment editor with blob preview in context queue review (dc6b19d)
  • updated git diff (f19b47c)

Bug Fixes

  • desktop: anchor context-queue bar to selection and visual viewport (ec7c143)
  • desktop: dismiss context queue popups on scroll (c9f40ce)
  • desktop: label queued shell output as Terminal N, not generic Terminal (affc760)
  • desktop: thread PTY idle attention uses activeThreadId and input suppression (b1c2522)
  • desktop: wire activeThreadId and user-typed into PTY run status (3e5d313)
  • queue input (f068384)
  • queue: align drag handle to the left of the review editor column (f36f08c)
  • queue: do not preventDefault Space in TipTap edit mode (blob wrapper) (6ad6fe4)
  • queue: preserve review drafts when queue props update while panel open (c083304)
  • security: add -- end-of-options separator before prompt in agent adapters (HIGH-3) (7a69ed1)
  • security: enable sandbox:true — rewrite preload without Node.js path import (HIGH-1) (5b32d64)
  • security: extract path guard utility and fix EditService path traversal (CRITICAL-1) (20de633)
  • security: fix git flag injection and worktreeRemove path derivation (MEDIUM-2, MEDIUM-3) (699fe22)
  • security: reject file paths containing colon before git revspec interpolation (LOW-2) (5d5688b)
  • security: upgrade Electron to patch commandLineSwitches renderer injection CVE (HIGH-2) (49b5da9)
  • security: validate cwd against registered worktrees in IPC handlers (MEDIUM-1) (dcbf1ee)
  • vulnerability from claude code review (933f5e1)

Performance Improvements

  • scm: LRU diff text cache with worktree-qualified keys (eaf8180)

0.6.0 (2026-04-10)

Features

  • updated terminal positioning (8987aa1)

0.5.3 (2026-04-10)

Bug Fixes

  • desktop: fix electron-builder release packaging and publish metadata

0.5.2 (2026-04-10)

Bug Fixes

  • desktop: fix closeConfirmation resume IDs message and electron-builder channel (88b0be7)

0.5.1 (2026-04-10)

Bug Fixes

  • desktop: resolve threadBootstrap test import for node/electron tsconfigs (ff1a551)

0.5.0 (2026-04-10)

Features

  • add cursor resume-ID parser (0232584)
  • add CursorCliAdapter with detectResumeId (7a82263)
  • add cursorSessionIdDetected IPC channel (6bba333)
  • add setRawDataListener hook to PtyService (8099b6b)
  • added resumable feature (2eb0d58)
  • using shadcn sonner component (ee29943)

Bug Fixes

0.4.0 (2026-04-07)

Features

  • add Work Bench landing page (Astro + Cloudflare) and FileSearchEditor updates (9c559c9)
  • capture first prompt for thread titles (ed9fbbf)
  • capture first prompt for thread titles (523eebd)
  • desktop: refresh file explorer on Files tab; file service and IPC updates (1dc5ab7)
  • persist thread session metadata (f7b56a0)

Bug Fixes

  • align thread session storage contract (fa51b40)
  • complete thread session persistence (78e4b46)
  • preserve thread cleanup with foreign keys (0f11eec)
  • tighten initial prompt capture semantics (15f617d)

0.3.0 (2026-04-07)

Features

  • add Work Bench landing page (Astro + Cloudflare) and FileSearchEditor updates (9c559c9)
  • capture first prompt for thread titles (ed9fbbf)
  • capture first prompt for thread titles (523eebd)
  • desktop: refresh file explorer on Files tab; file service and IPC updates (1dc5ab7)
  • persist thread session metadata (f7b56a0)

Bug Fixes

  • align thread session storage contract (fa51b40)
  • complete thread session persistence (78e4b46)
  • preserve thread cleanup with foreign keys (0f11eec)
  • tighten initial prompt capture semantics (15f617d)

workbench is downloading

The file should appear in your Downloads folder in a moment. We are not on the Apple Developer Program, so macOS may show a security warning the first time you open workbench. If it does, use System Settings (below) or in Finder right-click workbench and choose Open.

Screenshot: macOS System Settings → Security, message that workbench was blocked, with Open Anyway indicated.
If macOS blocked the app: System Settings → Privacy & Security → click Open Anyway. Or in Finder: right-click workbench → Open.