v0.51.3

charmbracelet/crushv0.51.3Mar 24, 2026by github-actions[bot]

AI Summary

This is a patch release (v0.51.3) of Crush that fixes several bugs and includes performance improvements. Key fixes include better detection of long pasted text (including single-line content like unindented JSON), reduced max file size for web fetching to prevent context window issues, and an updated SQLite driver for faster startup times.

Key Highlights

  • Fixed long text paste detection to handle long single-line content (like unformatted JSON) in addition to multi-line content
  • Reduced max file size for view and fetch tools from 5mb to 1mb to prevent context window overflow
  • Updated SQLite driver to v0.33.0 for faster boot time and improved startup performance
  • Removed duplicate ctrl+g help binding in FullHelp interface
  • Updated google.golang.org/grpc with a security fix

Full Release Notes

# Little patch

A couple small bugs were fixed in this release.

## Long pasted content

We improved the detection of long text pasted into the prompt. Crush will add the content as a file attachment if the content is 3+ lines long, but that wasn't accounting for long single line texts (like a big un-indented JSON). This is now addressed.

## Fetching big web pages

The model tried to fetch a web page that is long enough, it could not have enough context window to handle all that. We reduced the max file size to something more resoanable. The models will still see the content, but truncated.

## SQLite

Also, the SQLite driver was updated to a new version that is faster, in particular on boot time, so Crush startup should be a little bit faster.

## Tiny fix

And not less important, @faelis removed a duplicated help in the bottom.

See ya 👋 
Charm

## Changelog
### Fixed
* 96f51ca5cf873532a15e7cb149b755f2d5ed03eb: fix(tui): remove duplicate ctrl+g help binding in FullHelp (#2465) (@faelis)
* 0c6fb42a0359d381085e531f4fcec6e0af07c988: fix: improve long text detection to account for long text in a single line (#2442) (@andreynering)
* dfc57d4c1d779da45197d6b5ec6569cf515e4d77: fix: reduce max read size from 5mb to 1mb for view and fetch tools (#2447) (@andreynering)
### Other stuff
* c771cf119ff7e00fd8fe4b5ad6c8024089bc59c4: chore: update `google.golang.org/grpc` with security fix (#2464) (@andreynering)
* 91bec12ceb49c9272c3f28ebc27728c7ea63f113: chore: update ncruces/go-sqlite3 to v0.33.0 (#2461) (@andreynering)

---

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

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

```bash
wget 'https://github.com/charmbracelet/crush/releases/download/v0.51.3/checksums.txt'
wget 'https://github.com/charmbracelet/crush/releases/download/v0.51.3/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).