Releases: charmbracelet/crush
nightly
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!
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.
v0.7.1
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!
- ccf55b8: fix(windows): downgrade ultraviolet to fix non-win32 terminals on windows (#856) (@andreynering)
- 255f5e3: ci: fix termux dirs (#822) (@caarlos0)
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!
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.
v0.7.0
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 thedata_directory
setting. - If a
.crush
dir exists in a parent directory Crush will now find that and use it, similar to howgit
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!
- f74abf2: feat(cmd): support overriding the data directory (@tazjin)
- 84bd324: feat(fsext): add function to search for something in parent directories (@andreynering)
- 897796e: feat: add
fsext
function to get owner of directory (@andreynering) - f3a8061: feat: if a
.crush
directory is present in a parent dir, use that (@andreynering)
Fixed
- 26481f0: chore: bump bubbletea and ultraviolet to support win32 input mode (#838) (@aymanbagabas)
- 8f45a84: fix(fsext): stop traversing if the directory owner changes (@andreynering)
- 4c8d4a5: fix(onboarding): fix onboarding screen freezing when on click on it (@andreynering)
- da667ce: fix: scrolling the editor after paste (#466) (@aymanbagabas)
- 0c31481: fix: treat data directory the same in logs as elsewhere (@tazjin)
- ca6a55a: refactor: improve check a little bit (@andreynering)
- 172df74: refactor: move
HomeDir()
tofsext
package (@andreynering)
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!
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.
v0.6.3
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
panic
s and other small bugs were fixed!
Changelog
New Features
- 82c0aff: feat(lsp): allow to set custom env to lsp servers via config (#778) (@bbrodriges)
- c5c8bfd: feat: create
.crush/.gitignore
automatically (@andreynering)
Security updates
- 74bcdaf: sec: remove
go
from safe programs (#820) (@caarlos0) - b449229: fix(shell): block
go test -exec
and ensure it works using equals (@andreynering) - cbdd2e5: fix(shell): refactor arguments blocker to check for flags in any position (@andreynering)
Bug fixes and improvements
- 2437feb: fix(llm): log error when retrying (#781) (@caarlos0)
- e2dc8e1: fix(tui): fix model filter placeholder text (#790) (@lpmitchell)
- 63e53f1: fix(tui): prevent dialog keymaps from being swallowed (#782) (@uri)
- a02bd99: fix: Expose Required params to Anthropic API (#752) (@neomantra)
- 117c6b6: fix: Update erro msg for bash tool (#803) (@sainadh-d)
- d86f739: fix: fix panic that can happen on sending a message (#817) (@andreynering)
- 2d2ee7f: refactor: have shorter argument name (@andreynering)
- 9eb207f: refactor: migrate bool to empty struct for lower memory usage (@andreynering)
- 532b473: refactor: remove duplicated
emerge
entry (@andreynering)
Other work
- 6a4398e: chore(go): upgrade to go 1.25 and enable
GOEXPERIMENT=greenteagc
(@andreynering) - 915fda5: chore(taskfile): set
CGO_ENABLED=0
by default (@andreynering) - 5a99685: chore: fix
golangci-lint
locally (#815) (@andreynering) - fd4baa4: chore: set commit authors to @charmcli (#614) (@caarlos0)
- 5be56ec: feat: add
IsSubset
helper (@andreynering)
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!
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.
v0.6.2
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!
- 0354fef: fix(fsext): prevent
.*
on gitignore from ignoring entire root dir (#766) (@jamestrew) - 169b63f: fix(keyboard-input): operate on characters, not bytes (@meowgorithm)
- 8b12e09: fix(lint): correct shadowed variable (@meowgorithm)
- 1bc41c8: fix(tui): guard against panics in map member access (@meowgorithm)
- 2eaad51: fix: remove llm timout (@kujtimiihoxha)
Other Stuff
- 3c82e31: ci(goreleaser): start releasing for android / termux (#780) (@andreynering)
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!
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.
v0.6.1
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!
- 90097e9: feat(lsp): add filetypes configuration (#666) (@caarlos0)
- bc52493: feat(mcp): configurable MCP timeout (@caarlos0)
- 5af4d19: feat(mcp): ping and recreate mcp client if needed (#772) (@caarlos0)
Bug fixes and improvements
- 5ff0f32: fix(gemini): fix tool calls for google gemini (#779) (@samiulsami)
- 16f5400: fix(lint): check length before slicing to avoid a panic in list (@meowgorithm)
- 0f403fe: fix(llm): set request timeout (#736) (@caarlos0)
- f8da476: fix(lsp): return a copy of lsp diagnostics to avoid data race (#681) (@liznear)
- 57df1f9: fix(tui): underline quit dialog buttons (#548) (@aymanbagabas)
- dcca5ab: fix(tui): truncate long paths in compact header (#773) (@meowgorithm)
Other stuff
- eb3ef66: chore(deps): bump bubbletea for colorprofile update (@aymanbagabas)
- 64e8235: chore(deps): bump dependencies to fix linux console perf (@aymanbagabas)
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!
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.
v0.6.0
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!
- b550c69: feat: steering (#605) (@kujtimiihoxha)
Fixed!
- 39ede6e: fix(editor): better sorting of files when completing with / (#733) (@caarlos0)
- 073d130: fix(mcp): tool output join with new line (#686) (@caarlos0)
- d795c00: fix: make the queue push the messages above (@kujtimiihoxha)
- 96dcf0d: fix: stdio mcp startups to match mark3labs upgrade (#742) (@taigrr)
Other Stuff
- e0042b4: chore: bump bubbletea to v2.0.0-beta.4.0.20250813191918-4ea1703d4181 (@aymanbagabas)
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!
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.
v0.5.0
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!
- df23e9a: feat(config): allow configure the default diff mode (#454) (@bbrodriges)
Perf
- dce9578: perf: bump glamour/ultraviolet/cellbuf for @tazjin's performance improvements (@aymanbagabas)
- bdb0a4c: perf: reduce gc pressure in rendering pipeline (#687) (@tazjin)
Fixed!
- 9d68f99: fix(gemini): retry at rate limit (@ras0q)
- 705d6f6: fix(sidebar): compute the right line count even on windows / crlf (@andreynering)
- dba44be: fix(sidebar): fix full path appearing on sidebar on windows (@andreynering)
- a3efafc: fix(tool): fix
edit
andmulti-edit
tools on windows (@andreynering and @theguy000)
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!
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.
v0.4.0
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!
- 2917109: feat(diffview): add support for mouse scrolling (@andreynering)
- a47d761: feat: add yolo mode command (#654) (@kujtimiihoxha)
- 65cd249: feat: allow for using CRUSH_ prefixed env-vars without clobbering default env vars (#391) (@taigrr)
Fixed!
- ae3b3d7: fix(mcp): append to output instead of replacing (#658) (@caarlos0)
- 42a346c: fix(mcp): give a time limit for startup (#660) (@caarlos0)
- fd890f1: fix(selection): fix panic that can happen on selection (@andreynering)
- e00a70a: fix(tools): do not truncate output (#657) (@caarlos0)
- 9719451: fix: config.HomeDir sync.OnceValue, use user.Current().HomeDir (@caarlos0)
- 5195f8a: fix: panic:
fuzzy
library doesn't like empty lists (@andreynering) - 1dc7f20: fix: panic: start can't be greater than end (@andreynering)
- a32c16c: refactor: use core utils middleware from
mvdan/sh
(#323) (@andreynering) - fbe879d: fix: improve .crushignore and .gitignore behavior (@caarlos0)
Perf
- ae87e4d: perf: bump bubble tea for improved CPU usage (@aymanbagabas)
- a05b434: perf: make stuff a tad faster (@caarlos0)
Other Stuff
- 1e47f4e: chore(csync.Map): added GetOrSet (@caarlos0)
- fb6dab0: chore(diffview): only process scroll events when pointer is over dialog (@andreynering)
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!
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.
v0.3.0
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.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!
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.