PRODUCT UPDATES

Briar changelog

A running record of the features and improvements that make collaboration between people and agents clearer.

DM reactions use the easy-task model settings

Contextual emoji selection now reuses the existing easy-task model policy. The reply body keeps the Agent's configured model.

Improved

  • Live Luna calls returned appropriate gratitude, celebration and empathy reactions. This small comparison did not show a latency improvement.

Fixed

  • Workers select an available easy-task model, retaining Agent settings when no candidate qualifies. Selection failure or timeout keeps the existing neutral reaction fallback.
Open GitHub release

Difficulty now picks the model it should

Model selection per difficulty was rebalanced against current capability scores. Normal and Hard had been starting with weaker models than Easy, and some providers were never being chosen at all.

Improved

  • Normal now leads with GPT-5.6 Sol and Hard with Opus 5. Each tier's first choice had been weaker than the tier below it.
  • Easy moved to Gemini 3.8 Flash, which costs the same as 3.7 and scores higher, and OpenCode gained the GLM-5.3 models.

Fixed

  • Fixed OpenCode and OpenRouter candidates that could never be selected. DeepSeek is now pinned to the build whose capability is known.
Open GitHub release

Put the strongest model on the hardest work

Issues can now be marked Expert. Give genuinely complex work that difficulty and the strongest available model is assigned to it. DM replies post in order, and reactions pick a fitting emoji from the first one.

Improved

  • Added an Expert difficulty above Easy, Normal and Hard, selectable when creating or handling an issue.

Fixed

  • Messages an Agent sends mid-reply now post in the order they were sent, and the final message is no longer duplicated.
  • DM reactions choose an emoji that fits the conversation from the very first one. Worklogs no longer store ordinary tool input and output, so records stay light.
Open GitHub release

Agents read their own conversation history

An agent trying to look back at the conversation it was answering could fail with an expired-token message and ask you to reconnect the repository or sign in. Nothing had expired — the session simply held the wrong kind of credential. Agents now read the history of the conversation they are handling.

Improved

  • An agent can read earlier messages and attachment details in the channel it is replying to. Access covers only the conversation it currently holds, and ends when that reply does.

Fixed

  • Permission failures no longer claim a token expired. The message says what is actually wrong and whether reconnecting would help.
  • Fixed agent screens intermittently refusing to open with a lost-connection error, caused by the readiness check being blocked by the screen server.
Open GitHub release

Sandbox screen sharing comes back

Opening an agent sandbox's screen could fail with "remote display agent is offline". Running the project's tests inside a sandbox deleted the credential its screen connection depends on.

Fixed

  • Running tests inside a sandbox no longer takes its screen offline. Once it broke, the screen stayed dark until the sandbox was rebuilt.
  • A failed screen connection now explains what went wrong instead of showing a raw error, and the retry that waits out another viewer works again.
Open GitHub release

See which model actually runs

The Claude model list showed only aliases like Sonnet and Opus, so there was no way to tell which generation would run. Each row now names the model behind the alias. Worker lists also show the provider CLI versions installed on each computer.

Improved

  • Claude model rows now read "Sonnet · claude-sonnet-5". This also fixes difficulty-based model selection, which had been skipping the Opus generation entirely.
  • Workers running on a developer's computer now report their Codex, Claude, Grok, and OpenCode CLI versions. Only sandboxes did before, so version drift between computers stayed invisible.
Open GitHub release

DM replies that cite memory no longer disappear

A DM reply that grounded its answer in stored memory was never published; the thread ended with "the reply could not be generated" instead. That is fixed, and explicit requests to save a memory, blocked by the same cause, work again.

Improved

  • Memory citations and save requests were rejected by server-side validation. Replies without citations always succeeded, which is why this stayed hidden.
  • Removed the remaining layout shift from channel attachments and link previews, and stabilized navigation into channel threads on mobile.

Fixed

  • A failed DM reply now leaves the shape of the failure in the Worker log — error class, transport code, and stack. Conversation content is still never recorded.
Open GitHub release

Update sandboxes and resume their work

Sandboxes with the runtime updater can refresh Briar and Codex, Claude, OpenCode, or Grok from the Worker panel or briar sandbox update. Running user tasks are handed off and resume first on the same sandbox.

Improved

  • The updater installs and verifies releases before interrupting work. It switches runtime paths only after handoff and local execution shutdown, checks versions, provider health, and model catalogs after restart, and restores the previous runtime if verification fails.
  • Legacy images require an initial image migration. Running containers cannot be force-replaced, and existing conversations, repositories, credentials, and browser data remain on persistent volumes.

Fixed

  • Sandbox update buttons are available in web, desktop, iOS, and Android host panels. Provider updates can be requested even when Briar is current, and pending requests disable duplicate clicks.
Open GitHub release

DMs sent within 30 seconds join the running reply

Follow-up messages sent within 30 seconds of the previous one are merged into the running reply and answered together. Past 30 seconds, the current reply keeps running and the follow-up waits for the next turn.

Improved

  • The Worker verifies execution rights when notified and approves resumption after the provider exits and cleans up. It carries over the existing conversationId, completed tool contexts, and every follow-up input and attachment. Shutdown confirmation retries are idempotent, and Worker failures recover through lease expiry.

Fixed

  • The server attaches follow-up jobs to the running reply and updates the input revision. Saving the final answer checks the revision and claim token so stale execution results are never stored.
  • Fixed missed NULL-lease cleanup: temporary memory lookup records of expired or completed jobs are deleted, while records waiting on a valid lease are preserved.
Open GitHub release

Agents acknowledge your DM with an eyes reaction

When a DM reply job is created, the assigned Agent adds a 👀 reaction to your message. Its name and avatar show which Agent received the message while you wait for a reply.

Improved

  • Acknowledgements are saved with reply jobs for user-authored DMs. Regular channels and Agent or system messages do not receive automatic reactions.

Fixed

  • Retries do not duplicate Agent reactions, and removing your own reaction leaves the Agent reaction intact. Existing user reactions are preserved.
  • Restored regression coverage for DM memory execution and its connection to replies.
Open GitHub release

DM memory keeps episodes of what happened, and long messages send

Automatic DM learning now records what the user and the Agent exchanged as one-line episodes and carries them into the next reply as recent history. Learning runs per stretch of eight messages instead of per reply, an empty review keeps its window, and the daily call limit is now 48. Channel message bodies can be up to 50,000 characters, and a rejected send shows its real reason.

Improved

  • Automatic DM learning stores what the user asked and what the Agent proposed or reported as a single attributed line. An episode must cite both a user and an Agent message, never carries a secret, and is kept without expiry so old conversations stay searchable.
  • Channel message bodies now allow 50,000 characters instead of 10,000. Over the limit, sending is disabled so the draft stays, and a server rejection shows the actual reason and field name.
  • The computer panel in a DM can be opened and closed with a toggle next to the memory button. Closing it keeps a live remote session, and on narrow windows it opens as an overlay.

Fixed

  • An empty review no longer consumes its window: up to 16 recent messages carry into the next review so the model judges a stretch of conversation, not one exchange. Learning runs once eight unreviewed messages accumulate or a day passes, the daily call limit is 48, and a spent budget waits for the next reset instead of failing.
Open GitHub release

DMs continue only on reply, and mobile lists load first

A plain DM message now starts a new conversation, and only an explicit reply continues the work conversation it answered. Mobile issue lists and detail screens show content without waiting for the full response, and issue runs without a Project Agent no longer get rejected for an empty responsibility scope.

Improved

  • The mobile issue list shows its first page immediately and appends more as you scroll. The detail screen shows basic info and messages first, evidence and run logs load when their tab opens, and run logs page 50 at a time.
  • Issue runs without a Project Agent now get a default development responsibility scoped to the current project and run, fixing runs being rejected for an empty responsibility scope and active runs resuming repeatedly. An assigned Agent keeps its name, responsibility, and Skills while only the execution provider and project scope are pinned.
  • When a DM reply fails, the Worker log records the error shape — error class, Connect code, system error code, and stack frames — so the cause can be narrowed down. Message bodies are never logged.

Fixed

  • Only an explicit reply to a message continues the provider conversation of the Agent work behind it; a plain DM message starts a new conversation. This stops replies failing when they inherited a conversation grown from Agent work logs, and channel and issue replies behave as before.
Open GitHub release

Reply in a DM to stop a task, and take control of a computer explicitly

Replying to the original message in a DM now continues that thread or stops just the work it started. The computer full screen opens read-only and only forwards input once you turn on Computer control. This release also fixes an Agent screen staying locked as already being controlled for an hour.

Improved

  • The computer full screen now starts read-only. Mouse, scroll, keyboard, paste, and Ctrl Alt Del only reach the computer after you turn on the Computer control switch, and turning control off, closing the screen, or reconnecting drops input authority and capture immediately.

Fixed

  • Reply to the original message in a DM to continue the conversation or stop the work it started. A stop applies only to that message and the Agent you picked, cancels nothing when the target is ambiguous, and records its result in the same thread without creating a new task.
  • Fixed an Agent screen staying locked as already being controlled for an hour after a controller vanished without a close frame. Issuing a ticket now reclaims the orphaned session, and the DM panel no longer tears down a live session when the same screen resolves again.
Open GitHub release

DM replies start sooner, and a burst of messages gets one reply

Execution Workers now wake over a socket instead of polling, removing the median 14-second wait before a DM reply starts, and short messages sent back to back collapse into one conversation with a single reply. This release also fixes tasks that need no screen sitting in the queue forever because of a Computer Use setting.

Improved

  • Queuing a message now wakes an execution Worker over a socket. Workers used to sleep 15 seconds after an empty poll and back off to 60, leaving a median 14-second and up to roughly 32-second gap between queueing and the task starting.
  • Short messages sent back to back in a DM now collapse into one conversation and get a single reply, instead of a separate session and a near-identical reply per message. Channel threads behave as before.
  • Agents with the Computer Use permission now run on hosts with no screen. The permission was read as a host requirement, which left tasks that need no screen at all queued forever.
Open GitHub release

DM progress messages now reflect what the Agent is doing

While an Agent works, progress messages now match the actual search, code research, test, or Computer Use step, and requests that need no tools answer immediately with no intermediate state. Computer Use tasks now attach a final screenshot of the finished screen to the reply. This release also fixes desktop login drifting out of sync with local CLI credentials, plus two iOS fixes for a blank DM on first scroll and inbox read state.

Improved

  • Requests answerable without tools send the final answer with no intermediate state; search, code research, tests, and Computer Use now send a specific progress message before the first tool call and only update it when the step meaningfully changes.
  • The parent Computer Use Agent takes a fresh screenshot once the Computer Use child reports the task finished, confirms the final on-screen result, and attaches it to the structured reply.
  • Signing in on desktop now writes the selected session and API origin to the local CLI config, fixing the CLI staying authenticated as the previous user; signing out preserves an independent later CLI login.
  • iOS DMs confirm the initial scroll position after the last message row's real layout finishes, fixing the blank first screen.
  • iOS mark-all-read now aligns terminal Agent session versions with the server/web canonical format, so read state survives polling refreshes and relaunches.

Fixed

  • The web/Android shared UI and iOS show progress state only while the current attempt has a real activity, and clear stale states when they expire or complete.
Open GitHub release

Agent computer screens now stay up between tasks

An Agent's Computer Use screen used to vanish the instant it finished replying, leaving the DM panel showing an empty desktop. The screen now stays up and is only reclaimed after 72 hours of no use. This release also fixes codex-based Agents failing to find the screen-control tools and Ctrl+L opening a search popup instead of the address bar.

Improved

  • Displays now persist per Agent, so the DM panel keeps showing an Agent's last screen after a task ends. A display is only reclaimed after 72 hours of no use (BRIAR_COMPUTER_USE_IDLE_DISPLAY_TTL_HOURS).
  • codex-based Agents (like "Briar Developer") can now actually find and call the briar-computer MCP tools, and the installed MCP server correctly locates its runner bundles.
  • Linking a WhatsApp Business phone number to your representative Organization Agent now routes incoming texts into Briar as DMs, reusing the existing reply, delegation, and DM-memory pipeline (Phase 1).
  • iOS and the companion shell's DMs now show Agent-to-Agent relay notices and support opening the agent-only conversation read-only.

Fixed

  • Key combos such as Ctrl+L and Ctrl+A no longer get sent as shifted uppercase letters, so they stop opening Chromium's Search Tabs popup and reach the address bar again.
Open GitHub release

Agents now share browser sign-ins

On managed computers and sandboxes, a site signed in once now opens signed in on every Agent's screen and stays that way after the task ends. Agents using agent-browser on your Mac share their sign-ins too.

Improved

  • Browser sign-ins on managed-computer and sandbox Agent screens are kept in a shared login store, so other Agents' screens and later tasks start signed in.
  • Sign in ahead of time on the computer owner's screen (:1) and that sign-in reaches every Agent screen.
  • Sign-ins survive a sandbox container replacement, and briar computer-use login-store export/import moves the login store when a managed computer is replaced.
  • Agents using agent-browser on your Mac pick up each other's sign-ins through one shared state file (briar browser-state).
  • In DMs an Agent can message another Agent and relay the answer, and the Agent-to-Agent conversation can be opened read-only.
Open GitHub release

Runs no longer get stuck on a deleted Worker

