Skip to content

Releases: charmbracelet/crush

nightly

26 Aug 00:55
Compare
Choose a tag to compare
nightly Pre-release
Pre-release

Verifying the artifacts

First, download the checksums.txt file, for example, with wget:

wget 'https://github.com/charmbracelet/crush/releases/download//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//checksums.txt.pem' \
  --signature 'https://github.com/charmbracelet/crush/releases/download//checksums.txt.sig' \
  ./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:

sha256sum --ignore-missing -c checksums.txt

Done! You artifacts are now verified!

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.

v0.7.1

21 Aug 18:36
Compare
Choose a tag to compare

Fix: win32 Input Mode + Termux Support

This release contains a fix for terminal emulators on Windows that don't support win32 input mode.

Terminals in Windows that don't support win32 input mode were behaving incorrectly, which is the large majority of terminal emulators outside Windows Terminal. This release fixes that. As part of the fix, we had to temporarily revert the Windows Terminal paste enhancements released on v0.7.0 to fix the issue for the other terminals. Once we're able to address that issue, we'll re-add that feature.

This release should also fix the .deb package for Termux on Android.

Thanks for using and Crush and keep sending your feedback! 💘

Changelog

Fixed!


Verifying the artifacts

First, download the checksums.txt file, for example, with wget:

wget 'https://github.com/charmbracelet/crush/releases/download/v0.7.1/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.7.1/checksums.txt.pem' \
  --signature 'https://github.com/charmbracelet/crush/releases/download/v0.7.1/checksums.txt.sig' \
  ./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:

sha256sum --ignore-missing -c checksums.txt

Done! You artifacts are now verified!

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.

v0.7.0

20 Aug 21:40
Compare
Choose a tag to compare

Fast Windows Paste + Crushing .crush

This is a solid lil’ release that makes Crush on Windows way better and really matures how we're handling about the .crush dir. Read on!

Pasting on Windows is fast now

Remember how pasting in Windows was slow? Not anymore. @aymanbagabas worked a small miracle to enable bracketed paste on Windows without losing the deep, high fidelity interaction we'd normally have to relinquish to get bracketed paste. Enjoy!

Crushing the .crush dir

This release also contains a bunch of improvements around the .crush directory, which contains Crush state.

  • @tazjin added a new --data-dir (-D) flag that allow you to choose a custom path for .crush directory. Note that it was already possible to set that in the config via the data_directory setting.
  • If a .crush dir exists in a parent directory Crush will now find that and use it, similar to how git finds .git directories in parents. This means that you can move into a subdirectory of your project and Crush will be able to reuse the same data dir from the main workspace.

Bonus

Last but not least, we fixed a gnarly, bug made that occasionally made the initial model selector stop responding to keypresses. Oof!

Thank you for all your support and contributions—keep it coming! We love ya! 💘

Changelog

New!

Fixed


Verifying the artifacts

First, download the checksums.txt file, for example, with wget:

wget 'https://github.com/charmbracelet/crush/releases/download/v0.7.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.7.0/checksums.txt.pem' \
  --signature 'https://github.com/charmbracelet/crush/releases/download/v0.7.0/checksums.txt.sig' \
  ./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:

sha256sum --ignore-missing -c checksums.txt

Done! You artifacts are now verified!

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.

v0.6.3

18 Aug 20:53
Compare
Choose a tag to compare

Performance, QoL improvements and lots of bug fixes!

This release enhances performance, fixes many bugs, improves security, add some Quality of Life™ features.

Highlights:

  • The security was enhanced in the matter of which commands the model is allowed to run.
  • Crush is now compiled using the brand new Go's GreenTea Garbage Collection. This means a lower memory footprint, smaller CPU usage, and fewer freezes.
  • The .crush directory created in your workspace will now by ignored by Git by default (no more manual .gitignore inclusions).
  • It's now possible to set custom environment variables to be passed by LSP servers.
  • Some possible panics and other small bugs were fixed!

Changelog

New Features

Security updates

Bug fixes and improvements

