← Crush
Crush v0.95.0
pricing2026-09-16 · official notes
Summary
- Hello, Plan Mode
- This release introduces many improvements but, most importantly, and a solid new feature from one of our very talented contributors:
- <p><img width="600" src="https://github.com/user-attachments/assets/8118b573-6d41-4cfd-a602-141b5e59f28e" /></p>
Full notes
# Hello, Plan Mode
This release introduces many improvements but, most importantly, and a solid new feature from one of our very talented contributors:
## Let’s plan
<p><img width="600" src="https://github.com/user-attachments/assets/8118b573-6d41-4cfd-a602-141b5e59f28e" /></p>
At last, thanks to the very talented work of @vadiminshakov and @andrinoff, we present the long awaited Plan Mode.
Plan Mode is for…planning. Talk to the agent, answer questions, and put together a plan and then, when you’re ready, get to to work. You can activate plan mode with <kbd>shift+tab</kbd>.
## Juicing more perf
@andreynering and @taciturnaxolotl marched forward in the quest for max perf in this release. Details below.
That's all for now. See you soon!
Cheers,
Charm xx 🌟
## Changelog
### New!
* 1648f10ac039e126635e26d4a16647331b2d6f0c: feat: add plan mode (#2822) (@vadiminshakov)
### Fixed
* 051fb37ae1d6bd6d6f2f6cbc8a629d5f85aa9bd7: fifix(ui): color the to-do task name while the tool is still running (@taciturnaxolotl)
* 2019da14717e4e00aeee7664873c6b78f147a3eb: fix(tui): unfreeze spinner clock when the boot busy probe lands (#3839) (@andreynering)
* fd58b5ed201f490641d018cab6f06a29cdaff2c0: fix(ui): read the session transcript off the event loop (@taciturnaxolotl)
### Other stuff
* d55e017d60cdb87ecb21a19a9fed9a2097c0da64: perf(agent): read only the post-summary tail of a compacted session (@taciturnaxolotl)
* 978d49d53f9343f2e57406cc503daddf282e12ae: perf(db): cap prompt history at the 200 most recent messages (@taciturnaxolotl)
* 296b5c396260ece70fdceed288ed25c7a99ba349: perf(db): index messages by role so user-message reads stop scanning (@taciturnaxolotl)
* 595f625f19a6a186307b911d59dd37c764541251: perf(message): decode message parts in one structural pass (@taciturnaxolotl)
* 9207cb2c053ecbe3ec5c0c3985b746877c1f322d: perf(ui): skip the global prompt-history scan when a session is loading (@taciturnaxolotl)
---
<details>
<summary>Verifying the artifacts</summary>
First, download the [`checksums.txt` file](https://github.com/charmbracelet/crush/releases/download/v0.95.0/checksums.txt) and the [`checksums.txt.sigstore.json` file](https://github.com/charmbracelet/crush/releases/download/v0.95.0/checksums.txt.sigstore.json) files, for example, with `wget`:
```bash
wget 'https://github.com/charmbracelet/crush/releases/download/v0.95.0/checksums.txt'
wget 'https://github.com/charmbracelet/crush/releases/download/v0.95.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).
Weekly digest: every breaking change, retirement and price change across 20+ coding agents, one email.
Form not loading? Subscribe here.