v0.30.1

charmbracelet/crushv0.30.1Jan 3, 2026by github-actions[bot]

AI Summary

A patch release for Crush addressing several bug fixes including session naming, Copilot quota handling, symlink resolution in skill directories using fastwalk, multibyte character handling in tag removal, and a potential panic. This is a maintenance release with no new features.

Key Highlights

  • Fixed copilot quota handling for better resource management
  • Fixed session title generation to use large model as fallback when small model fails
  • Fixed symlink resolution in skill directories using fastwalk for improved performance
  • Fixed tag removal to properly handle multibyte characters
  • Fixed TUI model selection guard when list is empty to prevent potential panic

Full Release Notes

# A Fistful of Fixes

Happy New Year! This is a little patch release to fix session naming, Copilot quota usage, and symlinks in skill directories, and a potential panic.

Best wishes for 2026! 💘

## Changelog

### Fixed
* aeadffde3bbb407bec508f7c8b95acf0991b1f3c: fix: copilot quota handling (#1738) (@Gustave-241021, @kujtimiihoxha)
* 7315fceb643a44014da37257f88ed23e79ab4b50: fix(sessions): generate title with large model if small model fails (@meowgorithm)
* d361a3311470b91c9d9184a968ed13c56e74f6cb: fix(skills): use fastwalk to resolve symlinks (#1732) (@Amolith)
* c49b4fe243ffd6b9ded5afdc53c9e85e0dff404c: fix(sessions): tag removal, handle multibyte (@meowgorithm)
* 63a3d831881d76b9a4aab615ba8581498fcb5ae0: fix(tui): guard model selection when list is empty (#1715) (@jamestrew)

### Other stuff
* 7091b4f77b0d58a482f3872b8bfd3d3586b78c21: chore(cli): simplify help text (#1752) (@meowgorithm)
* 67e8f140fab298698c7b15d41a95097256551ac3: chore: auto-update files (@charmcli)
* 59e4adc2fb034f51e0757a7ee94642196a758977: chore: minor internal/app improvements (#1696) (@meowgorithm)

---

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

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

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