v0.93.1
charmbracelet/crushv0.93.1Sep 9, 2026by github-actions[bot]
AI Summary
This release introduces a configuration option to disable mouse support, improves UX for non-vision models by validating image attachments, and fixes critical bugs including a memory leak and authentication issues with the Sentry MCP.
Key Highlights
- Added ability to disable mouse support via `crush.json` or `crushrc` configuration.
- Fixed UX for non-vision models to prevent silent image dropping and show validation messages.
- Resolved model routing issues for specific providers like GitHub Copilot (GPT-6 Astra, Grok) and OpenCode Zen.
- Fixed OAuth2 authentication failures for the Sentry MCP and other providers.
- Resolved a memory leak occurring when `discover_models: true` is enabled.
New Features
- Disable mouse support in the TUI interface.
- Show routed model information in hyper mode.
- Validation feedback for image attachments on non-vision models.
Full Release Notes
## Disable mouse support + more
Hey, how's your week going? We have a few changes today, including mostly fixes but also a few nice additions.
## Disable mouse support
Want to disable mouse support in Crush? Feel lucky because our favorite contributor @timotheosh added just that.
With the config below you can achieve that. It's also possible to toggle it via the command palette dialog.
`crushrc`:
```bash
option ui mouse false
```
`crush.json`:
```json
{ "options": { "tui": { "mouse": false } } }
```
<img width="600" alt="image" src="https://github.com/user-attachments/assets/ad64e680-d244-4e7e-9cb4-1b7fff6271ed" />
<img width="600" alt="image" src="https://github.com/user-attachments/assets/a2fd43cd-bb46-4326-93cf-596e5361d77d" />
## Fixed UX for non-vision models
In some cases, Crush were allowing you to attach an image even when the selected model was not vision-capable. The attachment was then being silent dropped in the request.
Now, we're properly validating it and showing a message so you know when it's not supported.
## Fixed some models on GitHub Copilot
On Copilot some models only works on the `/responses` endpoint: named GPT-6 Astra and the Grok models.
## Fixed some models on OpenCode Zen & Go
OpenCode also require some models to use specific endpoints. Not every model support the `/chat/completions` endpoint; some require `/responses` or `/messages`.
We fixed this issue for the models OpenCode currently supports.
## Fixed Sentry MCP + others
A misconfiguration made it impossible to authenticate with OAuth2 with a few the MCPs, including the [Sentry MCP](https://mcp.sentry.dev/). This is now fixed!
## Fixed potential memory leak
@caniko discovered a memory leak, specifically when `discover_models: true` is set. This issue was fixed!
To read the technical explanation, see #3162 and #3683.
---
See you in the next release!
The Charm Team :tm:
## Changelog
* fix(clipboard): only report copy success if it happens by @taciturnaxolotl in https://github.com/charmbracelet/crush/pull/3682
* fix: stop long reasoning traces from running away with the heap by @taciturnaxolotl in https://github.com/charmbracelet/crush/pull/3683
* fix(config): honor providers.json when auto-update is disabled by @kvnloo in https://github.com/charmbracelet/crush/pull/3693
* fix: inline code copying by @andrinoff in https://github.com/charmbracelet/crush/pull/3678
* fix: flickering screen when inline code was present by @andrinoff in https://github.com/charmbracelet/crush/pull/3708
* fix(copilot): route grok models through responses api by @DaVinci42 in https://github.com/charmbracelet/crush/pull/3705
* fix(discover): keep a user-set supports_attachments in the LM Studio enricher by @devYRPauli in https://github.com/charmbracelet/crush/pull/3703
* fix: assign models from opencode zen by @andrinoff in https://github.com/charmbracelet/crush/pull/3718
* fix(list): keep AtBottom honest when the top item is taller than the viewport by @taciturnaxolotl in https://github.com/charmbracelet/crush/pull/3720
* fix: make timeout configurable by @andrinoff in https://github.com/charmbracelet/crush/pull/3677
* feat(hyper): show the routed model that served each turn by @andreynering in https://github.com/charmbracelet/crush/pull/3713
* fix(copilot): route GPT-6 Astra through Responses API by @DaVinci42 in https://github.com/charmbracelet/crush/pull/3724
* docs(db): fix timestamp unit comments in initial migration by @LarsArtmann in https://github.com/charmbracelet/crush/pull/3576
* fix(config): resolve the provider cache through the global data dir by @devYRPauli in https://github.com/charmbracelet/crush/pull/3738
* feat(tui): add option to disable mouse support by @timotheosh in https://github.com/charmbracelet/crush/pull/3542
* fix: keep `top_k` for known custom providers by @jackgene in https://github.com/charmbracelet/crush/pull/3736
* chore: add CC-BY-4.0 to allowed licenses by @andrinoff in https://github.com/charmbracelet/crush/pull/3755
* fix: do not upload images if vision is not supported by @andrinoff in https://github.com/charmbracelet/crush/pull/3754
* fix: bump mcp sdk by @andrinoff in https://github.com/charmbracelet/crush/pull/3716
* fix(alibaba): do not send `enable_thinking` when we have an effort by @andreynering in https://github.com/charmbracelet/crush/pull/3758
* chore(deps): migrate `mvdan.cc/sh/moreinterp` to `mvdan.cc/sh/x` by @andreynering in https://github.com/charmbracelet/crush/pull/3761
---
<details>
<summary>Verifying the artifacts</summary>
First, download the [`checksums.txt` file](https://github.com/charmbracelet/crush/releases/download/v0.93.1/checksums.txt) and the [`checksums.txt.sigstore.json` file](https://github.com/charmbracelet/crush/releases/download/v0.93.1/checksums.txt.sigstore.json) files, for example, with `wget`:
```bash
wget 'https://github.com/charmbracelet/crush/releases/download/v0.93.1/checksums.txt'
wget 'https://github.com/charmbracelet/crush/releases/download/v0.93.1/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).