charmbracelet / crush
git clone https://github.com/charmbracelet/crush.git
v0.98.1 · 14d ago
Glamourous agentic coding for all 💘
+15
stars, 24h · #2,453
+~86
stars, 7 days · #2,504
+~370
stars, 30 days · #2,243
29k
★ total · +0% this week
2.3k
forks · 554 open issues
Star history (as recorded here)
LanguageGo
License—
Created2025-05-21 (1y ago)
Last pushtoday
Watchers143
OwnerOrganization
GitHub topics
Links
README excerpt
# Crush Your new coding bestie, now available in your favourite terminal. Your tools, your code, and your workflows, wired into your LLM of choice. 终端里的编程新搭档, 无缝接入你的工具、代码与工作流,全面兼容主流 LLM 模型。 ## Features - **Multi-Model:** choose from a wide range of LLMs or add your own via OpenAI- or Anthropic-compatible APIs - **Flexible:** switch LLMs mid-session while preserving context - **Session-Based:** maintain multiple work sessions and contexts per project - **LSP-Enhanced:** Crush uses LSPs for additional context, just like you do - **Extensible:** add capabilities via MCPs (`http`, `stdio`, and `sse`) - **Works Everywhere:** first-class support in every terminal on macOS, Linux, Windows (PowerShell and WSL), Android, FreeBSD, OpenBSD, and NetBSD - **Industrial Grade:** built on the Charm ecosystem, powering 25k+ applications, from leading open source projects to business-critical infrastructure ## Installation Use a package manager: [code] Windows users: [code] Nix (NUR) Crush is available via the official Charm NUR in `nur.repos.charmbracelet.crush`, which is the most up-to-date way to get Crush in Nix. You can also try out Crush via the NUR with `nix-shell`: [code] ### NixOS & Home Manager Module Usage via NUR Crush provides NixOS and Home Manager modules via NUR. You can use these modules directly in your flake by importing them from NUR. Since it auto detects whether it's a home manager or nixos context you can use the import the exact same way :) [code] Debian/Ubuntu [code] Fedora/RHEL [code] Or, download it: - [Packages][releases] are available in Debian and RPM formats - [Binaries][releases] are available for Linux, macOS, Windows, FreeBSD, OpenBSD, and NetBSD [releases]: https://github.com/charmbracelet/crush/releases Or just install it with Go: [code] On illumos (OpenIndiana, OmniOS), the command above works as-is. Only native OS notifications are unavailable there; terminal-based notifications (OSC) and the terminal bell still work. On Oracle Solaris, add `-tags sqlite3_dotlk` so the local database uses dot-file locking: [code] > [!WARNING] > Productivity may increase when using Crush and you may find yourself nerd > sniped when first using the application. If the symptoms persist, join the > [Slack][slack] or [Discord][discord] and nerd snipe the rest of us. ## Getting Started The quickest way to get started is to choose a [Hyper][hyper] model from model picker. Follow the steps to authenticate and you'll be good to go. [Hyper], from Charm, is the official Crush provider. It’s subscription-based, with a free tier, and optimized for Crush. It’s privacy focused, with zero data retention (ZDR) is and designed to comply with GDPR. [More on Hyper][hyper]. ## API Keys You can also use Crush with many other providers such as Anthopic, OpenAI, Gemini, OpenRouter and so on. Press ctrl+l to open the model picker, choose the provider of your choice, and paste your API key. That said, you can also set environment variables for