github getpaseo/paseo v0.9.0-beta.1
Paseo v0.9.0-beta.1

pre-release3 hours ago

0.9.0-beta.1 - 2026-09-17

Added

  • Added Cmd/Ctrl+F Find to file panes, with replacement in editable files (#4589)
  • Added Cmd/Ctrl+F Find to terminal scrollback (#4650)
  • Added Cmd/Ctrl+F Find to chat, including messages outside the loaded history window (#4765)
  • Added Jump to file to mobile Changes, opening the changed-files tree in a sheet (#4861)
  • Added automatic Pull request tab opening once per workspace when a PR is detected (#4956)
  • Added expandable plan cards, with rejected plans collapsed by default (#4756)
  • Added an attachment placeholder with a spinner while a selected file uploads (#4958)
  • Added match highlighting to the workspace, agent, project, and branch fields in History search (#4945)

Plugins

  • Added plugin installation from npm, including scoped packages, versions, tags, and ranges (#4975)
  • Added paseo plugin update with --all, --check, and --yes, showing the current and proposed revision before approval (#4975)
  • Added each plugin's description, source, and installed revision to Settings → Plugins (#4975)
  • Added an optional serverId to navigation.openAgent() and navigation.openWorkspace() (#4942)
  • Added host discovery through useHosts() and host-targeted SDK clients through getPaseoClient(serverId) (#4971)
  • Added openExternalUrl() and <ExternalLink> for opening a URL outside Paseo (#4972)
  • Added navigation.openBrowser() for opening a URL in a workspace browser on desktop (#4972)
  • Added a server settings handle returned by registerSettings() with read() and subscribe() (#4674 by @mcowger)
  • Changed assistant_message transformers to receive the whole accumulated message on each update (#4675 by @mcowger, @jegork)
  • Changed tool_call transformers to receive every original call before Overview groups them (#4675)
  • Fixed a plugin session losing its host API permanently after its heartbeat lease expired (#4912 by @gpambrozio)
  • Fixed plugin build commands failing with spawn npm ENOENT on Windows (#4776 by @ABorakati)
  • Fixed ACP text chunks without a messageId splitting one reply into a message per chunk (#4701 by @L4XB)
  • Fixed nested provider subagents appearing as direct children of the root agent (#4970)

Changed

  • Changed History search to keep results chronological in date buckets instead of reordering by relevance (#4945)
  • Changed workspace Restore to keep the archived agent selected, with its own Unarchive action (#4736)
  • Changed the workspace error screen's Retry to Reload, which reopens at the project picker (#4598)
  • Changed closing the last content tab to leave the New launcher instead of an unusable pane (#4844)
  • Changed paseo daemon start to read persistent configuration; removed configuration flags fail with migration instructions (#4575)

Improved

  • Bold, italics, strikethrough, inline code, and link labels stay formatted while a reply streams (#4742)
  • Reduced time to first voice audio from 4.80s to 0.95s on a three-sentence reply (#4927)
  • Reduced cold diff generation from 11.45s to 2.65s on a 213-file workspace (#4676)
  • Reduced desktop memory use, from 290.5 MiB to 152.1 MiB RSS in the Electron main process after loading daemon management (#5007)
  • Kept open chats subscribed across view eviction, app backgrounding, and reconnect (#4863)
  • Added reconnection and Updating messages status to the chat toast (#4863)
  • Kept the app responsive during large uploads by yielding between 128 KiB chunks (#4958)
  • Let resident browser pages idle between screenshots while the desktop window is hidden (#4646)

Fixed

  • Fixed the daemon exhausting its heap in long conversations with cumulative tool output (#4838)
  • Fixed repeated submissions creating several workspaces or agents for one intent (#4442)
  • Fixed a crash loop after closing the last content tab in a workspace (#4844)
  • Fixed New Agent crashing when an enabled provider published duplicate model IDs (#4839)
  • Fixed long drafts growing behind the chat header on Android and iOS (#4824)
  • Fixed the Android composer growing taller when the keyboard closed (#4902)
  • Fixed the Android composer keeping its height after hold-to-delete emptied a draft (#4946)
  • Fixed New workspace setup content not moving up as the composer grows (#4973)
  • Fixed the Android timeline scrolling away when tapping or selecting text in a chat (#5013)
  • Fixed Paste image failing before an attachment reached the composer on Android (#4758)
  • Fixed provider and model pickers not responding on Android tablets (#4845 by @cjcrjc, @mkuhl)
  • Fixed Linux desktop packages launching without the Chromium sandbox (#4447)
  • Fixed paseo daemon stop shutting down a daemon other than the selected one (#4575)
  • Fixed restored archived workspaces showing empty Changes and Commits (#4926)
  • Fixed a rejected plan appearing below the follow-up message that rejected it (#4756)
  • Fixed Cmd/Ctrl+F not opening chat Find while the composer had focus (#4991)
  • Fixed the linked pull request going undetected when a branch remote is a repository URL (#4862)
  • Fixed a plugin's filtered agent list replacing the app's own directory subscription (#4596)
  • Fixed an updated app rejecting daemons that lack independent subscriptions (#4737)
  • Fixed workspace and agent creation failing or leaving agent titles at "Loading…" on 0.8.0 and older daemons (#4895)
  • Fixed Cursor models showing another model's thinking options (#4180 by @fidelix)
  • Fixed voice-chat user messages showing the internal prompt wrapper instead of the transcript (#4927)
  • Fixed History and Command Center search matching a query assembled from letters in separate words (#4945)
  • Fixed workspace titles truncating early on touch layouts behind hidden diff stats (#4698)
  • Fixed the Explorer showing +0 -0 and "No changes" while being dragged open (#4861)
  • Fixed the reconnect toast restarting its entrance animation when opening a saved chat (#4925)
  • Fixed raised shadows around Android file rows in the changed-files sheet (#4898)

Don't miss a new paseo release

NewReleases is sending notifications on new releases.