v0.74.0

livekit/agentsv0.74.0May 28, 2026by github-actions[bot]

AI Summary

This release focuses on enhancing the client-server architecture, improving notification capabilities across SSH, and fixing issues with various AI models and AWS Bedrock services.

Key Highlights

  • Enhanced client-server architecture with fixes enabled via CRUSH_CLIENT_SERVER=1.
  • Smarter notifications that now work over SSH and support configurable backends.
  • Fixes for Copilot to support GPT 5.4 and GPT 5.5 models.
  • Improved AWS Bedrock support, including European regions and AWS login authentication.
  • Added tracking for active sessions and viewer counts.

New Features

  • Configurable backend and bell support for notifications.
  • Diff view for denied tools.
  • Auto-close permission prompts when another client responds.
  • Support for notifications in SSH terminal.
  • Report how many clients are watching each session.
  • Broadcast config changes to all connected clients.
  • Share one workspace per directory across clients.
  • Track which session each client is currently viewing.
  • Expose in progress flag on session responses.

Full Release Notes

# More client-server, better notifications, and more

Bringing you a few enhancements and bug fixes. Let's check them out!

## Client-server

The experiment client-server architecture got even more fixes.

Want to test? Set `CRUSH_CLIENT_SERVER=1`.

## Better notifications

We updated our notifications to be smarter. They will now work when using Crush over SSH, and support for more platforms were improved as well.

## Copilot fixes

A couple more models that require the Responses API will now use them and work again. This includes GPT 5.4 and GPT 5.5.

## Bedrock fixes

A couple more improvements were made to AWS Bedrock, in particular regarding Bedrock Europe and the support for authentication via `aws login`.

See you in the next release!
Charm

## Changelog
### New!
* e764240d9ceb74a626cccdd404afaaa76e128314: feat(api): expose in progress flag on session responses (@meowgorithm)
* ec85e9ef686c23ce3366c46589cdfabc05cd2199: feat(api): report how many clients are watching each session (@meowgorithm)
* 6923820a8f60a06a0a25100214871ccfd382e8e1: feat(db): refuse to open a data directory in use by another crush (@meowgorithm)
* e7f5c68501e01df446ba908843ed08599a0c96b3: feat(notifications): add configurable backend and bell support (@taciturnaxolotl)
* 3fa7d3f270aef1d1cdd16bd20f626d72cca4db6d: feat(notifications): migrate disabled and add picker (@taciturnaxolotl)
* d9acf860a7523c6a6e7467e4d6dc65a34166a0a0: feat(server): broadcast config changes to all connected clients (@meowgorithm)
* 1ce40dfc00b9394a8212ef008f05e7fd7efc8fba: feat(server): share one workspace per directory across clients (@meowgorithm)
* 178cd11dd49f322b9701f3ec2484f3b7a816c6e2: feat(server): track which session each client is currently viewing (@meowgorithm)
* d14f3b1b754a8770d3851886d96803eb0a3884c3: feat(tools): add diff view for denied tools (@taciturnaxolotl)
* 8f9a697c0373e5975521d1b163ae4475a0719132: feat(tui): auto close permission prompt when another client responds (@meowgorithm)
* 6da5c959dd816ca17decb89b4fde91ce9289fd67: feat: support notifications for ssh terminal (@nghiant03)
### Fixed
* 179a6f3556b672e41d6445e4aedaeed41f0e9674: chore: fix(bedrock): apply region if given for aws config as well (@andreynering)
* a1e4a7c944bb75fe3c2adb47de137985b5eaa7c8: fix(backend): fix data race in tests using captureDebugLogs (@meowgorithm)
* 57ae2b44f570193d7a45c19aacabb9afdb30d91f: fix(bedrock): improve detection of pre-existing aws credentials (@andreynering)
* 36f0976c84b0cf4f4adbb921e1e2578863ca3e72: fix(bedrock): load aws credentials for bedrock europe (@andreynering)
* ed870ecb91c53a98a9114d930cf62fa9c9170993: fix(client): prevent event subscription panic on cancellation (@meowgorithm)
* 82d57e5e0098816e8bb9900ecf51afd02f066a39: fix(copilot): add additional responses models (@taciturnaxolotl)
* c986a35c465fdc22fbaede2609522e3e1997e632: fix(db): only enforce the data directory lock in client server mode (@meowgorithm)
* 86568da1153b165d47a79d8a14f1addec5a41289: fix(permissions): make permission resolution idempotent across clients (@meowgorithm)
* 7d927319c4039f324614ed233db66219218fbc24: fix(server): one client's cancel should not send a 500 to others (@meowgorithm)
* 2bb52564f2ad9cec0174f2a5c74cadae98d508cd: fix(server): release pooled DB on test shutdown so Windows can clean temp dir (@meowgorithm)
* c8d0244049301ccfe389eacde883d4504d76de07: fix(ui): properly render model name in summarize (@taciturnaxolotl)
### Docs
* f9676ebeffd4ef5476f09dfd289f82b4c8efbcb6: docs: describe how Crush shares a workspace across clients (@meowgorithm)
### Other stuff
* 3c981c192fd23879a2e8531391e0971b3d1ecfd0: chore(db): log lock metadata write failures and explain lock file lifetime (@meowgorithm)
* 3f9bb5e07c4b9e358702e97ebdb241d803334ff8: chore: auto-update files (@charmcli)
* 37802798cf224208d226d3a29e9eb08927d8f04f: chore: auto-update files (@charmcli)
* b20b2328eaddd9f193fa97011cf007a7139b48ae: chore: gofumpt (@meowgorithm)

---

<details>
<summary>Verifying the artifacts</summary>

First, download the [`checksums.txt` file](https://github.com/charmbracelet/crush/releases/download/v0.74.0/checksums.txt) and the [`checksums.txt.sigstore.json` file](https://github.com/charmbracelet/crush/releases/download/v0.74.0/checksums.txt.sigstore.json) files, for example, with `wget`:

```bash
wget 'https://github.com/charmbracelet/crush/releases/download/v0.74.0/checksums.txt'
wget 'https://github.com/charmbracelet/crush/releases/download/v0.74.0/checksums.txt.sigstore.json'
```

Then, verify it using [`cosign`](https://github.com/sigstore/cosign):

```bash
cosign verify-blob \
  --certificate-identity 'https://github.com/charmbracelet/meta/.github/workflows/goreleaser.yml@refs/heads/main' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  --bundle 'checksums.txt.sigstore.json' \
  ./checksums.txt
```

If the output is `Verified OK`, you can safely use it to verify the checksums of other artifacts you downloaded from the release using `sha256sum`:

```bash
sha256sum --ignore-missing -c checksums.txt
```

Done! You artifacts are now verified!

</details>

<a href="https://charm.land/"><img alt="The Charm logo" src="https://stuff.charm.sh/charm-banner-next.jpg" width="400"></a>

Thoughts? Questions? We love hearing from you. Feel free to reach out on [X](https://x.com/charmcli), [Discord](https://charm.land/discord), [Slack](https://charm.land/slack), [The Fediverse](https://mastodon.social/@charmcli), [Bluesky](https://bsky.app/profile/charm.land).