A run dispatched to a specific Worker could get stuck forever once that Worker was deleted. Runs like that now fall back to any available Worker automatically, and the run page tells you when an approved resume is still waiting for one.

Improved

  • A run assigned to a specific Worker that's later deleted (re-registered, unregistered, or unlinked) now falls back to any available Worker instead of sitting unclaimable forever.
  • The run page shows a clear hint when an approved resume is waiting for a Worker, instead of a spinner with no explanation.
  • DMs show a placeholder row for the agent instead of an inline typing strip while it's getting ready to respond.
  • OpenCode and Grok are now available in the sandbox image, with your existing auth copied automatically when you run sandbox up.
Open GitHub release

Right-click to organize your DMs

Right-click a conversation in the sidebar's DMs list to pin it, move it into a section, mark it unread, edit the Agent's profile, copy its ID, hide it, or delete it. Pins, sections and hidden state are saved to your account, so every device shows the same arrangement.

Added

  • Create sections to group conversations; the list shows pinned first, then your sections, then the rest. Hidden conversations stay reachable through search.

Improved

  • Edit Profile opens a team Agent's profile editor directly, and Delete removes the conversation for every participant.
  • Line breaks in DM messages are preserved in the Markdown rendering.
  • Automatic DM memory learning needs no configuration: it uses the conversation Agent's provider (Codex and Claude verified).
Open GitHub release

The sidebar splits into DMs and Work

A toggle beside the organization name switches between DMs and Work. On DMs the sidebar becomes the conversation list and the whole page shows one conversation. The app now opens on your latest DM.

Improved

  • Work returns to the last work screen you were on and DMs to the last conversation; notifications and links that open an issue or a DM switch halves by themselves.
  • New message opens the recipient picker on the right and closes once you pick a conversation. Unread DMs show as a dot on the DMs toggle while you are on Work.

Fixed

  • Fix channel responses missing the agent's Computer Use policy, so the DM computer panel never appeared even for an eligible designated worker.
Open GitHub release

Watch the Docker sandbox screen inside the app

Containers created with briar sandbox now join the same remote-desktop relay as managed computers. When an agent's designated worker is a sandbox and Computer Use is on, the DM panel shows the agent's screen live, with no SSH tunnel or exposed ports.

Improved

  • sandbox up registers the computer after worker registration and runs the relay agent alongside the workers; sandbox rm unregisters it.
  • The computer list in settings shows sandboxes as 'Sandbox <name>' and replaces retire and terminate controls with a briar sandbox rm hint.
  • Sandbox computers are excluded from managed-computer provisioning, expiry, and pilot capacity accounting.
Open GitHub release

Add an always-on owner desktop to the sandbox

A Docker sandbox only had a screen while an agent held a display, so there was nothing to look at between runs. Display :1 now stays up, so the sandbox desktop can be opened at any time.

Improved

  • The sandbox supervisor keeps display :1 alive through the same remote-desktop script as a managed computer; agents keep using :2 and above.
  • briar sandbox view opens the display an agent is working on when there is one, and the owner desktop :1 otherwise.
  • briar sandbox status reports whether the owner desktop is listening.
Open GitHub release

Give the Docker sandbox a desktop and Computer Use

Containers created with briar sandbox now carry the same display stack as a managed computer. Every agent gets its own virtual display to drive browsers and desktop apps, and the owner can watch that same screen live in a browser.

Improved

  • The container ships VNC displays, an XFCE desktop, Chromium, and the Computer Use executor, and manages displays without systemd.
  • briar sandbox view opens the display an agent is using through noVNC, tunnelling over SSH for remote Docker hosts; briar sandbox verify checks display assignment and screenshots.
  • briar sandbox rm now unregisters workers and removes the volume, image, and Docker context, and a later up recreates the sandbox on the same host.
  • A slow Debian mirror can be swapped with --debian-mirror, and the desktop app installs the Computer Use MCP bundle so an installed CLI can build the sandbox.
Open GitHub release

Fix the empty computer list in settings

Once the Vertex AI and Pi providers landed, the server could no longer read the runtime record of any computer registered before them. The list converts computers one by one, so a single such computer failed the whole response, leaving the settings screen with an error message and no connected computers at all.

Improved

  • A provider missing from a stored runtime record is now filled in as unavailable instead of rejected — the same way the app already read it.
  • An online computer refreshes its record with the full provider list on its next heartbeat, and an offline one shows up in the list again. No data migration is required.

Fixed

  • Adding a provider can no longer make previously registered computers disappear from the list.
Open GitHub release

Add a Docker sandbox for running execution workers on remote hosts

A new `briar sandbox` command runs execution workers inside an owner-labelled container on a local or remote Docker host reached over SSH (for example an ARM64 GX10). No managed-computer registration or server change is involved — the container registers as an ordinary execution worker.

Improved

  • `briar sandbox up --name <name> --host ssh://user@host --project <id> [--gpus]` stages the CLI bundle, agent runners, and the reviewed provider runtime, builds `briar-sandbox:<sha12>` when missing, and pushes a bootstrap payload over `docker exec` stdin so nothing credential-bearing touches the Docker host disk.
  • In-container `bootstrap`/`report`/`supervise` clone each project with a short-lived GitHub credential, connect it, register an execution worker, and keep one `briar worker` per project alive.

Fixed

  • `status`, `stop`, `recreate`, `rm`, `logs`, `shell`, `login` share the same ownership checks, so unowned containers are never touched. The clone helper and worker registration are shared with the managed-computer setup path. See `docs/operations/sandbox-docker.md` for details.
Open GitHub release

Clear orphan rows from deleted runs and fix the managed runtime packaging

Seven child rows left behind by runs deleted in early August failed the provider schema migration's deferred foreign key check at commit, and the six-runner count check broke the desktop release build once the Pi provider landed. Both checks are fixed, so the Vertex AI and Pi provider schema reaches the production database and the desktop release builds.

Improved

  • The provider schema migration deletes seven child rows whose parent run is already gone (five run events, one issue attachment, one subscription) before rebuilding. Every constraint on these child tables is on-delete-cascade, so rows without a parent should not exist.
  • With the orphans gone, the migration that adds Google Vertex AI and Pi to every persisted provider constraint applies cleanly on the production D1 database, and the Worker deployment proceeds from the same commit.

Fixed

  • The managed runtime packaging and image verification required exactly six provider runners, so the Pi runner failed the desktop release build after packaging. Both checks now require each provider runner by name, so adding a provider cannot break the release host and a missing runner fails loudly with its name.
Open GitHub release

Add Google Vertex AI and the Pi coding agent, and rework how providers get added

A new provider runs Gemini through Vertex AI and the Pi coding agent joins as a built-in. Settings now lists built-in providers only; everything else is added from a new 'Add provider' section.

Improved

  • Added a Google Vertex AI (Gemini) provider. Briar stores only the project ID and region — authentication is delegated to the machine's Google Application Default Credentials, so service-account JSON never reaches Briar.
  • Added the Pi coding agent as a built-in provider. The pi-acp adapter speaks ACP with Briar and runs Pi underneath; a machine needs both the pi and pi-acp binaries installed to execute turns.
  • Providers are now split into built-in (codex, claude, agy, opencode, pi) and addable (cursor, grok, openrouter, vertex). Built-in providers always appear in settings, while the rest stay hidden in a searchable 'Add provider' section with install guidance and an add button until you add them.
  • An added provider can be removed from its expanded detail with inline confirmation, onboarding only requires built-in providers, and headless machines get the same behavior through the new `briar provider add` / `briar provider remove` commands.
Open GitHub release

Keep lists alive across navigation and give Agents the detail webhook channels carry

Moving between the board, inbox, and channels keeps each list and its scroll position instead of rebuilding it, and the detail a Slack-compatible webhook posts in blocks now reaches the Agent reply context.

Improved

  • Detail that a Slack-compatible webhook posts in blocks alongside a short summary now reaches the Agent reply context. Mentioning an Agent in an error-report channel answers from the provider, model, originating path, and full error text rather than the one-line summary.

Fixed

  • The desktop and phone shells keep up to four heavy pages alive (task board, channels, DMs, inbox, and my issues). Returning to the board after a trip to the inbox no longer rebuilds hundreds of rows, their measurements, and the scroll position from scratch. A hidden page drops its keyboard scopes, subscriptions, and timers, so an off-screen view does no work.
  • Fixed team setup workflow analysis failing on Grok, Cursor, Antigravity, OpenCode, and Claude. Read-only runs now isolate provider state properly and no longer resolve the wrong binary because of a configuration file in the repository being analyzed.
Open GitHub release

Move issue and channel conversation pending states onto an action state machine

The in-progress and failure indicators for issue edits and channel conversations are now owned by an action state machine, so starting a retry clears the previous failure banner immediately and overlapping calls no longer clear each other's indicators.

Fixed

  • The create, update, delete, and recover issue actions plus per-run update, delete, and recovery flags now derive their pending and error states from an action state machine. Starting a retry removes the previous failure banner right away, and the earlier of two overlapping calls no longer clears the later call's pending indicator when it finishes.
  • Team deletion and the channel conversation send, message delete, proposal accept, decline, and thread subscription indicators follow the same machine. Chat sends and message deletes explicitly allow overlapping calls, and the manual guards plus duplicated cleanup that used to stop an older request from clearing a newer request's flag collapse into one owner.
Open GitHub release

Judge provider turns by their result frame and stop the OpenCode runner from dying after completion

A provider turn that delivered its terminal result now succeeds regardless of the runner exit code, the OpenCode runner no longer crashes on its own event-stream abort, and long-lived windows no longer pin the snapshot store open.

Fixed

  • Judge a detached provider turn by the result frame it delivered instead of the runner exit code, so a process that dies after handing over the terminal result no longer fails issue replies or DM learning, and the server no longer re-executes the same turn.
  • Install an unhandled-rejection guard in the OpenCode runner that swallows the AbortError raised by closing its own event stream, so a finished turn no longer exits 1 after the fact; rejections the runner did not expect still fail loudly.
  • Stop long-lived desktop windows from holding the IndexedDB snapshot connection open and blocking another window's schema upgrade; the connection now closes on versionchange and reopens on the next access, so boot degrades to running without a snapshot instead of hanging.
Open GitHub release

Fix the macOS status tray flash and ship the boot-time self-update image to new managed computers

Stop the menu-bar tray from flashing 'nothing running' right after boot or remount, and point the managed-computer launch template at the image that self-updates its runtime at boot.

Added

  • Record managed-computer Launch Template version 15 in the Worker config so new managed computers boot from the image that installs the latest runtime before starting.

Fixed

  • Fix the macOS status tray briefly showing 'nothing running' for one pass after reopening the app or remounting a window; the poll now seeds from the open team's run state instead of starting empty.
  • Route tray updates through store subscriptions instead of React renders so status-bar refreshes no longer redraw unrelated views.
  • Fold the channel message write paths into one rule covering both the channel list and an open thread, so a patch touching one surface can no longer show two versions of the same message; optimistic sends, rollbacks, and deletions follow the same rule.
  • Stop routing an already-read notification through markRead a second time; the second pass no longer asks about messages the first pass already read.
Open GitHub release

Boot new managed computers on the latest runtime and speed up issue boards

Newly created managed computers now self-update to the latest Briar runtime at boot, and the My issues and companion boards shed unnecessary re-renders.

Improved

  • Move My issues onto the entity store so live run updates land immediately, and a changed run re-renders only its own row. Teams of the active organization stay pinned in memory while the page is open.

Fixed

  • At boot, a new managed computer reads the public latest-release manifest and, when the baked image is older, installs and activates the newest runtime after verifying its minisign signature; any download or verification failure keeps booting on the baked runtime.
  • Read the companion channel catalog from the same store as the desktop app so the list no longer forks into two copies, and fix DMs leaking into the shared-channels group.
  • Fix agent sessions re-rendering every issue-board card when one starts; only the card whose run changed re-renders now.
Open GitHub release

Add a resizable sidebar and usage limit meters, and fix channel images and attachment uploads

Resize the left sidebar freely, read real OpenCode Go usage limits, and pick which provider creates the workflow when connecting a team. Channel images and OG previews no longer shift the layout, and web attachment uploads stopped failing with 404.

Added

  • Add agent mention shortcut icon buttons to the issue conversation composer that insert @handle with one click; human accounts are not shown.

Improved

  • Read OpenCode Go (paid plan) session, weekly, and monthly usage windows through the usage API and show them in the status bar and settings meters, with a re-login notice when authentication expires.
  • Pick the provider that creates the workflow when connecting a team, with preflight reporting each provider's installation, login, and usage-limit state, and prefer providers with remaining limits.
  • Keep channel image attachments from re-downloading and jumping when an optimistic message is replaced by the server copy.
  • Report provider blocks — usage exhausted, login expired, billing required, or context window exceeded — as structured reasons instead of generic failures and infinite retries, and reflect them in worker health advertising.
  • Carry the agent's structured result summary in issue status notifications on macOS and mobile so they say what actually happened, and show the next action when review is needed.
  • Show an unread dot on the left of unread inbox item titles, matching the iOS companion's unread indicator.
  • Move inbox, channel, and agent session state into per-domain stores and narrower atoms, cutting the re-renders triggered by list refreshes and realtime events.

