LSP Auto-Discovery and More
Hi! We've been cranking. How about you? This release adds some bugfixes nice quality-of-life features, and Copilot improvements. More below.
Auto-LSP
LSPs in Crush are awesome. What is less awesome is setting them up. Now, with Crush v0.37.0, you don't have to. Crush will auto-detect LSPs and set 'em up as needed. So go on, install that haskell-language-server you've been meaning to, fire up Crush, and get knee-deep in monads.
More Copilot Models
We made all Copilot models available on Crush, which means you'll a few more models available now, particularly Gemini 3 Pro (Preview) and Gemini 3 Flash (Preview).
New UI? What new UI?
We're continuing to iterate, test, and add features the new UI which we're pretending is a secret. Wanna try it? Set CRUSH_NEW_UI=1 in your environment.
Enjoy your weekend!
Charm 💘
Changelog
New!
- c81b02f: feat(lsp): auto-discover LSPs (#1834) (@caarlos0)
- fea878e: feat(mcp): support server side instructions (#2015) (@caarlos0)
- c0a8c7e: feat: allow to disable indeterminate progress bar (#2048) (@caarlos0)
- 3a929ff: feat: filetracker per session (#2033) (@caarlos0)
- 033584c: feat: implement prompt history (#2005) (@kujtimiihoxha)
- aa2cacd: feat: open commands dialog on pressing
/(#2034) (@andreynering)
Fixed
- df2c001: fix(lsp): scope client to working directory (#1792) (@Amolith)
- 216f904: fix(posthog): check correct error; prevent panic (#2036) (@meowgorithm)
- daf786f: fix(stats): resizing breaks pie charts (#2030) (@caarlos0)
- 230b99c: fix(ui): arrow navigation wasnt working when todo view is open (#2052) (@caarlos0)
- 5e384b2: fix(ui): ensure the message list does not scroll beyond the last item (#1993) (@aymanbagabas)
- aae4c30: fix(ui): fix selection of code blocks with tabs inside markdown (#2039) (@andreynering)
- e57687f: fix(ui): fix wrong color on selected item info on dialogs (#2041) (@andreynering)
- 6c26f2a: fix(ui): switch focus on click (#2055) (@andreynering)
- ac03cb0: fix(ui): typo in ListItemStyles type name (@meowgorithm)
- 115adeb: fix(ui): use setState method to change UI state and focus (#1994) (@aymanbagabas)
- 02bb76b: fix: allow HYPER_URL with embedded provider (#2031) (@caarlos0)
- de64b00: fix: decouple thinking/reasoning from provider type (#2032) (@caarlos0)
- b51c2e0: fix: do not scroll to bottom if user has scrolled up (#2049) (@andreynering)
- 3a2a045: fix: improve logs, standardize capitalized (#2047) (@caarlos0)
- 8d3064f: fix: layout calculations when editor has attachments (#2012) (@kujtimiihoxha)
- 699ae40: fix: make the check for sidebar toggle inclusive (#2013) (@kujtimiihoxha)
- 87fad18: fix: make the commands dialog less taller (#2035) (@andreynering)
- 7ace8d5: fix: panic when matching titles in session dialogue (@meowgorithm)
- c3ae230: fix: respect disabled indeterminate progress bar setting on app start (#2054) (@meowgorithm)
- 99aabb0: fix: schema incorrectly marks optional fields as required (#1996) (@huaiyuWangh)
- 4228f75: fix: slice string at the grapheme level, not byte level (@meowgorithm)
- 632666e: fix: typo on
crush statshtml page (@andreynering)
Docs
Other stuff
- c5f0e4d: Handle unknown tool calls in the TUI (#2001) (@kujtimiihoxha)
- 857cc28: perf(ui): string efficiency (@meowgorithm)
- 87c2165: chore:
chmod +x scripts/check_log_capitalization.sh(@andreynering) - 50ae9f2: chore: auto-update files (@charmcli)
- 40869ec: chore: auto-update files (@charmcli)
- 1696e72: chore: update catwalk and its import paths to
charm.land/catwalk(@andreynering) - c6b0a8a: refactor: terminal capability handling (#2014) (@aymanbagabas)
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.37.0/checksums.txt'
wget 'https://github.com/charmbracelet/crush/releases/download/v0.37.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.