v0.78.0
Bang Bang!
We're ending the week in style with one awesome feature you've been asking for and one awesome feature you didn’t! Let’s go!
Bang Mode
“What’s bang mode?" you ask. Why it’s simply a nice way to let you run Bash commands directly in a session. It’s great for taking advantage of the shell without leaving Crush. To enter bang mode, just type a !. To exit, hit backspace.
Of course, the best thing about bang mode is that the model can also see the out, so if you run a command you can then chat with the model about it.
Special thanks to @taigrr for the initial implementation to @taciturnaxolotl for turning it up several notches, with some suggestions from @nobilelucifero. Enjoy and let us know if you have of any feedback!
Local Model Auto-Discovery
@taciturnaxolotl loves local models. What he did not love was manually adding them to the Crush, and like a true open source devotee, and he took matters into his own hands. Crush can now auto-discover local models for a given endpoint so you don't have to declare them manually.
This works for MLX, LMStudio, LiteLLM and Ollama. More info in the README.
(Is cool or what? Someone get @taciturnaxolotl a Strix Halo!)
The clipboard: now clipper than ever
We improved the way the clipboard works in Crush big time, particularly in X11 and Wayland: xclip and xsel are no longer required! You can also paste TIFFs (WeChat users, rejoice!) and super+v (yes, ⌘+v, macOS people) will also now paste images.
Fireworks
By popular demand Crush now supports a new provider: Fireworks! Grab your API key, choose a model on Fireworks and go to town.
Thanks
As always keep the good vibes coming, and keep crushing It!
The Charm™ Team
Changelog
New!
- 98d79e9: feat(clipboard): migrate clipboard to golang.design/x/clipboard (@taciturnaxolotl)
- f6a841e: feat(dialog): track last closed dialog in open with grace (@taciturnaxolotl)
- 0f27905: feat(enricher): add litellm enricher (@taciturnaxolotl)
- 3c4e654: feat(enricher): add lmstudio enricher (@taciturnaxolotl)
- 9299ad4: feat(enricher): add ollama enricher (@taciturnaxolotl)
- 89b680d: feat(enricher): add omlx enricher (@taciturnaxolotl)
- ac4bd9c: feat(scrolling): move to delta coalescing filter (#3135) (@taciturnaxolotl)
- f45712a: feat(ui): extract hypercredits from fantasy (@taciturnaxolotl)
- 99a5fad: feat: add bang mode for direct shell command execution (#3013) (@taigrr)
- 9886d22: feat: add support for fireworks provider (@andreynering)
- 7303158: feat: auto-discover models from openai-compat providers (@taciturnaxolotl)
Fixed
- 4bd0116: fix(clipboard): support platforms without clipboard access (@taciturnaxolotl)
- f98791e: fix(server): show LSP status in client-server mode (@meowgorithm)
- d3af321: fix(shell): isolate child processes from Crush's session (#3097) (@taciturnaxolotl)
- 1cfa9a1: fix(subagents): fixed subagents returning empty responses (#3125) (@taoeffect)
- 46c1799: fix(title): fallback title generation (@taciturnaxolotl)
Docs
- 70ef707: docs: add auto discovery to readme (@taciturnaxolotl)
Other stuff
Verifying the artifacts
First, download the checksums.txt file and the checksums.txt.sigstore.json file files, for example, with wget:
wget 'https://github.com/charmbracelet/crush/releases/download/v0.78.0/checksums.txt'
wget 'https://github.com/charmbracelet/crush/releases/download/v0.78.0/checksums.txt.sigstore.json'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' \
--bundle 'checksums.txt.sigstore.json' \
./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 X, Discord, Slack, The Fediverse, Bluesky.



{ // Look Ma, no manual model definitions! "providers": { "ollama": { "name": "Ollama", "base_url": "http://localhost:11434/v1/", "type": "ollama" } } }