Fixed

  • Resize the left sidebar by dragging its right edge and double-click to restore the default width; the preferred width is stored on the device.
  • Replace loading indicators with the eight-spoke shadcn Spinner so the icon keeps its visual center and no longer appears to wobble while spinning.
  • Reserve the real height of channel image attachments and OG link previews while they load so the message list no longer shifts.
  • Fix web attachment uploads failing with 404 because the generated upload URL missed the /app-api prefix, and switch to a WebSocket close code browsers are allowed to send.
  • Fix retrying issue creation while a submit was already in flight creating duplicate issues.
  • Fix the Chromium rendering bug that kept list bullet and number markers shaded after deselecting text.
  • Make the background inert while the new-issue dialog is open so accessibility refs no longer route to unrelated controls, and resolve the accessible-name collision with the header button.
  • Fix a changed project icon not appearing in the sidebar.
  • Fix the dark-mode sidebar staying transparent instead of taking the token background color over the macOS vibrancy material.
  • Stop the managed-computer OpenCode API key prompt from submitting with a line-feed so the connection check no longer stalls, and apply the same fix to the Claude authorization-code prompt.
Open GitHub release

Cancel agent work on remote workers and fix channel replies and GitHub repository scope

Cancel an agent session running on a remote worker from the app, and fix channel and issue replies that were discarded on a contract decode failure along with the organization GitHub App reading a stale repository scope. Projects can also carry their own icon now.

Added

  • Add a Lucide icon and color picker to the project settings dialog so each project can carry its own icon.
  • Allow cancelling an agent task session that runs on a remote worker: the button now appears there and the server cancels the task.

Improved

  • Read provider usage and model lists through a single CLI implementation so the desktop app and workers report the same numbers.
  • Run Codex through the same bundled sidecar as the other six providers instead of a separate native client.
  • Move more view subscriptions onto narrower atoms and pin them with render counts, cutting re-renders in the dashboard and issue views.

Fixed

  • Fix channel and issue agent replies being discarded whole when the model copied an extra field from the surrounding data; the reply now recovers with a self-correcting turn in the same conversation.
  • Fix repositories created after an organization GitHub App was installed for all repositories being seen as outside its access scope, by reading the list from the installation itself.
  • Fix project agent sessions sitting in running after a model call failed mid-turn, and reap tasks whose lease has been expired for more than a day.
  • Fix the issue detail header overlapping its status and priority chips and squishing assignee avatars; avatars and the action buttons are now the same size circle.
  • Fix the issue work log looking empty by rendering activity events — command runs, file changes, tool calls — and let a re-claimed run switch back to its earlier execution sessions.
Open GitHub release

Show your last screen the moment the app opens and speed up the issue board

Store the team data you last saw on the device so a signed-in launch draws instantly, and cut unnecessary re-renders across the issue board and the rest of the app.

Improved

  • Reopening the app while signed in draws the issues, runs, and channels you last saw immediately from a snapshot on the device, then refreshes quietly once the server responds.
  • Keep snapshots separated per account and organization, and delete them on sign-out or account deletion. The app boots exactly as it did before when storage is full or the browser blocks it.
  • Draw the issue board by run id so changing one run repaints only that card instead of the whole board.
  • Move dashboard, inbox, channel, settings, and navigation state into per-domain stores, cutting the re-renders that view switches and list updates used to trigger.
  • Subscribe the channel message list, status tray, and deep-link handling to only the state each one needs.
  • Accept release promotion on the server only in version order, so a newer update always wins over a slower older build.
  • Serialize production Worker deploys and remote D1 migrations behind a single lease so two deployments cannot run at the same time.

Fixed

  • Fix a boot from a stored snapshot starting a second workflow auto-generation run because the restored team settings still held the pending placeholder.
Open GitHub release

Speed up app startup and refine project icons and agent replies

Start the desktop app faster with an instant first-run intro, code splitting, and local fonts; add named project icons; and fix Claude login status and channel agent reply failures.

Added

  • Add named Lucide icons with a color picker as an alternative to uploaded project images.
  • Allow changing Team and Project from the issue card menu and property panel like any other property.
  • Add a Skip button to OpenCode provider setup on managed computers, with a timeout so the auth step cannot hang.

Improved

  • Show the first-run intro immediately from Rust and reveal the main window only once it is ready, removing the blank-window flash.
  • Lazy-load views, the emoji picker, and locales to cut the initial JavaScript bundle by about 42%.
  • Bundle Inter and DM Mono locally instead of requesting Google Fonts, so the app renders the same typefaces offline.
  • Keep the dashboard visible when switching projects by showing the per-project cache instead of an empty state.
  • Move startup asset sync and worker restarts to a background thread so the first launch after an update stays responsive.
  • Smooth the sidebar collapse animation and panel resize dragging.
  • Streamline web sign-in onto a browser-session email OTP flow and end the session cookie on logout.
  • Update managed computers to the new Debian 13 image (Launch Template version 14).

Fixed

  • Fix an expired Claude access token being reported as an expired login in Settings.
  • Fix channel and DM agent replies that ended in a generation failure because of the issue proposal example and structured output schema.
  • Fix the channel view opened from the inbox detail panel not scrolling to the bottom after sending a message.
Open GitHub release

Keep provider settings intact and tidy up loading spinners

Stop the local worker heartbeat from reverting provider settings and unify loading indicators onto the shared spinner.

Improved

  • Unify loading indicators onto the shared Spinner component to reduce visual jitter.
  • Consolidate device login options onto a single contract for a consistent sign-in surface.

Fixed

  • Stop the local worker heartbeat from overwriting provider settings changed in the desktop app.
Open GitHub release

Share PDFs in channels and DMs, and refine managed computer and project management

Support PDF attachments in channels and direct messages, sync the managed computer clipboard, and add a project PR merge activity overview.

Added

  • Support PDF attachments in channels and direct messages with inline preview and download.
  • Copy the managed computer clipboard so a full-screen remote desktop can paste its contents.
  • Add a project PR merge activity overview to the project lobby.
  • Add GETBRIARJAY6 through GETBRIARJAY10 managed-computer pilot promotion slots.

Improved

  • Show channel and DM send errors as toasts instead of a banner.
  • Restyle the sidebar Projects list to match the Channels accordion.
  • Align the My issues list view with the shared PageHeader and design tokens.

Fixed

  • Allow immediate termination of stopped managed computers without waiting for a longer cleanup cycle.
  • Restore the Issues board after reselecting a Team.
  • Fix loss of formatted paste in DM and channel composers.
  • Fix leftover Team/Project copy after the hierarchy rename.
Open GitHub release

Recover expired sessions and refresh managed computer launch settings

Recover from expired web sessions when Connect wraps an unauthorized response, and point new managed computers at the refreshed launch configuration.

Improved

  • Find a 401 response even when Connect wraps it in another error, clear the stored session token, and return to sign-in.
  • Point managed computers at Launch Template 13, which contains the refreshed machine image and runtime setup.
  • Set GH_BROWSER for the managed computer executor so agents open the browser through the expected launcher.
Open GitHub release

View and control a managed computer from DMs

Preview the managed computer connected to an Agent DM and open the same screen in a full-screen control session.

Improved

  • Resolve the managed computer used by an agent and show its screen as a read-only preview in the DM Sites tab.
  • Open the same remote screen in a full-screen session with keyboard and mouse control, Ctrl Alt Del, and clipboard paste.
  • Show connection state, reconnect actions, and permission, offline, and relay errors inside the DM.
Open GitHub release

Give managed agents safe access to computer use

Add typed Computer Use execution and display isolation for managed computers while hardening provider checks and Worker service removal.

Added

  • Add typed Computer Use tools, isolated display sessions, and human takeover for managed computers.
  • Connect Codex, Claude, Cursor, Grok, OpenCode, and OpenRouter through provider-specific MCP adapters.

Improved

  • Persist Agent Computer Use policy and advertise Worker capability only for healthy supported providers.
  • Strip Protobuf metadata from workflow requirements before unregistering a Worker service.

Fixed

  • Let Worker service removal tolerate an already-removed launchd service and clean stale registrations.
Open GitHub release

Safely manage projects and smooth out desktop workflows

Make project navigation and deletion safer while tightening web auth, composer scrolling, and Worker recovery.

Added

  • Add an organization-scoped Projects list and accordion, with direct access to project settings.

Improved

  • Protect General with a guarded two-step project deletion flow and move deleted-project issues back atomically.
  • Keep long DM and channel drafts scrollable inside a bounded textarea while attachment and send controls stay available.
  • Keep emoji search inside Shadow DOM from triggering global shortcuts and preserve its Escape behavior.
  • Preserve the Crypto receiver when generating issue and channel reply completion UUIDs.
  • Route web device authentication through briar.wordbricks.ai and return origin-specific credentialed CORS for Better Auth.

Fixed

  • Recover remote and local Worker status from Settings and synchronize stale Worker CLI assets without restarting every Worker.
Open GitHub release

Learn DM memory safely through connected agents

Reuse connected agents through isolated text calls to propose and independently verify DM memory.

Added

  • Enable automatic learning in production while keeping each DM's automatic-learning choice under direct user control.

Improved

  • Reuse selected Codex, Claude, Grok, Cursor, Agy, and OpenCode connections for DM memory proposal and independent verification without separate API keys or model configuration.
  • Run every learning call in a fresh empty temporary workspace with read-only provider state, no attachments, Skills, or retained conversation, and accept only structured results.
  • Advertise supported transports and connected provider health so only healthy agents are selected, with per-organization and per-conversation call limits.
  • Use agent-browser as the default browser automation runtime across the CLI and desktop app.
Open GitHub release

Restore updates and CLI settings for existing installations

Let 1.2.174 installations reach the in-app updater while safely carrying forward local settings and ignoring removed project paths.

Improved

  • Send both the execution Team ID and planning Project ID when creating an issue in the new hierarchy so it is created in the intended project.
  • Migrate exact legacy kebab-case settings to canonical ProtoJSON once, preserving projects and credentials in a dated backup.
  • Keep new installations and current clients on generated Protobuf/Connect contracts, with an explicit removal TODO once all existing users have upgraded.

Fixed

  • Temporarily restore the authenticated user, organization, and project reads used during startup before the Connect migration so existing installations can render the updater UI.
  • Skip repository paths that no longer exist while identifying the current project so one stale entry cannot block unrelated CLI commands.
Open GitHub release

Unify app–Worker contracts and safely repair local settings

Generate client and Worker boundaries from one contract and automatically move existing local settings to the canonical format at startup.

Improved

  • Use shared Protobuf messages for the Bun sidecar and realtime events so execution state is interpreted consistently across runtimes.
  • On startup, atomically migrate existing Briar local settings to canonical ProtoJSON while preserving projects and credentials.
  • Refine server storage migrations to backfill visible history while removing only incomplete transient runtime state.

Fixed

  • Generate desktop, mobile, Web, and Worker APIs from one Protobuf/Connect contract to prevent request, response, and route drift.
  • Keep unknown or genuinely damaged settings fail-closed instead of hiding them behind a permissive fallback.
Open GitHub release

Connect DM memory safely and stabilize agent work

Complete owner-managed DM memory retrieval, citations, and opt-in learning while making Skill execution and issue relationships more reliable.

Added

  • Store parent, child, and related issue relationships separately from execution dependencies and carry them through Linear imports and desktop/mobile navigation.

Improved

  • Manage DM memory within an organization, conversation, user, and Agent scope with version history, editing, deletion, and export.
  • DM replies recheck live permission and memory versions, cite the memories they use, and immediately remove forgotten context.
  • Memory retrieval revalidates current documents, expiry, exclusions, and ownership, then keeps Vectorize cleanup within bounded budgets.
  • Handle explicit memory saves and opted-in automatic learning with independent verification, retryable work, and atomic commits; automatic learning remains off by default.

Fixed

  • Keep active Skill executions from failing when internal temporary changes or terminal state reconciliation occurs.
Open GitHub release

Add Team and Project hierarchy and stabilize issue workflows

Introduce a Workspace → Team → Project → Issue hierarchy while refining property editing, channel Agent execution, and collapsed-sidebar DM usability.

Added

  • Create, edit, complete, and archive Projects from desktop, then move issues between Projects in the same Team.
  • Support the new Team and Project browsing, creation, and movement contracts in the CLI and iOS Companion.

Improved

  • Keep existing execution Projects as Teams, create multiple planning Projects inside each Team, and assign every issue to exactly one Project.
  • Migrate existing data safely by backfilling a General Project and issue relationships for every Team.
  • Search and change status, priority, difficulty, assignee, Project, provider, model, and effort directly from the issue Properties panel.
  • Report invalid channel-reply claims immediately so they retry safely without waiting for a 15-minute lease to expire.
  • Keep the DM toolbar clear of macOS window controls when the sidebar is collapsed.
Open GitHub release

Find issue work faster and tighten managed-computer access

Add a richer My Issues list and an issue-update CLI command while tightening issue defaults, Inbox actions, and managed-computer access.