Other work


Verifying the artifacts

First, download the checksums.txt file, for example, with wget:

wget 'https://github.com/charmbracelet/crush/releases/download/v0.6.3/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.6.3/checksums.txt.pem' \
  --signature 'https://github.com/charmbracelet/crush/releases/download/v0.6.3/checksums.txt.sig' \
  ./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:

sha256sum --ignore-missing -c checksums.txt

Done! You artifacts are now verified!

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.

v0.6.2

15 Aug 12:53
v0.6.2
Compare
Choose a tag to compare

Lil’ Patch

This is patch release that removes the provider timeout which could cause long sessions to cancel. There are some other fixes well.

Also, Crush is now available for Termux on Android, so you can Crush on the move.

💘 Thanks for all the support!

Changelog

Fixed!

Other Stuff


Verifying the artifacts

First, download the checksums.txt file, for example, with wget:

wget 'https://github.com/charmbracelet/crush/releases/download/v0.6.2/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.6.2/checksums.txt.pem' \
  --signature 'https://github.com/charmbracelet/crush/releases/download/v0.6.2/checksums.txt.sig' \
  ./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:

sha256sum --ignore-missing -c checksums.txt

Done! You artifacts are now verified!

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.

v0.6.1

14 Aug 18:02
v0.6.1
5af4d19
Compare
Choose a tag to compare

MCPs Stability, Better LSPs, and a Barrel o’ Fixes

This is another quality of life release around MCPs and bug fixes. Read on for details.

💘 Thanks for using Crush and for all your contributions!

MCP Stability

MCP servers are like people: sometimes reliable and sometimes not. Crush will now restart or reconnect to MCPs when necessary and eventually timeout. The default timeout is 15 seconds, but you can customize timeouts per MCP in the config:

"mcp": {
  "example": {
    "type": "http",
    "url": "https://example.org/mcp/",
    "timeout": 30
  }
}

Restrict LSPs to Filetypes

Now you can restrict LSP servers to specific file types in your config for improved efficiency. Here's how:

"lsp": {
  "Go": {
    "command": "gopls",
    "filetypes": [
      "go",
      "mod",
      "sum",
      "work"
    ]
  }
}

“But shouldn't you restrict known language servers to certain filetypes by default, you ask?" Yes, as a matter of fact, we have filetype associations for the following:

  • bash-language-server
  • clangd
  • elixir-ls
  • gopls
  • jdtls
  • lua-language-server
  • pylsp
  • pyright
  • rust-analyzer
  • solargraph
  • typescript-language-server
  • vscode-css-languageserver
  • vscode-html-languageserver
  • vscode-json-languageserver
  • vtsls
  • yaml-language-server
  • zls

Don’t your fave LSP here (ahem haskell-language-server)? Just send a PR.

Shredding bugs

This release also contains a barrel o’ bugs in this UI improving Gemini (thanks @samiulsami), LSPs (thanks @liznear), User interface, performance in the raw Linux console and more.

Changelog

New!

Bug fixes and improvements

Other stuff


Verifying the artifacts

First, download the checksums.txt file, for example, with wget:

wget 'https://github.com/charmbracelet/crush/releases/download/v0.6.1/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.6.1/checksums.txt.pem' \
  --signature 'https://github.com/charmbracelet/crush/releases/download/v0.6.1/checksums.txt.sig' \
  ./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:

sha256sum --ignore-missing -c checksums.txt

Done! You artifacts are now verified!

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.

v0.6.0

13 Aug 20:44
v0.6.0
e0042b4
Compare
Choose a tag to compare

Power Steering

Sometimes LLMs do what you want. Other times, they don't. That's why we're introducing Power Steering. When the model's working you can queue up messages for it to pick up in between tool calls, or when it's simply finished with its task. To clear messages, simply press esc.

Also: Fixes

There are also a handful of solid bug fixes in this release: details the changelog below. Thanks for using Crush and stay tuned for more good stuff. We have a lot in the pipe!

Changelog

New!

Fixed!

Other Stuff


