v0.64.0
charmbracelet/crushv0.64.0Apr 29, 2026by github-actions[bot]
AI Summary
This is a patch Wednesday release (v0.64.0) focused on stability improvements and bug fixes for Charm Crush. Key fixes include a hook matcher bug, Anthropic provider issues, background job regressions, and status bar rendering problems, along with under-the-hood theming preparation work.
Key Highlights
- Fixed hook matcher bug where hooks ran for every tool call ignoring matcher rules (e.g., ^bash$)
- Fixed Anthropic/Anthropic-compatible provider errors in certain sessions
- Fixed job_kill tool regression by rolling back problematic prompt changes
- Fixed status bar message rendering issues
- Added hyper theme auto-switching when Hyper provider is selected
New Features
- New feature: auto-switch to hyper theme when Hyper provider is selected
- Hook matcher now properly recompiles after config reload
- Improved re-authentication at provider selection time to verify availability
- Fixed notification width and text truncation issues
- Restored 'update available' notification functionality
Full Release Notes
# Patch Day It's patch Wednesday, coming in hot with improved stability and fixed bugs. ## Fixed: Hook Matcher Did you see that [we released an initial hook](https://github.com/charmbracelet/crush/releases/tag/v0.63.0) in the past release? If not, go check it out. Anyway, there, was a bug in which hooks would run for every tool call and totally ignore matcher rules (e.g. `^bash$`). Oof. Fixed. ## Anthropic Fix Kudos to @ljuti who [fixed a bug in Fantasy](https://github.com/charmbracelet/fantasy/pull/219) that could cause errors on certain sessions when using Anthropic or Anthropic-compatible providers. Thanks, @ljuti! ## Background Jobs, Fixed The `job_kill` tool had some prompt changes that caused a regression. We've roll that back and job killin’ should be easer than ever. ## Style Council We also made a bunch more changes under the hood to prep for theming. The design goal is to be able to make themes quickly by setting only a few variables, but also keep the door open for very specific, targeted styling. ## High Status Sometimes the status bar wasn't rendering messages properly. Now, thanks to some good logic, it should be solid as a rock. That's all for today. And stay tuned: we have exciting stuff coming soon. Charm ✨ ## Changelog ### New! * a4488ca06a3e0f7427fc2979b54aeb3877272e72: feat(ui): switch to hyper theme when provider hyper is chosen (@meowgorithm) ### Fixed * 4d16e96bd30016f674f162fc47128d3c108353eb: fix(app): replace single events channel with pubsub.Broker for fan-out (#2663) (@taigrr) * 38a846d334f55c83e170e87a0a65bcdd00c8b4a3: fix(hooks): recompile matchers after config reload (@meowgorithm) * 2be20248403dc5d2470c3e73a86a04eb40224322: fix(hyper): re-auth at selection time to ensure provider availability (@meowgorithm) * cfcffd216122c42dbeb6a47a1df5733129fbda5a: fix(styles): fix some regressions where colors were incorrect (@meowgorithm) * 09a112040fb774e9799dc611736baf405e438b1d: fix(ui): notification width and text truncation (@meowgorithm) * 64c47cbbb3f0825432876786fb72737089732f55: fix(ui): restore 'update available' notification (@meowgorithm) * 066fb5a1166bdbe4ca7012cd1d5a5051d9d5d3d2: fix: remove unused build (#2734) (@BrunoKrugel) ### Other stuff * 81fbaca81c2221fd60c660e5902f310d2b3a5148: chore(hyper): update endpoint to new one (@andreynering) * 8ebab21f60d8b5471398422a13a0a44664fb3ac5: chore(styles): clean up theme definitions (@meowgorithm) * 9d4653e8c9436c59d3633599bbb400e4ce286f40: chore(styles): use hypercrush theme when hyper is selected (@meowgorithm) * 9c4a3162ec8bef5703d8920d442e373032567bc1: chore(ui,styles): color edits and copyedits for the oAuth view (@meowgorithm) * b07664e3570a3bef19f52c39cafa400dba876c0b: chore: auto-update files (@charmcli) * 86bb80559238480bb88739361400f32c866037bb: fix(tools/job_kill): use longer job_kill desc to improve reliability (#2747) (@meowgorithm) * c84ca2d92f42d52e3a6fdedc33c8df1b76e7a936: refactor(hooks): move matcher compilation into the runner (@meowgorithm) --- <details> <summary>Verifying the artifacts</summary> First, download the [`checksums.txt` file](https://github.com/charmbracelet/crush/releases/download/v0.64.0/checksums.txt) and the [`checksums.txt.sigstore.json` file](https://github.com/charmbracelet/crush/releases/download/v0.64.0/checksums.txt.sigstore.json) files, for example, with `wget`: ```bash wget 'https://github.com/charmbracelet/crush/releases/download/v0.64.0/checksums.txt' wget 'https://github.com/charmbracelet/crush/releases/download/v0.64.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).