Improved

  • Browse My Issues in a grouped list with scope tabs, search, project and property filters, collapsible status groups, row metadata, and a Kanban view.
  • Update an issue from the Briar CLI, including its title, description, priority, difficulty, or assignee.
  • Assign newly created issues to the creator by default and use the same default in desktop and iOS issue forms.
  • Edit or delete Inbox conversation messages from the desktop app.
  • Keep issue descriptions readable with a 15px body size.
  • Launch GitHub CLI browser sessions independently from managed-computer services and point new computers at the updated verified image and Launch Template.
  • Let managed-computer owners and workers use the local admin path without granting access to EC2 Parameter Store.
  • Make managed-image checks resolve visudo correctly and keep runtime and browser-launch configuration consistent.
Open GitHub release

Start with an organization, repository, and first run in one flow

Make it easier to create or join an organization and continue into GitHub repositories, managed computers, and My Issues from one first-run flow.

Added

  • Create an organization when you have none, or join an existing one with an invitation link or Join code.

Improved

  • Keep invitation tokens safe across refreshes and authentication redirects, and split first-run guidance by the member's role.
  • Use the same search, filters, list, and kanban flow for organization-wide My Issues and regular Issues.
  • See clearer provider-authentication and Worker-readiness states while setting up managed computers, with new computers starting from the latest verified image.
  • Deliver Inbox push notifications on iOS and Android while the app is closed or in the background, while suppressing duplicates and cleaning up expired device tokens.
  • Limit direct-message Agent replies to recent context so older conversation history does not distract the task.
  • Share one Kanban storage layer for hidden and collapsed columns while preserving existing user and project preferences.

Fixed

  • Import remote repositories through the GitHub App without the GitHub CLI, and recover repository IDs so renames or reused names do not point to the wrong repository.
Open GitHub release

Keep your issues and repository work in one place

Add an organization-wide My Issues view and a GitHub setup flow without the CLI, while tightening onboarding and mobile work.

Added

  • Add a mobile host-status menu for checking Worker readiness and recent runs.

Improved

  • Search your assigned issues across an organization by project and open active, needs-attention, or completed work directly from the sidebar.
  • Start GitHub repository setup from managed-computer configuration without the GitHub CLI, while preserving the selected repository ID when names change or are reused.
  • Split organization access into owner, co-owner, developer, editor, and viewer roles and migrate existing admin and member access safely.
  • Let shared issue pages open Briar or show the issue in the web app.
  • Check macOS notification permission during initial onboarding, open System Settings when needed, or defer the choice.
  • After submitting an issue reply, return focus to the composer and keep the latest message in view.

Fixed

  • Stop iOS issue conversations from reloading on an unnecessary periodic loop.
Open GitHub release

Connect channels, Inbox, and mobile project homes

Refine channel-thread context and Inbox navigation while adding mobile project homes and guided managed-computer setup.

Added

  • Add project Lobby and Agents entry points to mobile Home with project metrics, recent runs, and issue drill-down.
  • Create and reuse a self-DM for messages sent to the current user.

Improved

  • Show the channel name and visibility in Inbox channel-thread alerts, then open the channel while preserving the selected thread context.
  • Group Inbox alerts from the same issue conversation or channel thread and sync unread counts and read state across desktop, Android, and iOS.
  • Guide Codex, Claude, Grok, and OpenCode authentication plus GitHub repository binding from managed-computer setup, then bind the Worker automatically.
  • Retain Agent Skill catalogs with conversations and point new managed-computer provisioning at the verified Launch Template.

Fixed

  • Filter Inbox to unread messages, stabilize channel history loading, and restore project-tab navigation to the project Lobby.
  • Restore interactive HTML artifact previews under the Production CSP while keeping iframe isolation and external network access blocked.
Open GitHub release

Make channel work and managed computers more reliable

Harden channel proposals, attachments, and Agent replies while strengthening managed-computer recovery and Worker routing.

Added

  • Allow HTML artifact attachments to be stored as text/html in issue and channel attachment tables with a safer D1 schema.

Improved

  • Separate channel issue proposal choices into create, create and execute, or decline, and persist declines safely.
  • Route Merge Queue claim requests to the API Worker so queued issues can be claimed reliably.
  • Recover managed-computer services and loopback display listeners at boot and retry transient enrollment failures.
  • Carry the channel-proposal decline flow through the iOS Companion and shared mobile contract.

Fixed

  • After three failed channel-Agent attempts, save one generic retry message without duplicates while preserving Inbox notifications and thread context.
Open GitHub release

Let Merge Queue follow existing repository policy

Use Merge Queue without imposing GitHub configuration while simplifying mobile and Agent experiences.

Improved

  • After validating the integration result, merge the original pull requests in order through GitHub's standard merge API.
  • Run project Skills through the conversation session runtime for more consistent approval and execution state.
  • Improve light- and dark-theme contrast throughout the repository reconnect screen.

Fixed

  • Merge Queue no longer requires rulesets or bypass access and instead honors each repository's existing pull request merge policy.
  • Keep iOS on one native SwiftUI app and remove the duplicate Tauri iOS build path.
Open GitHub release

Merge safely with repository-specific queue validation

Connect Merge Queue to each project's Workflow checks while refining channels, links, and mobile usability.

Improved

  • Run the validation commands from the project's Workflow boundary so each repository keeps its own build and test policy.
  • Validate every batch at its exact integration commit in an isolated workspace and report one briar/merge-queue status.
  • Open Briar issue links directly in the app and consistently show the account display name on your own channel messages.
  • Refine property-filter labels and the Companion bottom navigation layout.

Fixed

  • Prevent a race that could leave the typing indicator visible after a channel reply finishes.
Open GitHub release

Make collaboration history and attachment previews more reliable

Restore CVS collaboration history while improving HTML attachment previews, Agent navigation, and channel scrolling.

Improved

  • Preview self-contained HTML attachments created by Agents in a safe, app-sized modal from channel and issue replies.
  • Protect HTML previews with an iframe sandbox and Content Security Policy that block app access, network requests, forms, and external frames.
  • Opening the Agent tab from a session or detail view now returns to the Agent list instead of leaving the previous selection active.
  • Keep the channel pinned to the bottom, or preserve the reader's position, when images, link previews, streaming, or virtualization change message heights.

Fixed

  • Restore CVS organization Slack channels, users, threaded messages, and emoji reactions so teams can revisit their collaboration history.
Open GitHub release

Make the Hunt and collaboration flow clearer and more reliable

Restore the familiar Hunt workflow while improving reply navigation, channel context, managed runtimes, and the GitHub connection.

Improved

  • Selecting an Inbox reply notification now centers, highlights, and focuses the referenced reply in the conversation.
  • Keep the source channel message linked to issues created from channels and expose that context on web and mobile.
  • Update managed-computer runtimes safely and roll the managed fleet to the latest image version.
  • Harden Production GitHub App authentication and make OAuth connection failures more actionable.
  • Refined shared styling across project, settings, and Hunt screens and clarified keyboard shortcut combinations.

Fixed

  • Restored the Hunt Board, Issue Queue, Issue Detail, and Run Result layouts and interactions while preserving data and execution behavior.
  • Show organization member names in channel reaction details with a safe fallback for stale member IDs.
Open GitHub release

Make repository workflow generation and execution consistent

Separate workflow-draft and execution-setting ownership so repository analysis saves reliably and invalid generated responses can recover safely.

Improved

  • Derive required stages, checkpoint identifiers, and specialized tool names consistently inside Briar from one workflow draft.
  • When a provider response violates the execution contract, use structured diagnostics to request exactly one correction in the same conversation.
  • Preserve existing custom stages and long validation commands during regeneration, with the same rules across app, Worker, and native persistence boundaries.
Open GitHub release

Connect desktop readiness to faster, more dependable navigation

Stabilize local tool discovery and project connections in the packaged app while refining keyboard flow and shared UI across Inbox, channels, and settings.

Improved

  • Find local tools such as Git and GitHub CLI consistently from mise and Nix environments in the packaged macOS app, then verify required readiness before connecting a project.
  • Roll back partially created Worker configuration safely and skip unnecessary remote probes when GitHub is optional for the selected workflow.
  • Use Effect- and Atom-based keyboard state to isolate Inbox selection and focus, open DMs with G D, and go straight to a project's issue list after choosing it.
  • Mark Inbox items as unread and strengthen keyboard and accessibility semantics across lists, detail panels, and popups.
  • Recommend an execution model based on issue difficulty and choose the usage-analysis period shown in Project Overview.
  • Report exhausted channel-agent usage accurately and unify channel and issue activity and conversation handling on shared foundations.
  • Move Inbox, DMs, channels, login, onboarding, and project, agent, account, and organization settings onto shared Tailwind components.
Open GitHub release

Connect project workflows to clear merge-queue boundaries

Choose a project readiness stage as the merge-queue boundary, inspect current queue activity, and stabilize profile saving, channel-reply routing, and the macOS installer.

Added

  • Enable the merge queue in project settings and select the workflow stage whose completion makes a pull request eligible for collection.

Improved

  • Refresh and inspect recent batches and candidate pull requests, including their state, integration SHA, and timestamps, from the settings view.
  • Apply each project's queue boundary consistently across the Worker, API, CLI, and D1 state while preserving safe defaults and diagnostics.
  • Let accounts without an existing username save their nickname and username while rejecting only genuine username conflicts.

Fixed

  • Treat only completions observed after a boundary change as fresh proof, and prevent workflow edits from removing a stage referenced by an active profile.
  • Prevent channel replies from remaining queued when a live thread-session owner and a message-level preferred device would otherwise yield to each other.
  • Restore the Briar and Applications icons, background, and drag guidance to their intended layout in the macOS DMG installer.
Open GitHub release

Make keyboard focus and navigation more dependable

Unify keyboard modes and focus movement through a reusable command system so Inbox and issue workflows stay predictable.

Improved

  • Open the project selector with G P while keeping the existing O P shortcut available.
  • Keep J, K, and arrow-key focus synchronized with selection across Inbox, issue lists, and Kanban.
  • Press Escape while editing an issue to return to Normal mode and continue with G navigation commands, or press Escape in settings to close the view.
  • Manage modes, sequences, focus scopes, and event consumption in one Effect- and Atom-based command controller for consistent future shortcuts.
  • Open a connected managed computer directly from Worker status and prepare local D1 test templates through the pinned Wrangler flow.
Open GitHub release

Navigate anywhere in Briar faster from the keyboard

Use Linear-style command modes and list navigation to move through the project's main views and items without reaching for the mouse.

Improved

  • Use G and O prefix modes to open project home, issues, Inbox, channels, DMs, schedule, settings, and scoped searches with two keystrokes.
  • Move through issue lists, Inbox, and Kanban with J, K, or the arrow keys, then open the focused item with Enter.
  • Discover available keys through the Command+/ guide and mode hints, and disable single-key and sequence shortcuts in settings.
  • Suppress global keys safely in editable fields, IME composition, dialogs, shortcut recording, and remote-desktop sessions.

Fixed

  • Prevent run events from reverting issue titles after a user edits them.
Open GitHub release

Make managed-computer operations, issue triage, and the CLI faster and safer

Improve managed-computer operations and Worker cost, while connecting issue difficulty, the CLI, and remote-screen usability more clearly.

Added

  • Add the Briar CLI whoami command and tighten the account API, shared TypeScript configuration, and Effect/Oxlint checks for a more dependable development environment.

Improved

  • Show issue difficulty and an icon on cards and lists so teams can compare the size of work at a glance.
  • Paste directly into managed-computer screens, and let administrators run pilot deployments through reusable promotion campaigns.
  • Update Worker heartbeats and transcript-session totals incrementally to reduce D1 reads, writes, and cost, while accepting terminal execution metrics only from fenced payloads.

Fixed

  • Stop new work on retired managed computers promptly, and track deletion and lifecycle transitions with Worker telemetry and retention policy.
Open GitHub release

Make channel thread sessions and managed-computer lifecycle safer

Reuse Worker, worktree, and Provider conversations for channel threads while making managed-computer retirement and deployment configuration more dependable.

Improved

  • Reuse a durable execution session for each channel, thread, and Agent combination, renewing its six-hour retention window with activity so long-running replies continue naturally.
  • Rebind sessions safely after Worker or lease failures, and isolate concurrent claims and threads so channel replies do not interfere with one another.
  • Let administrators retire managed computers idempotently, immediately block new work and remote-screen access, and drain active work safely.
  • Pin managed computers to the validated Debian 13 Launch Template v6 and keep retirement enforced when a managed Worker continues sending heartbeats.
Open GitHub release

Make provider choices, channel approvals, and managed desktops more dependable

Choose supported providers and models more naturally, approve multiple channel issues atomically, and make managed desktop startup and macOS tray branding more reliable.

Improved

  • Use live Worker capabilities to search, favorite, and select Provider, model, and effort choices across issue creation, approvals, and Worker dispatch, while keeping unknown legacy models visible safely.
  • Approve batches of channel issue proposals atomically and show each item's execution, dependency, and result state across desktop, Android, and iOS.
  • Strengthen Debian managed-computer canary checks for Bun, Bunx, GUI tools, packages, and desktop readiness, and enlarge the macOS status-bar artwork without cropping the full Briar mark.

Fixed

  • Let managed desktops wait up to 120 seconds for TigerVNC on cold EBS volumes so a normal first boot is not reported as a failure.
Open GitHub release

Make managed computers, transcript costs, and navigation more dependable

Refresh managed-computer deployment, reduce transcript storage and transfer costs, and polish desktop navigation, mobile DMs, and the macOS tray.

