v0.24.0
charmbracelet/crushv0.24.0Dec 12, 2025by github-actions[bot]
AI Summary
Release v0.24.0 of Crush introduces a new to-do list feature (Charm-style) for better task execution, and upgrades the non-interactive `crush run` mode with output redirection and pipe support. The release also includes various bug fixes for rendering, UI scrolling, and the edit tool.
Key Highlights
- New first-class to-do list feature for Crush with Charm-style integration
- Added output redirection and pipe support to non-interactive `crush run` mode
- Fixed list wrap behavior for unfocusable items in TUI
- Fixed list highlight selection scrolling in UI
- Fixed edit tool error on new file creation due to logical fallthrough
New Features
- Todo tool - a first-class to-do list for Crush that creates to-dos as-needed for better task execution
- Output redirection and pipe support for `crush run` in non-interactive mode (e.g., `crush run "command" > output.txt` or `cat file | crush run "command"`)
Full Release Notes
# To-Dos and More! At last to-dos! We also made some improved noninteractive Crush and hardened things all around. Read on! ## To-Dos Apparently, LLMs are just like people: they _need_ a to-do list to get anything useful done. That why we’ve finally granted Crush a first class to-do list, Charm-style. Now Crush will create to-dos list as-needed for better execution on tasks. <p><img src="https://github.com/user-attachments/assets/f79b6d28-c3eb-4137-8867-2cdb67983f6e" width="960"></p> Does this mean that (with the right MCP) you can use Crush for grocery shopping? Why the heck not. ## U so Fancy, Crush Run There are a lot of people using Crush in sneaky places with its non-interacive (and super yolo) mode: `crush run`. As true command line connoisseurs, we've upgraded `crush run` to support output redirection (or pipes, if you will). ``` cat Taskfile | crush run "add descriptions please" crush run "Summarize this project" > summary.md crush run "Rate my Pokémon collection" < Pokedex.md > Pokerating.md ``` ## Bugz We and the community crushed a bunch around rendering (thanks @aymanbagabas!), user interface (thanks @dawndiy!), and tools (thanks @Gustave-241021!). That's all for now, but we have lots more on the way. Enjoy your weekend and maybe eat a burger. 🍔 —Charm 💋 ## Changelog ### New! * 88831a1b004e3dd44d72023ee283e95e84c27a4d: feat: todo tool (@kujtimiihoxha) ### Fixed * 36d471b68228d1abfa68577fdcbb0fa1f20ac56a: fix(noninteractive): support output redirection (aka, pipes) (#1594) (@meowgorithm) * cc08edc9b388af373404b339d138607b39b1681e: fix(tui): fix list wrap behave when it has unfocusable items (#1312) (@dawndiy) * 2d43901fe3faedf9c057daa1bd2095946e6aa6a1: fix(ui): list highlight selection scrolling (#1575) (@aymanbagabas) * 2e466d841c1355a883565a0b35d750739a760123: fix: edit tool error on new file creation due to logical fallthrough (#1566) (@Gustave-241021) ### Other stuff * 448b78ba38f10f3007be8f663e084e6ca1f7a7a9: chore: bump bubbletea and ultraviolet to fix non en lang rendering (@aymanbagabas) * c5d2ccb35d4564bef66cf3b7d8dbaa7d6a206e6d: chore: update bubbletea to latest rc2 version (@aymanbagabas) --- <details> <summary>Verifying the artifacts</summary> First, download the [`checksums.txt` file](https://github.com/charmbracelet/crush/releases/download/v0.24.0/checksums.txt) and the [`checksums.txt.sigstore.json` file](https://github.com/charmbracelet/crush/releases/download/v0.24.0/checksums.txt.sigstore.json) files, for example, with `wget`: ```bash wget 'https://github.com/charmbracelet/crush/releases/download/v0.24.0/checksums.txt' wget 'https://github.com/charmbracelet/crush/releases/download/v0.24.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).