Small things + killin' bugs
Hey all. This release includes some small goodies and fixes. Let's take a look.
Exited is alised to Quit
When filtering for commands in the command dialog, "exit" will be properly return the "quit" command.
New flat_rate provider config
If you want to skip cost calculation for a given provider, you can now set it as a flat rate provider on your crush.json. This is useful when using subscription, where the cost is theorically zero as you're not really paying per token.
This is nicely done by @huaiyuWangh.
{
"providers": {
"my-favorite-provider": {
"flat_rate": true
}
}
}Show error if project initialization fails
Another one from @huaiyuWangh. If the project initialization fails, Crush will now properly show in the staatus bar that it failed.
Fixed model stopping after Glob
In certain scenarios, the model could stop working when no files were returned in a glob tool call. We now fixed it, so the model will keep working.
Fixed context window issue with background jobs
When the model inspected the output of a background job, it would fill the context window if the output is too large. We're doing the same as regular Bash command: truncating large output to something reasonable.
Fixed behavior on invalid tool call
When the model called a tool with invalid parameters, it could hang the session. @mkaaad worked on a fix to ensure the error is reported to the model so it can continue to work.
There are a few more fixes, but those make a good highlight.
Enjoy your weekend and keep Crushing!
Charm ™️
Changelog
Fixed
- 5816fad: fix(agent): support flat_rate cost handling (#2116) (@huaiyuWangh)
- 8bc4a75: fix(config): atomically update multiple fields during oauth (@taciturnaxolotl)
- 11eabdf: fix(errors): surface errors in subagents (@taciturnaxolotl)
- ae1c95a: fix(posthog): do not discard custom properties of an error (#2829) (@andreynering)
- abeaff0: fix(pubsub): respect channelBufferSize parameter in Subsribe (@yeonuk-hwang)
- 89181a6: fix(tools): don't return a go error on glob tool failure (@taciturnaxolotl)
- 5aad790: fix(tools): fix a potential nill crash in cached glob results (@taciturnaxolotl)
- 44ece2c: fix(tools): truncate long running background commands to 30k chars (@taciturnaxolotl)
- a924ca1: fix(tui): show initialization mark errors in status footer (#2825) (@huaiyuWangh)
- 95e93e9: fix(ui): add exit alias to the quit command (@taciturnaxolotl)
- b90bcc3: fix(ui): allow oauth modals to consume enter (@taciturnaxolotl)
- 086cfda: fix: update fantasy with tool call fixes (#2839) (@andreynering)
Docs
- 3b9b361: docs(readme): document
HYPER_API_KEY(@andreynering) - d5b4765: docs(readme): fixed typo in hooks (#2801) (@ardevd)
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.66.1/checksums.txt'
wget 'https://github.com/charmbracelet/crush/releases/download/v0.66.1/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.