Added

  • Allow Project Agents to research public external repositories read-only, and tune transcript batching and R2 archive writes to reduce storage and PutObject costs.

Improved

  • Pin managed-computer Launch Template v5 and the Debian AMI toolchain, while validating packages, remote desktop services, and captured image contents more thoroughly.
  • Enlarge the macOS status-bar artwork, preserve desktop navigation history, and show the Agent name in mobile DM headers.
Open GitHub release

Make Worker handoffs and remote screens more dependable

Preserve Worker update directives, recover half-open managed-computer remote connections, and strengthen Sidebar contrast across light and dark themes.

Improved

  • Unify light and dark Sidebar foreground, hover, active, disabled, focus, and border states with semantic tokens, including stronger reduced-transparency and browser fallback contrast.

Fixed

  • Preserve server update directives in Worker heartbeats so active provider sessions can stop safely and enter the planned handoff flow.
  • Add heartbeats and automatic responses to the managed-computer remote relay, replacing connections that stop responding for 60 seconds and ignoring stale relay sockets.
Open GitHub release

Keep DM replies and remote computers moving while Workers are busy

Process DM Agent replies while Workers are occupied with regular work, and make managed-computer reconnects and everyday macOS desktop details more dependable.

Added

  • Add an app setting for notification sounds and support optional Agent template avatars, including the bundled Ponytail Developer template image.

Improved

  • Let healthy Workers claim and process DM Agent replies even when every regular work slot is in use, so conversations are not delayed.
  • Polish the macOS status-bar icon, scrollbars, and chat composer, and reliably discover installed CLIs when the app is launched from a GUI environment.

Fixed

  • Recover managed-computer retry, stale reconnect-ID, and enrollment state, while validating that remote desktop connections use the correct local listener and foreground VNC process.
Open GitHub release

Bring real frosted glass back to the macOS sidebar

Remove the web tint stacked over the native Sidebar material so the outside background shows through softly, while aligning project windows and accessibility fallbacks.

Improved

  • Remove the sidebar CSS background, shadow, and backdrop blur that made the macOS native Sidebar material opaque again.
  • Keep the body and status bar on their stable opaque surfaces so the content area remains easy to read.
  • Apply the same transparent window and Sidebar material to dynamically opened project windows as the main window.
  • Use opaque backgrounds and a stronger boundary for Reduce Transparency and Increase Contrast so contrast and readability remain reliable.
Open GitHub release

Move anywhere in Briar with the Cmd+K command palette

Bring the current work context and next items together, then search and run projects, issues, channels, and DMs entirely from the keyboard.

Improved

  • Press Cmd+K to run commands and common navigation tailored to the current issue, project, channel, or direct message.
  • Continue quickly from issues needing attention, running Agent sessions, unread Inbox items, channels, DMs, and recent places.
  • Search Korean, English, and Chinese keywords with normalized fuzzy matching, or narrow results with i:, p:, c:, and d: scopes.
  • Use polished Arrow, Enter, and Escape behavior with IME safety, focus restoration, screen-reader semantics, configurable shortcuts, and legacy shortcut migration.
Open GitHub release

Make transparent desktop surfaces and channel collaboration more dependable

Strengthen managed-computer retries and the server merge queue, while improving the macOS frosted-glass sidebar, window dragging, channel errors, mobile DMs, and thread navigation.

Improved

  • Remove the GitHub native merge-queue dependency and let the Worker publish only verified exact SHAs to main for predictable repository delivery.
  • Apply a real frosted-glass sidebar to the macOS window and make channel, DM, and thread headers draggable from their titles and empty space.
  • Present webhook and Agent errors in severity-aware channel cards, collapsing long JSON and stack traces so problems are easier to find on desktop, Android, and iOS.
  • Summarize channel thread replies and route Inbox replies directly to their thread on iOS and Android, while refining DM headers, long-press actions, and the keyboard during message sending.
  • Safely accept nullable EC2 identity product-code fields and clarify desktop, Worker, and landing build and test boundaries after the Turborepo workspace migration.

Fixed

  • Allow unlimited retries for failed managed computers and replace the previous EC2 instance only after verifying its identity, preserving retry history and preventing orphaned instances.
Open GitHub release

Make Worker restarts and managed-computer retries more dependable

Create fresh managed-computer instances safely on retry, keep DM Agent replies in the main conversation flow, and restart Worker services when a desktop update leaves their runtime stale.

Improved

  • Use the latest infrastructure configuration and a fresh EC2 ClientToken for each managed-computer provisioning retry, retiring the previous instance only after its tags are verified.
  • Keep DM Agent replies in the main conversation timeline instead of thread-only context, while safely sending root-message history to the Worker.

Fixed

  • Compare the Worker runtime restart marker with the desktop app version at launch, restart stale services after a safe handoff, and retry on the next launch when a restart fails.
Open GitHub release

Find issues faster and keep Worker execution moving reliably

Filter issues by the properties that matter, invoke saved Agent skills directly from DMs, and make Worker updates and provider status more dependable.

Improved

  • Combine status, source, priority, assignee, Agent, and creator filters to narrow issue boards and lists quickly.
  • Use `/` commands in DMs to find saved Project Agent skills by description and invoke them immediately.
  • Open channel threads from a long press and follow attachment-reply execution status through the conversation more naturally.
  • Explicitly restart the current Worker after app updates and safely record detached-runner start, exit, and error diagnostics.
  • Derive OpenRouter and managed-computer availability from their actual configuration and state to reduce misleading Worker status.
  • Split the large Worker API surface into focused route boundaries and prune regression coverage so server changes remain safer to ship.

Fixed

  • Restore the macOS title bar after first-run onboarding and keep theme-aware branding visible on transparent surfaces.
Open GitHub release

Bring new branding, managed-computer remote screens, and mobile DMs together

Apply Briar's new line-art identity across desktop and mobile, expand managed-computer remote GUI and mobile DMs, and make saved Agent skills safer to discover and run.

Added

  • Create managed-computer remote sessions with expiry, reconnect, and end-state tracking, then view and control the computer through a secure remote GUI backed by persistent network infrastructure.
  • Allow obsolete Workers to be removed completely and expand regression coverage for remote sessions, attachment replies, and mobile DMs.

Improved

  • Replace the mobile Companion's Agents tab with organization DMs so conversations with Agents are easier to find and continue privately.
  • Show channel-reply execution status below messages with attachments so the result of processing is visible at a glance.
  • Present Inbox reply notifications while the iOS app is in the foreground and keep the first Agent reply in the natural conversation timeline.
  • Apply the new line-art Briar mark and logo across desktop and mobile app icons, the tray, launch surfaces, and light and dark themes.
  • Split Worker routes and execution boundaries into focused modules and add Effect-based lint and typecheck coverage for safer server changes.

Fixed

  • Discover saved Project Agent skills by their descriptions and run each skill in an isolated worktree so concurrent file changes cannot leak between executions.
Open GitHub release

Make issue replies and OpenCode model fallback more flexible

Give issue conversations the workspace access needed to complete user requests and keep available local OpenCode models visible when the live catalog is unavailable.

Improved

  • Let issue-reply Agents use the shared worktree's shell, network, browser, and filesystem permissions, while honoring the project's configured full-access sandbox policy.
  • Clarify the localized fallback message so it describes available fallback models instead of implying that only bundled models are shown.

Fixed

  • Restore active free models and reasoning efforts from the local OpenCode cache when the live model catalog cannot be loaded, so they remain selectable.
Open GitHub release

Connect organization DMs and Agent replies into one conversation flow

Show clearer project context for DM Agents and align Agent replies in ordinary channels and DMs with the main timeline so existing conversations continue naturally.

Added

  • Write Agent replies for ordinary channels and DMs to the main timeline beside their trigger message, while keeping only explicit thread replies inside that thread.
  • Add a D1 migration that repairs completed legacy Agent replies to follow the timeline rule derived from their trigger message.

Improved

  • Show each Agent's connected project name in the DM recipient search and list, and let people find an Agent by project name.
  • Expand Worker and D1 regression coverage so channel reply completion and legacy data repair remain safe when applied repeatedly.
Open GitHub release

Expand organization collaboration and the managed-computer pilot safely

Add organization direct messages and a promotional managed-computer pilot, while splitting Worker and CLI boundaries to make alerts, channels, and merge delivery more reliable.

Added

  • Add one-to-one Direct Messages for organization members, reusing channel attachments, realtime updates, and Agent replies while keeping each conversation private and distinct.
  • Connect the GETBRIAR promotion to server-validated managed-computer requests, entitlements, AWS provisioning, enrollment, state transitions, and lifecycle handling with idempotency.

Improved

  • Split the CLI and Worker database and domain repository boundaries with Effect so the command tree and SQL input validation remain explicit.
  • Unify the shared Spinner and channel proposal-card layout so loading and status surfaces remain consistent.

Fixed

  • Constrain managed computers to a fixed AWS Launch Template, encrypted volumes, no inbound network access, SSM-only operations, organization and fleet limits, expiry, draining, and termination.
  • Restore subscribed channel-thread notifications and Project Agent execution logs, gate Inbox alerts until initial sync, and stabilize five-minute merge cohorts and late-event delivery.
Open GitHub release

Connect provider settings and repository delivery more reliably

Persist provider model preferences, extend the local Worker native merge queue with exact-SHA validation, refresh the Lovable onboarding tutorial, and update the Bun 1.4 runtime.

Improved

  • Coordinate repository delivery through the local Worker native merge queue, verify the exact GitHub merge-group SHA, and publish all four signoff statuses only after validation proof is stored.
  • Set a default model and favorite frequently used models in provider settings so issue, Project Agent, and channel runs are faster to configure.
  • Persist provider-specific model preferences locally and reuse default and favorite ordering in run surfaces for a consistent assignment flow.
  • Replace the Lovable GitHub tutorial video with the latest product flow so repository onboarding is easier to understand.
  • Update the runtime, types, and documentation so desktop and Worker builds use Bun 1.4.0.
Open GitHub release

Strengthen repository merge queues and typed execution boundaries

Introduce a repository-level native merge queue and use Effect-based contract and SQL boundaries to make server and Worker execution more dependable.

Added

  • Add durable repository merge batches so the native merge queue coordinator can deliver reviewed batches safely and recover after interruptions.
  • Add the remote D1 migration and operational recovery guidance required for repository merge-batch state.

Improved

  • Use Effect Schema and Effect SQL across API, realtime, Agent runner, archive, organization, project, and Worker boundaries to keep validation and data flow explicit.
  • Refine OpenCode startup, Worker claims, execution cost and usage metrics, realtime, and archive paths with stronger regression coverage for long-running and concurrent work.
Open GitHub release

Carry Lovable projects through review and merge

Make Lovable project onboarding easier to recognize and extend its default workflow through pull-request creation and merging to main.

Added

  • Add pull-request creation and merge-to-main stages to the default workflow for compatible Lovable repositories.

Improved

  • Show the Lovable logo on the repository import card so the Lovable project path is easier to recognize.
  • Expand onboarding and Lovable workflow preset regression coverage.
Open GitHub release

Safely hand off active Worker jobs during app updates

Continue active work immediately without duplicate side effects when an app update restarts a Worker, while fencing late writes from the old Worker.

Improved

  • Atomically hand off issue, Project Agent task, issue reply, and channel reply claims so a new Worker resumes without waiting for lease expiry.
  • Keep planned handoffs out of retry accounting and fence late lease renewals, transcript writes, and completion requests from the old Worker.
  • Avoid restarting active Workers during ordinary app reopen when Worker assets have not changed.

Fixed

  • Drain new claims before changed Worker assets are restarted, stop the provider, and save transcript, progress, conversation ID, and workspace checkpoints.
  • If handoff fails, prevent concurrent execution and fall back to lease-expiry recovery while showing the delay reason and retry action in Worker status UI.
Open GitHub release

Connect channel issue creation and execution approval in one step

Combine issue creation and Agent execution settings into one channel approval flow, and make the landing page's next action easier to find.

Improved

  • Review the project, Worker, provider, model, and effort before creating and executing an issue from a channel, then approve both together once.
  • Recheck project, membership, policy, provider, and Worker availability at approval time before safely reserving the execution request.
  • Refine the landing homepage's sticky header, language switcher, download buttons, and mobile choice flow so the next action is easier to discover.
  • Expand UI, API, Worker, and Companion regression coverage for channel issue creation and execution approval.

Fixed

  • Show the same channel proposal and execution-approval state on desktop and iOS Companion, with retries and duplicate requests converging on the same result.
Open GitHub release

Make project windows and status surfaces clearer

Open projects in dedicated desktop windows, consolidate onboarding, settings, and usage states, and keep provider activity and logos accurate across themes.

Added

  • Add regression coverage for project windows, status panels, active-provider usage, and themed provider artwork.

Improved

  • Open projects in dedicated desktop windows so each project keeps its own Inbox, channels, and settings context.
  • Remember the selected organization per user and lock project windows to the project and organization they opened.
  • Unify onboarding, project settings, usage, and review states with shared ChoiceCard and StatusPanel components and semantic tones.
  • Show only enabled providers in the usage status bar, with clear provider icons even when usage data is unavailable.

Fixed

  • Restore provider logos in the light theme and switch OpenCode and Codex artwork for readable dark-theme contrast.
