Crush
Crush is a terminal-based AI coding assistant that integrates your tools, code, and workflows with your choice of LLM. It solves the problem of context switching between coding and AI chat by providing LSP-enhanced, session-based interactions. It is for developers who want an AI pair programmer in their terminal.
✨ Key features
- Multi-model support: choose from many LLMs or add custom via OpenAI/Anthropic APIs.
- Switch LLMs mid-session while preserving context.
- Session-based: maintain multiple work sessions and contexts per project.
- LSP-enhanced: uses Language Server Protocols for additional context.
- Extensible via MCPs (http, stdio, sse).
- Works on macOS, Linux, Windows, Android, FreeBSD, OpenBSD, NetBSD.
🎯 Use cases
- Get coding assistance directly in the terminal with context from your project.
- Manage multiple coding sessions for different tasks or projects.
- Integrate with local or remote LLMs, including custom providers.
- Use LSPs to provide code intelligence to the AI.
- Extend functionality with MCP servers for tools like GitHub.
📦 Installation
🧰 Requirements: Runs on macOS, Linux, Windows (PowerShell/WSL), Android, FreeBSD, OpenBSD, NetBSD. Requires an LLM provider API key (e.g., Hyper, OpenAI, Anthropic) or a local model.
brew install charmbracelet/tap/crushnpm install -g @charmland/crushyay -S crush-binnix run github:numtide/nix-ai-tools#crushpkg install crushWindows:
winget install charmbracelet.crushscoop bucket add charm https://github.com/charmbracelet/scoop-bucket.git
scoop install crushDebian/Ubuntu:
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list
sudo apt update && sudo apt install crush
Fedora/RHEL:
echo '[charm]
name=Charm
baseurl=https://repo.charm.sh/yum/
enabled=1
gpgcheck=1
gpgkey=https://repo.charm.sh/yum/gpg.key' | sudo tee /etc/yum.repos.d/charm.repo
sudo yum install crush
Or with Go:
go install github.com/charmbracelet/crush@latest
🚀 Usage
The quickest way to get started is to choose a Hyper model from the model picker. Follow the steps to authenticate and you'll be good to go.
You can also use Crush with many other providers such as Anthropic, OpenAI, Gemini, OpenRouter. Press ctrl+l to open the model picker, choose the provider, and paste your API key.
Alternatively, set environment variables like OPENAI_API_KEY or ANTHROPIC_API_KEY.
❓ FAQ
How do I configure Crush?
Crush runs with no configuration, but you can customize it with a crushrc file, which is Bash with Crush-specific builtins. Configuration can be local or global, with priority given to local files.
Can I use my own LLM provider?
Yes, you can add custom providers via OpenAI- or Anthropic-compatible APIs. You can also use many built-in providers like OpenAI, Anthropic, Gemini, and more by setting API keys.
Does Crush support LSPs?
Yes, Crush uses LSPs for additional context. You can add LSPs manually via the lsp add command in your crushrc.
What is Hyper?
Hyper is Charm's official Crush provider. It is subscription-based with a free tier, optimized for Crush, privacy-focused with zero data retention, and GDPR compliant.
📊 Repository
🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.