Mice, OpenAI, and You
Crush v0.3.0 is here with highly anticipated mouse selection, OpenAI provider improvements, and lots of little fixes and improvements. Enjoy the release and keep the feedback coming!
Copying Text, with a Mouse
Selecting text with a mouse. It's as natural as craving love and shelter. Crush now supports it, so go ahead and select text with a mouse to your hearts' content.
Drag Race
You can now drag images into Crush in almost any terminal; even Apple Terminal. The visible world is at your fingertips! Just note that not all models can process images.
OpenAI
We improved prompts for OpenAI models and introduced support for minimal reasons. You're welcome, Sam.
GPT-5
Speaking of OpenAI, GPT-5 was released today Crush supports it out of the box! Have fun!
Nixpkgs
Crush is on Nixpkgs unstable now! Just keep in mind it can be slightly behind the latest version, so for best results, use Crush the NUR. For details see the installation instructions.
Changelog
New!
- 3d91fd0: feat(chat): copy selected text in chat messages via keybind (@aymanbagabas)
- a6ad0d9: feat(tui): chat: add copy and clear selection keybinds to help (@aymanbagabas)
- f0377a3: feat(tui): chat: clear selection on esc (@aymanbagabas)
- 8566940: feat(tui): chat: support double-click to select and copy text after (@aymanbagabas)
Fixed!
- 6b54574: fix(chat): expose copy key binding (@aymanbagabas)
- 7e58d53: fix(chat): focus chat and editor on mouse click (@aymanbagabas)
- 3671bd0: fix(list): include inbetween empty lines when selecting text (@aymanbagabas)
- c770a8a: fix(tui): editor: sanitize pasted paths (@aymanbagabas)
- b0b85e6: fix: add $schema to jsonschema (@caarlos0)
- 2e30226: fix: handle compact mode (@kujtimiihoxha)
- 3280b4a: feat: support reasoning model minimal in OpenAI (@kujtimiihoxha)
- 567b778: feat(list): selection colors (@meowgorithm)
- ce1a674: fix: bump bubbles to fix textarea cursor issue (@aymanbagabas)
- d8da2fb: fix: handle smaller text than screen size (@kujtimiihoxha)
Other stuff
- 1f8bc4e: chore(list): add HasSelection method and selectionView for text-only output (@aymanbagabas)
- 926f30d: chore: remove cache from prefix (@kujtimiihoxha)
- 31dc01e: chore: rename default theme + infer default theme name (#570) (@meowgorithm)
- 45e4e27: chore: update openai prompt (@kujtimiihoxha)
Verifying the artifacts
First, download the checksums.txt file, for example, with wget:
wget 'https://github.com/charmbracelet/crush/releases/download/v0.3.0/checksums.txt'Then, verify it using cosign:
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' \
--cert 'https://github.com/charmbracelet/crush/releases/download/v0.3.0/checksums.txt.pem' \
--signature 'https://github.com/charmbracelet/crush/releases/download/v0.3.0/checksums.txt.sig' \
./checksums.txtIf the output is Verified OK, you can safely use it to verify the checksums of other artifacts you downloaded from the release using sha256sum:
sha256sum --ignore-missing -c checksums.txtDone! You artifacts are now verified!
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.