Open GitHub release

Make dark mode and local Worker setup more reliable

Align Inbox filters and shared status colors with the dark theme while making new-project local Worker setup and provider registration more reliable.

Added

  • Introduce shared, theme-aware status tokens for feedback, onboarding, health, review, and danger-zone states.
  • Enable this computer's local Worker automatically after a new project connects, and roll back registration if service installation fails.
  • Add regression coverage for Inbox dark-mode filters and the local project-connection path.

Improved

  • Align Inbox filter bars, project selectors, counts, and active categories with dark-theme surfaces and semantic colors.
  • Accept every supported Worker provider in registration payloads instead of rejecting providers beyond the old four-provider cap.
  • Refine workflow review, project dialog, onboarding, and settings surfaces so dark mode retains readable contrast.
Open GitHub release

Connect email sign-in and project setup more smoothly

Add email OTP sign-in and Lovable repository imports while making onboarding and the mobile Companion experience more reliable.

Improved

  • Sign in from desktop, web, or invitation onboarding with a 6-digit email code, normalized addresses, and resend and hourly sending limits.
  • Import a Lovable project through a guided GitHub SSH flow that validates the repository, clones it, checks readiness, and creates the project.
  • Restructure project onboarding choices, loading, and spinner states, with additional coverage to reduce stuck or visually unstable setup steps.
  • Show mobile Companion channel attachments as cards, improve native iOS behavior, and include Agent names in issue reply progress states.
Open GitHub release

Expand Agent templates and make channel work faster and steadier

Choose guided Agent templates and provider models more easily, while keeping channels, attachments, mobile caches, and Worker workspaces reliable.

Added

  • Add guided Agent templates with responsibilities, Skills, and sources, then simplify the template picker and direct creation flow.
  • Support SVG attachments and smoother channel image navigation, while emoji reactions appear immediately and roll back with an error when the request fails.

Improved

  • Improve OpenRouter model discovery and Antigravity quota reporting, and replace the OpenRouter and Grok provider icons with bundled artwork.
  • Reuse idle Worker workspaces for queued reply jobs to reduce setup time, and understand the latest Antigravity quota format.

Fixed

  • Stabilize Companion channel and attachment caches plus long-text selection, preventing stale content or incorrect scroll positions from surviving navigation.
Open GitHub release

Make channel management and links safer

Allow authorized channel deletion, add practical sidebar actions, and keep desktop and Companion channel links on the right target.

Added

  • Allow channel creators and organization owners to delete channels they manage, with a confirmation flow.
  • Add channel ID and link copy, settings, and delete actions to the sidebar channel menu.

Improved

  • Keep desktop and Companion channel links pointed at the correct organization, message, or settings target.

Fixed

  • Prevent deleted channels from lingering in active views or caches, and clean up their attachments after deletion.
Open GitHub release

Make Agent execution and channel navigation more reliable

Route issue replies to mentioned Project Agents, preserve session output and quota details, and refine channels, downloads, and localized landing pages.

Improved

  • Route issue replies to the mentioned Project Agents so conversations with multiple Agents reach the intended Agent, with matching iOS, shared-contract, and Worker paths.
  • Persist direct Agent task transcripts, refresh remote session details, and fall back to final summaries for historical sessions so execution output remains available.
  • Parse Antigravity CLI /quota responses to show Gemini quota and usage details accurately.
  • Replace the landing download CTA with an accessible Mac, Web App, iOS, Android, and CLI bar plus provider icons, while improving localized typography and theme.

Fixed

  • Move channel Agent provider badges to the lower-right of avatars and prevent delayed bottom-scroll jumps when revisiting a channel.
  • Prevent project sidebar channel overflow and preserve spaces and line breaks in issue descriptions immediately after autosave.
Open GitHub release

Expand channel documents and Agent provider support

Add OpenRouter and channel document previews, show who reacted to messages, add actionable manual QA guidance, and refine reply progress styling.

Added

  • Add OpenRouter as an Agent provider, keeping its API key on this computer and allowing people to choose from multiple models.
  • Add manual QA guidance to completed work results so people can jump to local checks or a deployed target URL with the relevant revision.

Improved

  • Let people open plan documents created by channel Agents from a message card, read the full body, and retry when loading fails.
  • Show who reacted to a channel message with names and avatars, summarizing the list when many people reacted.
  • Match Briar reply progress typography to the surrounding response UI for a more consistent visual hierarchy.
Open GitHub release

Add agent templates and broader provider usage visibility

Add a Frontend Developer Agent template, broaden provider usage visibility, and keep Inbox replies and active runs on the right path after navigation or provider errors.

Added

  • Add a ready-to-use Frontend Developer Agent template with its responsibility, Skills, and upstream attribution.
  • Add Antigravity, OpenCode, and Cursor to the desktop usage popover, bottom status bar, provider roster, and local account labels, including live Antigravity Gemini quota when available.

Improved

  • Align Channels menu icons, spacing, and hit areas in the sidebar for more consistent navigation.
  • Cache migrated D1 database templates so local tests spend less time preparing shared fixtures and run more consistently.
  • Open Inbox issue replies directly in the conversation tab on compact layouts, and preserve the correct detail tab when navigating to a related issue.

Fixed

  • Prevent an active Antigravity run from ending after a failed provider turn while its claim remains active, so the run can recover and continue.
Open GitHub release

Keep Agent replies moving while Workers are busy

Separate issue and channel Agent replies from regular Worker execution slots so replies can be handled without waiting for ordinary work to finish.

Added

  • Allow healthy busy Workers to claim replies at the API while still rejecting genuinely unhealthy needs_attention Workers, preserving reply capacity without hiding faults.

Improved

  • Exclude issue and channel Agent replies from regular slot accounting, allowing one Worker to handle replies while it is already running ordinary work.
  • When regular slots are full, have the CLI Worker poll reply-only work first and report combined regular and reply execution state accurately.
Open GitHub release

Manage channel settings and issue history more clearly

Manage channel details and members in one place, record issue-status changes and approvals with readable actors, and refine Antigravity model discovery, iOS proposal approvals, editing, and release-note navigation.

Added

  • Add a channel settings modal from the header overflow menu to rename the channel, change its linked project, inspect its ID and creation date, and search or invite people and Agents from a Members tab.
  • Record readable issue-status actors by resolving internal user IDs to organization display names, write checkpoint approvals atomically with approver, time, and stage details, and backfill existing approval history.

Improved

  • Group every changelog release into four change-type sections in a compact dark layout that makes version-by-version changes faster to scan on desktop and mobile.

Fixed

  • Fix the issue description editor so it fills the remaining detail-pane height, letting even short descriptions use the complete editing area above workflow progress.
  • Restore Antigravity Worker model and effort discovery from the installed CLI while isolating capability checks from unrelated Google authentication environment variables.
  • Prevent valid iOS channel issue proposal approvals from being rejected when the app sends an uppercase project UUID by canonicalizing IDs across iOS, the shared contract, and the Worker.
Open GitHub release

Move issue reviews and channel collaboration forward faster

Put review results and next actions first, then connect Agent descriptions, project-scoped channels, thread subscriptions, and issue-link editing more naturally.

Added

  • Store a concise Agent description of up to 500 characters separately from its execution responsibility, then show it consistently across Agent cards, profiles, settings, search, delegation, channels, Schedule, and native iOS.
  • Automatically subscribe channel-thread authors and mentioned members, let people opt out or back in from desktop, Companion, and native iOS, and deliver new replies as recent Inbox activity.

Improved

  • Show the work result and approve or request-changes actions above work history while a run awaits review, and reset the previous approval spinner when the next checkpoint arrives so work can continue immediately.
  • Group project-linked channels under collapsible Channels tabs in each sidebar project while keeping organization channels without a project in the existing top-level list.
  • Display only the human-readable body from in-progress channel JSON envelopes so activity headlines stay clean across every agent provider.

Fixed

  • Render HTTP, HTTPS, and www links as clickable text in issue descriptions, and grow fields to their real wrapped height so long URLs between images no longer overlap or clip.
Open GitHub release

Make agent guidance and project operations more flexible

Store longer Agent responsibilities and Skill instructions, clarify Schedule visibility and review-pending cards, and stop unused Cursor providers from opening login windows.

Added

  • Write Agent responsibilities and individual Skill instructions up to 20,000 characters, attach up to five Skills per Agent, and enforce the same limits across the UI, API, Worker, CLI, and database.

Improved

  • Show or hide Schedule from the new Tabs page in project settings. Issues and Agents remain available, and existing scheduled jobs keep running while the tab is hidden.
  • Keep paused issues in their current workflow stage instead of moving them to a separate Awaiting review column, and highlight the next required action with an amber review banner.

Fixed

  • Skip Cursor ACP authentication during Worker capability discovery when the Cursor CLI is signed out, preventing repeated browser login windows when no Cursor work was requested.
Open GitHub release

Connect Cursor agents and channel message sharing

Use Cursor as a first-class agent provider, share exact channel messages by link or text, and identify providers and reply authors more clearly.

Added

  • Install and sign in to the Cursor CLI, choose supported models and effort, and run Cursor from issues, channels, and automated work with the required runner bundled in the desktop app.
  • Copy a link or the original text from a channel message's overflow menu, then open that exact message from HTTPS links in desktop, Companion, and native iOS.

Improved

  • Show consistent brand icons in provider selectors across issue creation, settings, and Worker flows, and use configured agent avatars for Inbox replies.

Fixed

  • Bind channel-reply context snapshots to the queued job so later channel state cannot leak into a response that is already underway.
Open GitHub release

Keep sent messages flowing naturally

Messages still appear immediately after sending, now without a transient status label interrupting the conversation.

Improved

  • Remove the sending label from optimistic messages in channel, issue, and Companion conversations while keeping the author, timestamp, and content layout stable before and after server confirmation.
Open GitHub release

Make live conversations and sending feel immediate

Sent messages appear right away, agent activity streams live, and mobile conversations recover their position and state more reliably.

Added

  • Stream live progress from issue conversations and channel agents, then clear the activity cleanly when work finishes or the connection closes.

Improved

  • Let mobile users long-press to select and copy long channel messages, and provide a button to return to the newest messages when they scroll away.
  • Show the actual Worker name for agent sessions so the environment handling a run is easier to identify than a raw UUID.

Fixed

  • Show channel and issue messages immediately after sending and use stable client message IDs to prevent duplicates while replies, attachments, and server sync catch up.
  • Improve mobile channel and issue conversation caching, re-entry, and loading states so stale replies disappear and new messages appear sooner.
Open GitHub release

Make first-run setup and conversation results faster and more precise

Clarify role-based onboarding, structured channel messages, realtime issue conversations, and agent responses from start to finish.

Added

  • Render text, sections, fields, dividers, context, and images from Slack Block Kit webhook messages directly in channels while preserving the original blocks in the database.

Improved

  • Split invited-user, developer, and collaborator paths after a shared introduction and Google sign-in, then show clear workflow-generation stages, elapsed time, and finalization progress.
  • Replace issue-response and channel-agent wait spinners with the pixel-grid loader, a descriptive status, and elapsed time so longer work remains easy to follow.
  • Normalize structured approval replies and channel mention UUIDs reliably, and improve native iOS initial channel loading and immediate draft clearing after send.

Fixed

  • Clear stale result screenshots when switching issues, synchronize open issue conversations in realtime, and suppress duplicate notifications for replies already being viewed.
Open GitHub release

Connect Inbox replies and narrow issue views more naturally

Recognize reply authors at a glance and move comfortably between description, status, and conversation when an issue view gets narrow.

Improved

  • Show the actual author's avatar on issue-conversation reply notifications across desktop, Android, and native iOS instead of a generic icon, with a safe initial fallback when an image is missing or fails to load.
  • Move the conversation pane into its own Messages tab when the issue detail area is narrower than 960px, sharing the full width with Description, Activity, and Status before returning naturally to the split pane at wider sizes.
  • Refresh the landing site's production dependencies to remove known production vulnerabilities while preserving its existing Cloudflare Worker build and behavior.
Open GitHub release

Connect channel conversations and agent progress faster

Switch channels faster, follow agent activity live, and improve the responsiveness of Inbox and background synchronization.

Improved

  • Keep notification-opened reply threads visible, show agent providers as accessible icons, and let long issue descriptions fill and scroll within the remaining pane height.
  • Index Inbox notification targets and GitHub merge-reconciliation candidates, and consolidate idle project synchronization around organization-level realtime updates to reduce unnecessary requests and database work.

Fixed

  • Stream command, file, search, and tool activity for channel agents at the reply level, restore active work after reconnecting, and redact sensitive values before they are published.
  • Open desktop channels immediately from cache with the latest 20 messages, load older history when scrolling upward, and virtualize long conversations while preventing stale results during rapid switching.
  • Prefer the current organization's local Worker for channel replies when it can run the job, with a safe fallback to another Worker on failure.
Open GitHub release

Make images, Inbox senders, and loading progress clearer

Open and download images more easily, identify channel senders in Inbox, make longer waits clearer, and refresh the landing demo.