Verifying the artifacts

First, download the checksums.txt file, for example, with wget:

wget 'https://github.com/charmbracelet/crush/releases/download/v0.6.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.6.0/checksums.txt.pem' \
  --signature 'https://github.com/charmbracelet/crush/releases/download/v0.6.0/checksums.txt.sig' \
  ./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:

sha256sum --ignore-missing -c checksums.txt

Done! You artifacts are now verified!

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.

v0.5.0

11 Aug 21:18
Compare
Choose a tag to compare

Perf, Default Diff Mode, and Community

This release contains a bunch of good stuff from the community. @tazjin went deep into the Charm ecosystem and tuned perf all the way up. @ras0q, a Crush contributor extraordinaire, fixed a solid bug with Gemini and retries. @bbrodriges added a setting for default diff mode. Find it all in the changelog below.

What’s your fave diff mode?

@bbrodriges definitely has a favorite diff mode. We have no idea what it is, but it's important enough to him that he added a feature that allows you to set this in the config. Valid options are unified and split. Here’s what the config looks like:

{
  "options": {
    "tui": {
      "diff_mode": "unified",
    }
  }
}

Changelog

New!

Perf

Fixed!


Verifying the artifacts

First, download the checksums.txt file, for example, with wget:

wget 'https://github.com/charmbracelet/crush/releases/download/v0.5.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.5.0/checksums.txt.pem' \
  --signature 'https://github.com/charmbracelet/crush/releases/download/v0.5.0/checksums.txt.sig' \
  ./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:

sha256sum --ignore-missing -c checksums.txt

Done! You artifacts are now verified!

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.

v0.4.0

08 Aug 21:10
v0.4.0
a47d761
Compare
Choose a tag to compare

Yolo, Builtins, Perf and More Mouse

Another day, another release. We've been working hard on Crush! Let's see what's new.

Yolo on Demand

Yolo Mode is when you bypass all permission dialogs and let Crush run free.

So far, you've been able to start Crush in Yolo Mode with crush --yolo. The thing about yolo'ing, however, is that you never know when the desire to yolo might strike. That's why we added a yolo toggle to the menu. Just press ctrl+p and choose Toggle Yolo Mode to yolo and un-yolo to your heart's content.

Warning

Yolo Mode is cray cray and can theoretically really mess stuff up. Be careful.

Mouse Around Your Diffs

Real developers use mice. That’s why we introduced mouse mode in the diff view. Keep using those mice!

Windows Powerups

We love Windows. It's great for gaming, and great for Crushing. Windows users now have the following coreutils built-in:

  • base64
  • gzip
  • mktemp
  • shasum
  • tar

For everyone else: because these utilities are now compiled in they're much faster as there's no longer a need to shell out to them.

CPU: Now Less CPU-y

We did some work deep under the hood to prevent rogue CPU spikes, so Crush should now run better than ever.

Env Prefixes

Want to restrict environment variables to Crush? Thanks to @taigrr, now you can with a CRUSH_ prefix. So go on, set that CRUSH_ANTHROPIC_API_KEY.

Thank You

💘 Your feedback's been so helpful in helping us understand what you want where your pain points are. Thanks, everyone, and please keep it coming.

Changelog

New!

Fixed!

Perf

Other Stuff


Verifying the artifacts

First, download the checksums.txt file, for example, with wget:

wget 'https://github.com/charmbracelet/crush/releases/download/v0.4.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.4.0/checksums.txt.pem' \
  --signature 'https://github.com/charmbracelet/crush/releases/download/v0.4.0/checksums.txt.sig' \
  ./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:

sha256sum --ignore-missing -c checksums.txt

Done! You artifacts are now verified!

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.

v0.3.0

07 Aug 19:28
13a3e6a
Compare
Choose a tag to compare

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.

An example of text selection with a mouse in Crush

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.

An example of drag and drop in Crush

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!

Fixed!

Other stuff


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.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:

sha256sum --ignore-missing -c checksums.txt

Done! You artifacts are now verified!

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.