Skip to main content
Crush
$ cat ./crush.md

Crush

Crush is a powerful command-line tool for compressing and archiving files with modern algorithms and intuitive syntax. Built by Charm, it supports multiple compression formats including gzip, bzip2, xz, and zstd, while providing a unified interface that simplifies archive operations. The tool features intelligent format detection, progress indicators, and optimized compression levels for various use cases from quick backups to maximum space savings. Crush excels in DevOps workflows, backup automation, and file distribution scenarios where efficient compression and reliable extraction are critical. Its clean CLI design makes it ideal for both interactive use and scripting, offering better performance and user experience compared to traditional archiving tools.

28,632 stars 2,335 forks Go Other
charmbracelet 1610 Jan 7, 2026
Login with GitHub to like and favorite this CLI tool
$ git release --latest

Latest Releases

All releases

Tiny patch This fixes new GPT-6 models via Copilot! Enjoy, Charm XX 💫 Changelog Fixed
  • 8584922dc75b0911bf5dea2cbaec64af557f7a45: fix: route newer Copilot models through the Responses API (#4048) (@DaVinci42)
--- <details> <summary>Verifying the artifacts</summary> First, download the [checksums.txt file](https://github.com/charmbracelet/crush/releases/download/v0.98.1/checksums.txt) and the [checksums.txt.sigstore.json file](https://github.com/charmbracelet/crush/releases/download/v0.98.1/checksums.txt.sigstore.json) files, for example, with wget: ``bash wget 'https://github.com/charmbracelet/crush/releases/download/v0.98.1/checksums.txt' wget 'https://github.com/charmbracelet/crush/releases/download/v0.98.1/checksums.txt.sigstore.json' ` Then, verify it using [cosign](https://github.com/sigstore/cosign): `bash cosign verify-blob \ --certificate-identity-regexp '^https://github.com/charmbracelet/crush/\.github/workflows/(release|nightly)\.yml@' \ --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).

Rex, OSC 7501, xAI/Grok OAuth and more Hey! There’s some good quality of life stuff in this release. Let’s take a look! It’s Rex Time Following an update on [Bubbletea](https://github.com/charmbracelet/bubbletea) Crush now supports the [Program Status Protocol](https://www.superlogical.com/rex/docs/build/program-status), aka OSC 7501, [created by Superlogical for Rex](https://www.superlogical.com/updates/public-testing-beginning)! As a bonus, [TUIOS](https://github.com/Gaurav-Gosain/tuios) also supports the protocol. <p><img width="700" src="https://github.com/user-attachments/assets/85680681-9397-456b-8283-4eed19635681" /></p> x.AI OAuth Now Crush supports Grok OAuth login. Enjoy! <p><img width="550" src="https://github.com/user-attachments/assets/7663d52a-b5af-4969-972b-7db1189106b4" /></p> Many more fixes A lot of fixes were introduced this version:
  • Server side improvements by @meowgorithm
  • External editor swallowing empty buffer
  • Models behind OAuth couldn't be used if they weren't in Catwalk
  • Fixed MCP toggled misbehavior
And a lot more from @taciturnaxolotl. Read all below! Good luck, Charm XX 👋🏻 Changelog New!
  • 19e7dd4e9df41fcad81082de3471004cde4ab606: feat: OSC 7501 (#4041) (@andrinoff)
  • 30145cbc8fbb1b33eeeaafb527328474eb20e093: feat: grok OAuth (#3833) (@andrinoff)
Fixed
  • 8b1d542c2ef1be9a3022f67363d696e53f31b0d4: fix(mcp): keep sessions alive when a server doesn't support ping (#4033) (@taciturnaxolotl)
  • ca6ae26ce016b980407ce32f012a467ec10c1e2f: fix(ui): keep multi-line tool output aligned under sub-agent branches (#4019) (@taciturnaxolotl)
  • 5e3fe4b563b31e75692f103b6c95c41588f07ac1: fix(ui): render multiline question answers as one line (#4020) (@taciturnaxolotl)
  • 76cc5c574e15072b15aaed0f4f843a5711fae0d9: fix(ui): stop the attachment row from claiming files that are visible (@taciturnaxolotl)
  • 011a9416c0624341420f9dc8787680308f45b994: fix: Toggle MCPs bug with global and local (#4042) (@andrinoff)
  • 5f295a6f55dd93d718c3d843b002272beb972525: fix: change anim colors on previewTheme too (#4015) (@andrinoff)
  • 65865e01950368379ad1f9746b620a77fb7a5da8: fix: exclude signing from test (#4035) (@andrinoff)
  • b4dd6e6d48eee2c315d6d0690b84c06f14099838: fix: openEditor swallowing an empty buffer (#4007) (@andrinoff)
  • 140e8cb9707faa6a68d87d0ecc3a85b9c65e25d5: fix: stop intermittent CI test failures across all three platforms (#4034) (@taciturnaxolotl)
Other stuff
  • bdcf796cb1ff241b0eb18139071d46a84dc1ee91: chore: auto-update files (@charmcli)
  • 73d1a50a8b07cd0d296c63966ad9b26e7b105b4d: chore: jailbreak crush out of the meta repo (#4008) (@andrinoff)
  • 2fbaa90b55ec711f713c35ed55602eeb789e6048: perf(prompt): read the current git branch without spawning a shell (@taciturnaxolotl)
  • 08984f59d87587aa1cfd644b152034e644892def: refactor(ui): poll the git branch off the render path (@taciturnaxolotl)
  • ee76ff2f206c6fe8e7c607ca6f4569de56787d80: server: add deadline to MCP fetch so hung server won't freeze UI (@meowgorithm)
  • 5b7377befd23712e2c97b896425c8195e2a9c1ee: server: add support for git branches (@meowgorithm)
  • 263a0201b0aac5e16781901103bcb0155cb911b2: server: back off MCP starting-state retries (@meowgorithm)
  • 3297f43b9340996cd0de7507ae81b4b2422fb138: server: fix behavior where MCP status would not update in the UI (@meowgorithm)
--- <details> <summary>Verifying the artifacts</summary> First, download the [checksums.txt file](https://github.com/charmbracelet/crush/releases/download/v0.98.0/checksums.txt) and the [checksums.txt.sigstore.json file](https://github.com/charmbracelet/crush/releases/download/v0.98.0/checksums.txt.sigstore.json) files, for example, with wget: ``bash wget 'https://github.com/charmbracelet/crush/releases/download/v0.98.0/checksums.txt' wget 'https://github.com/charmbracelet/crush/releases/download/v0.98.0/checksums.txt.sigstore.json' ` Then, verify it using [cosign](https://github.com/sigstore/cosign): `bash cosign verify-blob \ --certificate-identity-regexp '^https://github.com/charmbracelet/crush/\.github/workflows/(release|nightly)\.yml@' \ --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).

Tiny patch Removed the glyph for Git branch display, as it won't display on when nerdfonts are not available. Changelog Fixed
  • f2d66d286950109082c102d780013df84f741e55: fix: remove the powerline symbol (@andrinoff)
--- <details> <summary>Verifying the artifacts</summary> First, download the [checksums.txt file](https://github.com/charmbracelet/crush/releases/download/v0.97.1/checksums.txt) and the [checksums.txt.sigstore.json file](https://github.com/charmbracelet/crush/releases/download/v0.97.1/checksums.txt.sigstore.json) files, for example, with wget: ``bash wget 'https://github.com/charmbracelet/crush/releases/download/v0.97.1/checksums.txt' wget 'https://github.com/charmbracelet/crush/releases/download/v0.97.1/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).

Crushed It! This release introduces many new features that improve QoL by a ton! Brought to you by Charm and our favorite contributors! Toggle MCPs Thanks to awesome @BrunoKrugel, you can now turn off MCP servers from the UI, globally, or locally. <p><img width="600" height="2160" src="https://github.com/user-attachments/assets/9fb0304c-89aa-4b52-8fb4-f8016408a20c" /></p> Git Branches At last: @taciturnaxolotl and @Gustave-241021 have brought Git branch display to Crush, *which is so useful*. <p><img width="600" height="2160" src="https://github.com/user-attachments/assets/16c378cb-a8e1-4970-a38a-139e0ec815eb" /></p> More UI and QoL changes:
  • ChatGPT OAuth now refreshes with Catwalk
  • Claude Channels, part 2/3 by @joestump
  • Toggle Sidebar on and off with <kbd>ctrl+b</kbd> by @andreynering
  • Quit dialog improvements and mouse support by @meowgorithm
Fixed!
  • Fixed clipboard false reporting successful copies by @taciturnaxolotl
  • Count Anthropic cache-creating tokens by @yanyukang2003-ux
  • Correctly resolving the project data directory in session and stats by @devYRPauli
This release is filled with improvements! Read more below! See you next time, Charm XX 🔆 Changelog New!
  • a9a257c46616a4ff32e0a796743384060c3e11c0: feat(mcp): Allow toggle MCPs on/off (#3725) (@BrunoKrugel)
  • 2da6f781c5473cc4f2525ebf315846ff37b6b8b2: feat(tui): display git branch (#2437) (@Gustave-241021)
  • 564d14e4453828614a3d631599fda796e6d2de7b: feat: Claude Channels delivery — session injection, exactly-once routing, reply-back (2/3) (#3346) (@joestump-agent)
  • 62de0deb86f87f704d5388bed6bd9f40419a3e0a: feat: toggle the sidebar with ctrl+b (#3935) (@andreynering)
Fixed
  • a98394ff35cd97379f4a68bdf9169879eb4d7b2b: fix(agent): count Anthropic cache-creation tokens (#3841) (@yanyukang2003-ux)
  • 4ab302dd44cc25895c69ca1aefd199380d56aa25: fix(clipboard): stop reporting successful copies as failures (#3952) (@taciturnaxolotl)
  • 00b33e4b92a290425c15be7aa675251cec47df5f: fix(cmd): resolve the project data directory in session and stats (#3936) (@devYRPauli)
  • fded9d7d7dffe33a0994c73b7b2e16310225825d: fix: reload OpenAI OAuth with Catwalk (#3949) (@andrinoff)
  • 1f3827bcd2d20f38076b2d46123683271e6ed9ba: fix: reorder migrations (@taciturnaxolotl)
Other stuff
  • 06e50a330e2b05b677726737d06852a35f5ff93f: chore: auto-update files (@charmcli)
  • 8b1139bbbe8bea2e48f2b485d6e229e1e366089c: chore: auto-update files (@charmcli)
  • 72654940d9e46961a7d804d536c45761e7084a08: chore: fantasy v0.45.1 (@andreynering)
  • e3dc6d2a66c0d0d4f22dfa185d1e0e4cac985b62: ui: add mouse support to the quit dialogue (@meowgorithm)
  • 04a2cd85d4e62e7ed2b2c51a8cc9391496e0c2ee: ui: align quit dialog button hit regions with centered row (@meowgorithm)
  • 6f1fd614952306c5788381d2681f76636cae6e6f: ui: cover quit dialog mouse buttons and hover reporting in tests (@meowgorithm)
  • 5c6dd666aa64fe0f3893521597a61b0dc698562d: ui: keep quit dialog buttons visible in small terminals (@meowgorithm)
  • f043451debd3cc1ddc2c9831923fc36efa2b5f99: ui: report all mouse motion while hoverable dialogs are open (@meowgorithm)
--- <details> <summary>Verifying the artifacts</summary> First, download the [checksums.txt file](https://github.com/charmbracelet/crush/releases/download/v0.97.0/checksums.txt) and the [checksums.txt.sigstore.json file](https://github.com/charmbracelet/crush/releases/download/v0.97.0/checksums.txt.sigstore.json) files, for example, with wget: ``bash wget 'https://github.com/charmbracelet/crush/releases/download/v0.97.0/checksums.txt' wget 'https://github.com/charmbracelet/crush/releases/download/v0.97.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).

Quick little theme API adjustment Hey! ICYMI [we released support for themes](https://github.com/charmbracelet/crush/releases/tag/v0.96.0) a few hours ago. Before they get too widely adopted, we’re making one small breaking API change to the names of keys.: insertbg -> insertcode_bg deletebg -> deletecode_bg This is what it looks like in code: ``jsonc { // ... "diffinsertfg": "#629657", "diffinsertcode_bg": "#2d3431", "diffinsertgutter_bg": "#282d2c", "diffdeletefg": "#a45c59", "diffdeletecode_bg": "#33272d", "diffdeletegutter_bg": "#2a232a", // ... } ` See ya! Charm 🎸 Changelog Other stuff
  • 56abdfa7f1fa2cbe1e073f553bc10b06598046f9: themes: prefix diff theme keys with diff_ (@meowgorithm)
  • a88b5735ff056b52eee8d30121b85c8a8ca79601: themes: small adjustments to the key names in the theme API (@meowgorithm)
--- <details> <summary>Verifying the artifacts</summary> First, download the [
checksums.txt file](https://github.com/charmbracelet/crush/releases/download/v0.96.1/checksums.txt) and the [checksums.txt.sigstore.json file](https://github.com/charmbracelet/crush/releases/download/v0.96.1/checksums.txt.sigstore.json) files, for example, with wget: `bash wget 'https://github.com/charmbracelet/crush/releases/download/v0.96.1/checksums.txt' wget 'https://github.com/charmbracelet/crush/releases/download/v0.96.1/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).

Installation

npm install -g @charmland/crush
brew install charmbracelet/tap/crush
nix run github:numtide/nix-ai-tools#crush
$ tail ./comments.log

Comments (0)

Login with GitHub to post a comment
No comments yet. Be the first to comment!