Improved

  • Open channel images, issue Markdown and attachments, and run evidence screenshots in a larger lightbox, then download them while preserving the original filename.
  • Show the actual sender avatar on channel Inbox rows across desktop, Android, and native iOS instead of an arbitrary project icon, with a safe initial fallback when an image is missing or fails to load.
  • Replace circular spinners on potentially longer Inbox, issue, evidence, and invitation loads with a 3×3 pixel wavefront, clear label, and elapsed time while keeping reduced-motion and screen-reader announcements stable.
  • Replace the landing page's issue-to-completion demo with a new recording that reflects the current product flow.
Open GitHub release

Clarify channel execution and streamline organization and Inbox navigation

Report unavailable Workers immediately, simplify organization and Inbox navigation, and refine Antigravity branding.

Improved

  • When an agent is mentioned in a channel, first verify an online, ready, work-accepting Worker with compatible provider, model, and effort capabilities; show a clear error immediately in desktop and Companion when none can run it.
  • Open the organization list, current selection, and add-organization action directly from the sidebar organization name so switching organizations takes fewer steps.
  • Replace labeled Inbox category filters with accessible icon buttons and count badges so filters remain readable beside the project selector without truncation.
  • Use the bundled Antigravity provider artwork consistently across agent pickers and status surfaces.
Open GitHub release

Connect Antigravity and clarify workflow creation

Add Google Antigravity as an agent provider and replace internal workflow-generation data with a clear, human-readable progress state.

Added

  • Install, sign in to, and enable the Google Antigravity CLI from onboarding or App Settings, discover its live models and effort levels, and select it for issues, project and organization agents, and Worker dispatches.

Improved

  • Bundle the Antigravity runner with desktop and the Briar CLI so new and resumed conversations, tool activity, attachments, approvals, sandboxing, and network policy use the same execution flow as other providers.
  • Detect Antigravity authentication, health, and exhausted usage, then connect its actual model, token usage, and estimated cost to Google pricing in settings and usage views.
  • Show a localized progress message while workflow creation and tool analysis finalize instead of exposing internal completion, execution, stages, and version JSON.
Open GitHub release

Connect live conversations and agent execution more precisely

Dispatch work with capabilities providers actually support, while improving channel sync, result review, mobile history navigation, and Worker execution reliability.

Improved

  • Discover available models and model-specific effort levels from the Codex, Claude, Grok, and OpenCode CLIs, report them from each Worker, use the same choices across desktop, mobile, and iOS, and validate explicit dispatches against live capabilities.
  • Share one organization-level WebSocket across channels, project conversations, and Inbox; apply Inbox changes immediately while recovering missed events through a transactional outbox and a 60-second fallback.
  • Use channel Inbox events as message-sync signals so replies appear before their notifications, suppress only alerts for the channel currently in view, and schedule a follow-up sync when updates arrive during loading.
  • Show evidence screenshots from the latest passing revision directly inside completed and review-pending result reports, without requiring a trip to the separate evidence tab.
  • Show configured agent avatars alongside people in channel mention suggestions, with a consistent Bot fallback when an agent has no image.
  • Open iOS and Android channels at the latest 20 root messages, load older history when scrolling upward, preserve the reader's position, and still jump directly to old notification messages.

Fixed

  • Serialize duplicate Worker claims for the same issue run and isolate session directories per execution attempt, preventing rework cleanup from deleting a new run or leaving a stale provider turn active.
Open GitHub release

Make conversations and agent settings clearer

Read and compose issue and channel conversations more naturally, with more reliable Inbox, agent settings, and run-cost presentation.

Added

  • Create project agents without skills and remove the final skill safely, show guidance when execution needs a skill, and clamp long responsibility descriptions to six readable lines.

Improved

  • Turn native iOS issue conversations into a channel-style timeline with date separators, avatars, authors, and timestamps, while keeping a keyboard-ready bottom composer plus Markdown, replies, mentions, and image attachments.
  • Refresh the shared iOS and Android channel header with participant context and a capsule treatment, combine attachment, text, and send controls into one continuous composer, and support reduced-transparency and high-contrast environments.
  • Keep the sidebar, headers, and composer visible when opening a channel thread reply from Inbox, centering only the requested reply inside the detail pane's conversation scroller.
  • Show the provider's actual model and estimated cost for provider-default runs, mapping Grok build variants to compatible base-model pricing.

Fixed

  • Correct Provider, Model, and Effort menu placement in the Create Agent modal, restore channel list markers and mention spacing, and add project badges to Inbox notification icons.
Open GitHub release

Connect agent names and work screens more naturally

Use real agent names for channel mentions and make issue navigation, Inbox, model selection, and usage accounting more precise.

Added

  • Connect the project and account toolbar to the native iOS Agents screen and complete mobile release validation for the latest TestFlight build.

Improved

  • Use ⌘[ and ⌘] to move through the issue list and visited issue details in order, while long results and conversations scroll correctly inside the Inbox detail pane.
  • Keep model menus inside their modal boundary so long OpenCode catalogs can be searched and scrolled from Process now and other dialogs.
  • Show the active agent reply state above the open channel thread composer while preserving inline status for other messages.
  • Aggregate every Codex model call in a turn from cumulative snapshots, avoiding double counting across resumed conversations while recording tokens and estimated cost accurately.

Fixed

  • Mention agents by their exact names—including spaces and non-Latin characters—instead of separate handles, route with structured agent IDs, and avoid linking duplicate names to the wrong profile.
Open GitHub release

Connect channels and Inbox more clearly and precisely

Refine channel presentation and Inbox navigation while clarifying the Developer agent's role and making long work logs and provider usage handling more resilient.

Improved

  • Show configured agent avatars in channel messages across desktop, mobile, and iOS, and improve mention spacing plus Markdown readability for links, inline code, code blocks, lists, quotes, and tables.
  • Open desktop Inbox channel alerts in the right detail pane at the correct root message or thread, and route mobile and iOS issue-conversation alerts to the proper conversation tab while preserving message identifiers and read state.
  • Detect exhausted OpenCode free usage even when action metadata is absent, and let the Worker accept provider exhaustion state and maximum usage percentage when deciding whether registration is blocked.
  • Update the default Developer agent responsibility to own implementation, validation, and delivery—not only planning—and migrate agents that still use the previous default wording.

Fixed

  • Remove the duplicate Home child from the project sidebar so the project name itself opens home and reflects the active location.
  • Measure the complete serialized work-log request, split and resend HTTP 413 batches in order, and keep optional transcript telemetry failures from failing the agent run itself.
Open GitHub release

Preserve long agent work logs more reliably

Separate raw provider events from the compact visible work log so long outputs retain their final reply and terminal state.

Breaking

  • Allow authorized users to list and download compressed raw segments. This storage cutover resets pre-deployment work-log history and queues legacy raw archives for asynchronous deletion.

Fixed

  • Store raw Codex, Claude, Grok, and OpenCode events as immutable compressed R2 segments while projecting only messages and activities into a compact D1 work log, preventing high-volume output from exhausting a session limit.
  • Retry failed uploads up to three times in order, make identical segment retries safe, and surface a final failure instead of silently discarding the batch.
  • Close unmatched writing entries as interrupted when a provider terminates without a completion event, so finished sessions no longer keep a running indicator.
Open GitHub release

Navigate work, conversations, and model choices more clearly

Scan unread conversations and Inbox faster while handling kanban columns, model selection, agent image replies, and error diagnostics more precisely.

Added

  • Add separate Y-axis scales for completed issues and tokens in Work analytics, and keep loading spinners centered on their circle origin.

Improved

  • Bold unread channel names and synchronize read state across desktop, mobile, and iOS, while automatically subscribing issue creators, conversation participants, and mentioned organization members.
  • Use one provider-supported model catalog across issue, project, organization, and agent settings, with searchable OpenCode choices and preserved defaults and legacy models.
  • Let Channel Agents attach workspace screenshots and images to replies within safe path and attachment limits.
  • Deduplicate repeated error toasts and copy a sanitized diagnostic report with time, app version, request, status, environment, and stack details.

Fixed

  • Split desktop Inbox into resizable list and detail panes, and move unneeded kanban columns into a right-side Hidden columns list that can restore them later.
Open GitHub release

Dispatch work with models supported by each provider

Worker dispatch now uses the models each provider actually reports, so newly supported models can be selected and run immediately.

Improved

  • Opening Assign Worker loads the current model catalog for Codex, Claude, Grok, and OpenCode and uses it for each provider's model picker.
  • The catalog is requested once per app session and shared by settings and dispatch, with the built-in model list retained as a safe fallback.
  • The server accepts provider-reported model IDs for dispatch while keeping the stricter validation rules for saved issue execution defaults.
Open GitHub release

See issue conversations and run results faster and more clearly

Synchronize issue conversations in realtime and make agent work logs, estimated API costs, and available app updates easier to understand at a glance.

Improved

  • Share one organization WebSocket connection across channels and issue conversations, then apply project cursor deltas so agent replies and proposal states update without polling.
  • Use one work-log view for issues and Project Agent sessions, separate initial and follow-up requests into clear cards, and keep export and automatic scrolling consistent.
  • Combine the actual token ledger with current pricing to show estimated API cost by run and model, input and output rates, and the price-check timestamp.
  • Emphasize the download button when a new app version is available, pause the effect during hover or installation, and respect reduced-motion preferences.
  • Refresh landing-page sharing with a Briar-branded social card featuring the task board and updated product message.
Open GitHub release

Make desktop settings and channel operations easier to follow

Stabilize macOS settings, update, and secure-input behavior while expanding channel history, Worker status, and public documentation.

Added

  • Add Worker status refresh, HTTPS profile avatars, issue-creator attribution, and public API and LLM docs so operations and automation have clearer context.

Improved

  • Open Settings and update checks directly from the macOS app menu, with the update item changing its label when a new version is available.
  • Release password-editor secure input when the macOS window loses focus so keyboard capture does not remain active in another app.
  • Let Briar CLI and Project Agents page through authorized channel history and threads while the Worker enforces project-agent channel access.
Open GitHub release

Connect channel automation and see project health more clearly

Connect external events to channels while making project health, approval context, and desktop notification navigation easier to follow.

Improved

  • Review period-based usage and execution ownership in Project Home, and collapse or expand kanban stage columns per user to scan a large board faster.
  • Keep the original conversation context when approving issue execution from a channel, and move a thread to its newest reply after sending.
  • Open a macOS notification directly at the related channel message and thread so the work can continue in the same context.

Fixed

  • Create channel-scoped incoming webhooks, rename, rotate, or revoke them, while showing each secret only once and preventing duplicate events or excessive requests.
Open GitHub release

Subscribe to issues and load project health faster

Control which issues notify you while Project Home and the channel composer respond more efficiently to the data and text that matter.

Improved

  • Subscribe or unsubscribe from an issue conversation and see current subscriber avatars, while assignees remain subscribed so they cannot miss important changes.
  • Deliver issue status and conversation notifications only to subscribers across Inbox and system notifications, with the same subscription state on desktop, Android, and iOS.
  • Grow the channel composer with explicit and automatic line wrapping up to 140px, then preserve internal scrolling for longer messages.

Fixed

  • Aggregate and cache the last 30 days of project usage in D1 so Project Home no longer scans organization-wide execution history on every load.
Open GitHub release

Choose agent handles and restore realtime channel connections

Manage the @handles used to call Project Agents in channels, while packaged desktop and Android clients use the authenticated realtime channel connection.

Added

  • Allow only the Briar API WSS origin in desktop and Android security policy so channel changes arrive in realtime instead of falling back to periodic polling.

Improved

  • Set a memorable @handle when creating or configuring a Project Agent and see the name-derived default immediately.
  • Keep handles unique within the organization with safe suffixes and resilient fallback behavior for non-Latin names, long values, and concurrent creation.
  • Validate handle reservation and updates in the Worker so channel mentions continue to resolve to the intended agent.
Open GitHub release

See project health and agent synchronization at a glance

Review recent project activity and execution health in a project lobby while keeping Inbox, Worker, and channel synchronization focused on data that actually changed.

Improved

  • Show the last 30 days of usage, execution time, issue status, GitHub connection state, and recent activity in one project lobby.
  • Skip unchanged organization Inbox snapshots and Worker claim polls so synchronization avoids redundant responses and queries.
  • Batch Worker lease renewals and credential-usage writes, and let idle channel realtime connections hibernate to reduce operational overhead.
  • Batch long agent transcript writes and align the mention-composer caret to make execution history and conversation editing more reliable.
Open GitHub release

Refine mobile channels and stop repeated session alerts

Restore native mobile channel navigation and composition while stabilizing Inbox synchronization so the same agent session does not notify more than once.

Improved

  • Use the system navigation bar and back behavior in iOS channel detail, with native message input, attachment, and send controls.
  • Give the shared Android channel view a transparent mobile layout, consistent buttons, and ordered back navigation from thread to channel to channel list.
  • Migrate existing D1 session summaries and account read state to the canonical version while keeping sessions that were already read marked as read.
  • Describe Briar accurately as cloud-coordinated with local repository access and agent execution.

Fixed

  • Share one canonical Inbox version for completed and failed agent sessions across desktop and the Worker so equivalent state cannot retrigger OS notifications.
Open GitHub release

Keep every Inbox notification visible across projects

Collect issue, conversation, channel, and agent notifications from every accessible project in the organization, regardless of which project is selected.

