v0.31.0
charmbracelet/crushv0.31.0Jan 7, 2026by github-actions[bot]
AI Summary
This is a maintenance release for charmbracelet/crush that introduces the ability to load skills from a general 'agents' directory (~/.config/agents/skills), removes Claude Code support to align with Anthropic's terms of service, and includes various small fixes and UX improvements.
Key Highlights
- Skills can now be loaded from ~/.config/agents/skills directory
- Claude Code support was removed to align with Anthropic's terms of service
- Fixed MCP tool filtering to centrally handle disabled tools
- Fixed Posthog boolean property naming for non-interactive mode
- Fixed file marking when attachments are added
Breaking Changes
- Claude Code support has been removed from the application
New Features
- Load skills from ~/.config/agents/skills directory in addition to existing locations
Full Release Notes
# Fixes and ch-ch-ch-changes How's it going? This is primarily a maintenance release. * Skills can now be loaded from a general "agents" directory (e.g `~/.config/agents/skills`) * Claude Code support was removed to align with Anthropic’s terms of service * Various small fixes and UX improvements Special thanks, as always, to star contributor @Amolith for the constant improvements. See you next release 💘 ## Changelog ### New! * 6b3cd26f9f78ae7318153922763025bfa8831443: feat(skills): also load from .config/agents (#1755) (@Amolith) * 5590161f86806f00bc8e4702b0c67d2abcaa9c62: feat: remove claude code support (#1783) (@andreynering) ### Fixed * bf39639c3d152196384fc139161719202f04f2f8: Revert "fix: prevent filename insertion when dragging attachments" (#1773) (@meowgorithm) * 43b0e0bcba1930653125dc156dd532e436a63b1d: fix(mcp): centrally filter disabled tools (#1622) (@Amolith) * ca21111b7672c775ddfab566063c2b9ad044dee3: fix(posthog): correct bool prop name for non-interactive mode (#1771) (@andreynering) * 56f1b37a19e145b210ae1fdaca1f0637ed41ef82: fix(posthog): normalize `interactive` prop case (@andreynering) * 2bdac87e4a1505af3b17e1154b92bdf963c1df7b: fix: mark files that are attched as read (#1777) (@kujtimiihoxha) ### Other stuff * 4cc3aeb4ee100841de75f58c8cbece3f3f4f241d: chore: fix typo in const name (@andreynering) --- <details> <summary>Verifying the artifacts</summary> First, download the [`checksums.txt` file](https://github.com/charmbracelet/crush/releases/download/v0.31.0/checksums.txt) and the [`checksums.txt.sigstore.json` file](https://github.com/charmbracelet/crush/releases/download/v0.31.0/checksums.txt.sigstore.json) files, for example, with `wget`: ```bash wget 'https://github.com/charmbracelet/crush/releases/download/v0.31.0/checksums.txt' wget 'https://github.com/charmbracelet/crush/releases/download/v0.31.0/checksums.txt.sigstore.json' ``` Then, verify it using [`cosign`](https://github.com/sigstore/cosign): ```bash 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.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`: ```bash sha256sum --ignore-missing -c checksums.txt ``` Done! You artifacts are now verified! </details> <a href="https://charm.land/"><img alt="The Charm logo" src="https://stuff.charm.sh/charm-banner-next.jpg" width="400"></a> Thoughts? Questions? We love hearing from you. Feel free to reach out on [X](https://x.com/charmcli), [Discord](https://charm.land/discord), [Slack](https://charm.land/slack), [The Fediverse](https://mastodon.social/@charmcli), [Bluesky](https://bsky.app/profile/charm.land).