Skip to content
C

Crush v0.88.0

Released · Charm

Breaking

What the release notes say

.crushrc is here!

Hey! Hope everybody had a great week. We were pretty productive at Charm and we're releasing some cool stuff today.

Bash configuration! (.crushrc)

Yep, .crushrc has come! You existing JSON config still works, but we just started migrating to something a lot more flexible!

An example on why this is cool: if you manage Crush config in a dotfiles repo, you can still have machine-specific overrides by using source to call a separate file that will be in your .gitignore. I'm sure there are many other use cases.

To read the full documentation on this, read this document.

See a snipped so you have an idea on how it looks:


# Add Ollama.

provider add ollama --type ollama --base-url "http://localhost:11434/v1"

# Register a model on Ollama.

model add ollama/llama3.3 --name "Llama 3.3" --context-window 128000

# Auto-approve some tools.

permissions allow view edit

# Add an MCP server

mcp add github \
  --type http \
  --url "https://api.githubcopilot.com/mcp/" \
  --header Authorization "Bearer $GITHUB_TOKEN"

# Load some extra config

source "$XDG_CONFIG_HOME/squid-config.sh"

# Change config based on the machine you're on.

if [[ $HOSTNAME == "babysquid" ]]; then
    option skill-path "$HOME/squid-skills"
fi

Want to give feedback? Join the #crush channel on Discord.

Better AWS Bedrock SSO support

@jan-xyz did a great job bringing this one to life!

When using AWS Bedrock via SSO, tokens expire with time and need to be refreshed. Crush now has a proper configuration and UX for authenticating, and it will appear whenever tokens need to be refreshed.

To read more about it, see #2886.

<img width="572" height="231" alt="Screenshot 2026-07-31 at 18 04 21" src="https://github.com/user-attachments/assets/993034d2-89d2-42f4-ba9c-30b01a1debd6" />

More reliable Agent Fetch

@sven2718 contributed with better retries in searches when they don't work in the first try. Searches will be more reliable now, specially when doing many in a short period of time.

Fix for Fable 5

@sven2718 also contributed with a fix for Fable 5. When Anthropic decides to reject your prompt for security reasons, we'll now a proper error message in Crush. Before, Crush would just stop without giving context on why.

Crush now compiles on IlluminOS

Never heard of IllumiOS? Neither none of us at Charm, but @timotheosh adjusted the code to ensure it compiles there now!

Go compiles to many environments, and it's always fun to see Crush working on more operating systems! By the way, do you know you can use Crush on Android? :robot:

Enhanced MCP OAuth

In the last release, we shipped support for OAuth authentication for MCPs.

@BrunoKrugel did a few fixes to make more MCPs that require OAuth work as expected.

Agentic fixes

Quite a few fixes were made to Crush as an agent as well. Some of these were made on Fantasy and brought to Crush.

New Hyper models

Not less important, we keep bringing updates to Hyper, which is more stable than ever and has Minimax M3 and Qwen3.7-Flash avalable now.


A lot happened this week! We hope you enjoy, and Keep Crushing :tm:! Charm

Changelog

New!

  • 9e3ed61cfb6e1a6f087fef45e3a76faa9289a01e: feat(bedrock): retry the turn automatically after AWS SSO re-auth (@jan-xyz)
  • 7810d0382d8d7699ddbaa2f9bbc484d5e6daaace: feat(config): apply top-level env vars on startup (@jan-xyz)
  • 155072b32603bb0ebc2594fc90c2e47e25d2f566: feat(noninteractive): make the spinner text use terminal default (@taciturnaxolotl)
  • 1c074540c33e76b22bb3536541a9422e05a63404: feat(oauth): give the browser redirect a real landing page (@taciturnaxolotl)
  • c74146308cf8a02a3ebace4af07fa78acd259fa4: feat: add "option reset" to wipe shell config list options (@meowgorithm)
  • 987ba71fba70b2d2bc9bbbb878ba8b437e1a416d: feat: add crush.sh discovery and loading (@meowgorithm)
  • 528d8379b9785b96de0738acf292b93a30eb2566: feat: add permissions deny to hide tools from the agent (@meowgorithm)
  • a5156e62153d7c35c53a2953230e046a9f24c9a5: feat: add provider-model builtin for defining provider models (@meowgorithm)
  • 3f54c0e9ec522f2ffdeb66c6a94206f717189b0b: feat: add shell config builtins and ConfigBuilder infrastructure (@meowgorithm)
  • c2b8f164564e381c32f04841e16c7ac7f35823d4: feat: add structured logging to shell config builtins (@meowgorithm)
  • 9d31a1a45bb666c2a61d00024bbdaaf2443d8b87: feat: add verb-first hook add/remove shell config commands (@meowgorithm)
  • eea3bf7fc1dc8364020d1dd11ba5f85de106f8dc: feat: add verb-first lsp add/remove shell config commands (@meowgorithm)
  • 9a3cdbf99326b80fcc2c5dcd2f83764eccdcfd3e: feat: add verb-first mcp add/remove shell config commands (@meowgorithm)
  • 52e041cdec17222d707f8bdf4ce51e27d41de6c1: feat: clarify model pricing flags in crushrc (@meowgorithm)
  • c6fb635c895048887a6fadb72d0951706726943b: feat: configure attribution from crushrc (@meowgorithm)
  • e99b8d6824f36f91835bb3fc043954e18eb44dbf: feat: expose CRUSH_VERSION to shell config scripts (@meowgorithm)
  • 0b584610efa1a8d9ea7046e9b6268c1f87468f3d: feat: expose remaining advanced config through crushrc (@meowgorithm)
  • 8bf07dab012aa70cccfaf18cb343442ff8a3801f: feat: make permissions use verb-first allow subcommand (@meowgorithm)
  • 650bf3c2cd3ab8d1b90fab4687da9415e58766cc: feat: rename shell config to crushrc with local .crushrc override (@meowgorithm)
  • 479da0f3f62f45540506c2a7d38182cffd1492f5: feat: verb-first provider and model shell config commands (@meowgorithm)

Fixed

  • 5e1cd7efe90f60caba4aa3febe919a5d7183faf5: (fix: fable) surface model refusals in the TUI instead of silently stopping work (#3453) (@sven2718)

  • 63dc1f01b7ebf688fc333f1474cf0d23439c4f06: fix(auth): stop parallel sessions from invalidating each other's login (@taciturnaxolotl)