Improved

  • Aggregate issue state, replies and mentions, channel notifications, and agent sessions from every project into an authenticated organization Inbox feed.
  • Merge selected-project details with the organization feed in the shared desktop and Android app, refreshing every 15 seconds while in the foreground.
  • Align read versions with completion events and establish an initial-sync baseline so historical notifications do not fire all at once.
  • Use the same organization Inbox model and foreground synchronization flow in the iOS Companion.
Open GitHub release

Let project conversation agents verify work in a real runtime

Give Project Agents in channels and issues the same execution profile as project Workers so they can run development servers, browser automation, and local verification directly.

Added

  • Copy `.worktreeinclude` inputs into fresh conversation workspaces so required gitignored runtime files are available safely.

Improved

  • Run project-channel and issue-conversation agents with the same shell, network, browser, filesystem, and environment settings as project Workers.
  • Keep every conversation isolated in a disposable worktree whose local changes are discarded after the reply finishes.
  • Preserve the existing authenticated confirmation flow for Briar issue mutations and execution proposals.
Open GitHub release

Make real-time collaboration and agent sync lighter and more precise

Fetch only the channel, agent, and dashboard changes that matter so conversations and run state stay fast and accurate as organizations grow.

Improved

  • Receive channel change notifications over SSE, drain only new records from the delta API, and recover missed updates with a periodic fallback sync.
  • Synchronize Project Agent sessions through lightweight summaries and cursor deltas, loading full logs and archived results only when a session opens.
  • Let Organization Agents request only the project settings, Agents, Skills, issues, pull requests, and sessions needed for a question within their authorized scope.
  • Fetch all running work for the macOS status tray with one organization query, while dashboard deltas load relations only for changed runs.
  • Apply D1 migrations before every Worker deployment, then skip redundant schema probes from recurring claim requests once the deployment baseline is established.
  • Mark replies and status notifications read together when they are viewed in issue detail, without clearing unrelated Inbox items.
  • Retain the last assigned Worker on completed issues so the execution owner remains visible in details and result metrics.
Open GitHub release

Roll out Project Agent execution approvals safely

Protect natural-language Project Agent Skill requests with explicit approval, while making the production migration and conversation context more reliable.

Added

  • Render connected people and agent mentions as recognizable, clickable buttons inside messages.

Improved

  • Turn conversational Project Agent Skill requests into read-only proposals, then confirm the exact task and Worker before execution.
  • Use Wrangler-compatible trigger syntax and D1 statement boundaries so channel-agent delegation applies safely in production.
  • Keep conversation images loaded after refresh and hide reply links when no real thread exists.
  • Simplify issue header properties and action menus, and refine assignment badges so important state and actions are easier to find.

Fixed

  • Preserve the approved agent, Skill, request, and Worker in an audit record, and reject unapproved or stale execution attempts on the server.
Open GitHub release

Make conversational issues and agent collaboration safer

Protect conversational issue creation and execution with explicit approval, give Organization Agents controlled project context, and make desktop and iOS collaboration more consistent.

Improved

  • Review and approve issue proposals and executions from channel conversations, with the same state handling in Inbox and on mobile.
  • Let Organization Agents delegate a narrowly scoped, read-only project question to the exact Project Agent while keeping authority and execution state separate.
  • Preview attachments inline while editing issues and approve pending issue proposals directly from the Inbox side panel.
  • Localize the native iOS Companion in Korean and English, and make session notifications and execution logs more precise.

Fixed

  • Synchronize desktop and iOS Inbox read state across focus, foreground, retries, and account changes so stale unread indicators are less likely.
Open GitHub release

Handle concurrent runs and long conversations more reliably

Start multiple tasks from the same project agent at once, while keeping long links, code, and tables inside the issue conversation pane.

Improved

  • Start another Skill task from a project agent while an earlier task is still running.
  • Track concurrent tasks as separate sessions so each run's progress and result remain independent.
  • Wrap long URLs and content, and scroll code blocks or Markdown tables inside the issue conversation pane instead of expanding the page horizontally.
Open GitHub release

See conversations and run status more clearly

Reply participants, real execution states, and inline issue editing are easier to see, while emoji positioning and optional agent authentication failures are handled more safely.

Improved

  • Summarize the people who participated in a conversation reply so its context is visible at a glance.
  • Edit issue content inline and show the actual execution state in notification titles.
  • Keep the channel emoji picker within the viewport instead of letting it open off-screen.

Fixed

  • Isolate optional MCP authentication failures so they do not turn into a full agent-run failure.
  • Remove the duplicate loading spinner from the iOS task view.
Open GitHub release

React to channel messages with any emoji

Use quick reactions or the full emoji picker in channel conversations, with the same synchronized reactions across desktop, Companion, and iOS.

Improved

  • Hover over a message to add a quick 👍, ❤️, 😂, or 🎉 reaction, or choose any reaction from the full emoji picker.
  • See participant counts and your own state on reaction chips, then select the same emoji again to remove your reaction.
  • Propagate reaction additions and removals through channel delta sync so message state stays current across devices.
  • Use the same reaction model and toggle behavior on desktop, Companion web, and iOS Companion.
Open GitHub release

Operate with clearer run costs and worker health

The execution ledger now powers the operating views, while runs without provider-reported cost are priced from current rates for a clearer picture of usage and spend by worker.

Added

  • Enable Full Auto when creating an issue to skip every checkpoint and run without pausing, with matching behavior on desktop and iOS.

Improved

  • Aggregate ledger tokens and provider-reported cost by worker, provider, and model in the usage settings view.
  • Estimate runs that do not report cost from the current model price table so operating totals include previously uncovered usage.
  • See each Worker's installed Briar version and update availability in the environment panel, then request a remote update directly.
  • Open a channel-reply Inbox notification on the Channels page at the exact conversation that produced it.

Fixed

  • Close the project-agent task dialog immediately after dispatch so the interface proceeds to the run without inviting duplicate requests.
Open GitHub release

See agent usage and cost for every run

Token usage and provider-reported costs from Codex, Claude, Grok, and OpenCode are now recorded on the server for clearer worker health and operating-cost visibility.

Improved

  • Persist input, output, cache, and reasoning tokens plus provider-reported cost in a durable ledger for each execution.
  • Select an agent skill explicitly for direct runs, schedules, and issue processing so each job keeps the intended configuration.
  • Change issue status and priority directly from their badges, while agent failures appear as unobtrusive toasts instead of blocking banners.
  • Stabilize collaboration by sharing attachment handling, mention composition, pane resizing, and mobile presentation behavior across surfaces.

Fixed

  • Collect OpenCode and Grok usage alongside Codex and Claude, and stop advertising providers whose usage allowance is exhausted.
Open GitHub release

Every agent now reports work through one consistent flow

Progress events from Codex, Claude, Grok, and OpenCode now share one format, making messages and tool activity more consistent and reliable.

Improved

  • Process message start, progress, completion, and final turn status through the same event flow across providers.
  • Present command runs, file changes, web searches, and other tools with common start, output, and completion states.
  • Bound unusually large activity titles and output on safe UTF-8 boundaries to keep live execution views responsive.

Fixed

  • Qualify restored worker activity IDs by session so progress from concurrent runs cannot collide.
Open GitHub release

Give every agent the right skill for each job

Configure purpose-built skills on one agent, then select the right skill for direct runs, schedules, issue processing, and channel conversations.

Added

  • Create multiple skills for project and organization agents, each with its own name, instructions, provider, model, and reasoning effort.

Improved

  • Choose a skill for every direct agent run, while issue processing uses its dedicated skill and schedules see the agent's full skill roster.
  • Mention an agent and a saved skill name in a channel to invoke that skill; unmatched requests stay within the agent's responsibility and full skill roster.
  • Queued and running work keeps a durable reference to its selected skill, preserving execution context across renames and edits.
Open GitHub release

Agent work can continue, with clearer usage visibility

Follow-up requests can now continue from completed agent sessions, while usage reporting and attachment delivery are more consistent.

Improved

  • Start follow-up work from a completed project-agent session while keeping the same conversation and workspace.
  • Review agent usage in greater detail from the usage dashboard in Settings.
  • Supported agent execution paths now hand off conversation attachments consistently, making image and file inputs more reliable.
  • The iOS project menu remains available at accessibility text sizes, with improved channel-message image attachments.
Open GitHub release

Inbox notifications now focus on moments that matter

Routine in-progress changes no longer crowd the Inbox, while agent execution links and kanban card details are more accurate across clients.

Improved

  • Desktop and iOS send agent execution IDs in the same lowercase format for reliable task dispatch.
  • Kanban cards once again show assigned worker avatars and omit the redundant workflow-stage icon.

Fixed

  • Backlog, queued, running, and workflow-stage changes no longer create new Inbox messages or notifications.
  • The Inbox surfaces only paused, completed, failed, and blocked runs that need attention or mark an outcome.
Open GitHub release

Workflows and agent runs keep moving reliably

Workflow checkpoints now follow one v2 contract, while agent tasks and threaded replies stay connected through longer-running work.

Improved

  • Standardized project and run workflows on the canonical v2 checkpoint model for consistent approval and resume behavior.
  • Active agent runs continue in the same conversation and worktree when the provider needs more than one turn to finish.
  • Agent task claim routes are matched exactly and handled before static assets so workers can claim work reliably.
  • Desktop and iOS threaded replies use the canonical stored message ID, keeping agent responses attached to the right conversation.
  • Corrected issue source indicators and worker badges on kanban cards for more accurate execution context.
Open GitHub release

Agent sessions now reflect the real outcome

Saved agents treat their responsibility as an outcome to complete, while session status now stays aligned with the structured execution result.

Improved

  • Pass each saved agent's responsibility as an explicit execution objective instead of a role description.
  • Agents handle reasonable prerequisites and recovery work themselves, then verify the result before reporting completion.
  • Both immediate and scheduled runs mark a session complete only when the structured outcome is completed.

Fixed

  • Partial, blocked, failed, or missing outcomes no longer appear as successful sessions, making execution history more reliable.
Open GitHub release

Run agents on the worker you choose

Run saved agents against the latest code on a selected worker, with more reliable progress and result tracking across desktop and iOS.

Improved

  • Run saved-agent tasks on a selected worker, with every run starting in a fresh worktree from the latest main branch.
  • Track project-agent task jobs on the server so execution state and results stay synchronized.
  • Run project agents from iOS and follow their progress and results.
  • Improved channel notifications, mention links, issue autocomplete, message sending, and the channel detail header.
  • Redesigned the landing site around one light theme with explicit English and Korean routes.
Open GitHub release

Organization agents and channel execution, connected

Manage organization-level agents directly and carry mentions and issue proposals through smoother desktop and mobile channel workflows.

Added

  • Create, review, and delete organization agents that are not tied to a repository.

Improved

  • Choose each agent's provider, model, reasoning effort, and responsibility when creating it.
  • Typing @ in a channel once again shows the complete roster of people and agents.
  • Approve channel issue proposals on mobile web and iOS, select a project, and open the resulting issue directly.
  • Updated the landing product preview with a demo video of the real Briar workflow.
Open GitHub release

Clearer connections between people and workers

Profiles and mentions now carry richer context, while remote worker updates and desktop quitting are safer and more deliberate.

Improved

  • Open profiles from channel mentions to see a person or agent's name, role, and activity context.
  • Check remote organization worker update status and apply new versions more safely.
  • Confirm before quitting with Cmd+Q to avoid closing active work by mistake.
  • Removed the redundant source-dot icon from issue card badges for cleaner status information.
Open GitHub release

Richer collaboration in channels

Channels now bring images, invitations, message controls, and planning documents into one connected collaboration flow.

Improved

  • Attach images to channel messages and pass them into agent vision input.
  • Invite members to channels and edit or delete channel messages.
  • Plans have moved from Ideas into channel documents, keeping discussion and execution together.
  • Improved issue image editing, error toasts, and assignee and worker controls.
  • Briar is now available under the Apache License 2.0.
Open GitHub release

A redesigned desktop channel conversation

The channel list and conversation thread now use a clearer hierarchy so teams can understand active discussions faster.

Improved

  • Redesigned the structure and visual hierarchy of desktop channel conversations.
  • Made it easier to follow conversations across channel and project context.
Open GitHub release

Faster, more precise mentions

Finding and selecting the right person or agent in a channel is now more direct.

Improved

  • Improved navigation and selection in the channel mention picker.
  • Clarified the fastest pre-PR verification path in the documentation.
Open GitHub release

Cleaner mobile issue identifiers

Issue numbers and state are easier to scan on smaller screens with redundant formatting removed.

Improved

  • Removed thousands separators from mobile issue keys.

Fixed

  • Removed the duplicate stage icon beside issue keys for a cleaner list.
Open GitHub release

More reliable issue creation and project sync

Language-aware title rules, project selection, and startup synchronization now behave consistently.

Improved

  • Apply issue title limits that account for the writing language.
  • Preselect the project that opened the new issue dialog.
  • Synchronize local project workflows when the app starts.
Open GitHub release

Roomier channel views across mobile and desktop

Channel conversations now adapt more naturally to each screen size, with improved layout and build compatibility.

Improved

  • Improved mobile channel navigation and message layout.
  • Let the desktop channel UI fill the available shell width.

Fixed

  • Restored iOS channel build compatibility.
Open GitHub release
RELEASE ARCHIVEView all releases