Saved drafts, browser annotations, and live browser previews
Save messages as drafts, annotate pages for your agent, and watch browser automation live in chat. This release also redesigns handoffs and improves everyday navigation, configuration across machines, and conversation performance.
Working with agents
- Save drafts. The new Drafts plugin is bundled and enabled by default. Save a message from a new-thread or follow-up composer, then choose Send now when you’re ready.
- Redesigned handoffs. Hand off from the follow-up composer while preserving your draft and workspace. Choose another provider or a model from the same provider, with an explicit control to exit handoff.
- Control finished turns. Choose whether finished turns collapse for each provider in Settings → Providers. Claude Code now keeps finished turns expanded by default.
- Drag sidebar threads into the composer to mention them. Skill search supports fuzzy matching and explicit
$skillmentions. - Script automations support an explicit working directory. Open child threads directly from workflow previews.
- BB Guide now instructs agents to wait for a user request before creating or messaging other bb threads.
Browser tools
- Annotate pages for your agent. Enable the new Agent Annotations plugin to select elements in bb’s desktop browser and add comments. Your agent receives element details and available React component information. Edit or delete numbered annotations before sending.
- Watch browser automation live. Headless Browser Automation sessions now show a live preview in chat, with an expandable view for following the agent’s work.
- Import browser cookies from Helium on macOS.
Workspace and navigation
- Search and commands. Updated palette UI with separate modes and grouped active and archived results. Open thread-search results in a split pane. Tasks search accepts terms in any order.
- Sidebar and panels. Group worktree threads in any sidebar organization mode, retain collapsed sections, and drag overflow rows into splits. Close other panel tabs or tabs to the right; your chosen diff display mode survives resizing.
- Plugin browsing. Improvements include category pages, compact mobile shelves, easier access to Plugin Guide, and preserved detail-tab selection.
- Navigate conversation images in the lightbox and expand long system summaries. Themes can set the integrated terminal’s font family.
- Mobile. Better panel-tab navigation, more consistent Recent statuses, larger provider toggle targets, and easier dismissal of image previews.
Machines and configuration
- Project environment variables. Set project-specific variables that override machine-wide defaults for agent turns, terminals, and project setup. Import variables from a
.envfile through settings. - Save multiple servers. Add and switch between saved addresses from the desktop Window → Server menu.
- Move your server — experimental. Transfer bb’s server data and plugin state to another enrolled machine. Repositories, workspaces, and provider sessions stay on their existing machines.
- Multi-machine picker — experimental. A searchable picker separates machine selection from environment selection for projects with several machines.
- Accounts and usage. Provider Usage brings pooled and machine-local accounts into a consistent view, deduplicates known accounts within a location, and retains cached measurements after refresh failures. Custom ACP agents can opt into usage reporting when supported by their dialect. Nested bb instances can use their parent’s Account Pooler for both Claude and Codex.
- A persistent telemetry opt-out is available in settings.
Fixes and performance
- Fix machine pairing when accessing bb over HTTP.
- Faster streaming conversations, less animation repainting, and more stable working and thinking rows. Older pages stay loaded and Mermaid previews survive updates.
- More reliable provider sessions, stopping, and queues during interruptions. Clearing Pi context starts a fresh session; ACP question cancellation and late answers are handled more reliably. Automatic provider selection can recover from a failed model catalog without overriding explicit choices.
- Failed voice recordings are retained for retry, and the upload limit increases to 20 MB.
- More reliable machine provisioning, downloads, file watching, and storage cleanup. Modal sandboxes avoid incidental wakes and recover tracked allocations more reliably; model catalogs load independently across machines.
- Fixes for mobile startup and reload navigation, suggestion placement, and overlapping sidebar controls. Archived threads opened deliberately remain in split panes, and scheduled time labels handle daylight saving transitions.
CLI
- CLI errors suggest valid commands and flags and explain missing context. Built-in plugin commands share consistent argument parsing, help, and output. Use
bb diagnostics cli-errorsto summarize local command failures. - Finished terminal output remains readable for 30 minutes after exit, with improved
terminal readandterminal waitbehavior. - Local image and file attachments upload before CLI thread requests, including when the server is remote.
- Inspect discoverable plugin RPCs with
bb plugin rpc listandbb plugin rpc inspect.
New plugin APIs
- Commands and shortcuts. Register app commands with
app.commands.registerand provide rebindable keyboard shortcuts. UsedefineCliandcliCommandto build CLI commands with shared parsing, validation, help, and errors. - Browser extensions — experimental. Add controls beside the browser address bar, run page scripts, and receive messages from the page. Mention providers can attach images as agent context.
- Composer controls — experimental. Set model and other picker selections, remove plugin-owned mentions, react to successful submissions, and attach plugin data when submitting a draft. Initial prompts in embedded composers and compose navigation now resolve thread, project, and section mentions into labeled pills.
- Forms and timeline entries. Plugin tools waiting on
bb.ui.requestInputcan outlive the agent’s turn and deliver their result later. Plugins control the form’s timeline labels and what submitted information the transcript retains. - Discoverable RPCs — experimental. Publish method descriptions and schemas for other plugins and agents to inspect with
experimental_discoverRpc. SDK RPC calls also accept an abort signal. - Dispatch context — experimental. Inspect every queued message in a grouped dispatch, including its author and origin, with consistent sender information across retries.
- Thread and provider controls. Create dependent threads that archive or delete with their owner, independently of sidebar nesting. Providers can choose whether completed turns collapse by default.
- Project configuration. Read and manage project-specific machine environment variables through the SDK, with individual-variable updates for both project and global settings.
- Server and machine management — experimental. Check, start, monitor, and cancel server moves; export server data and clean up an old server copy. Machine plugins can reconcile suspended machines through
hosts.experimental_reconcile. - Shared icons. Plugin-declared icons now work wherever bb accepts an icon name, including tools, providers, and app controls.
For plugin authors upgrading: app.slots.commandPaletteAction remains a deprecated runtime alias for app.commands.register. Its types are now PluginCommandRegistration and PluginCommandContext; tool presentation types are now PluginRowPresentation and PluginRowLabels. Dispatch hooks use queuedMessages, initiator, and senderThreadId in place of the old singular queue and requester fields.
Thanks
Thank you to the contributors and co-authors outside the core team: @0xferrous, @kongenpei, @lucasnetto, @maheen-ejaz, @manjoot, @OXI-717, @robennals, @samanthar0se, @technicalpickles, @timurkhakhalev, @vznh, and Ratul Sarna.