Crush
Crush represents Charmbracelet’s entry into the AI coding assistant space, bringing their signature terminal-first philosophy and “glamourous” design aesthetic to AI-powered development. Built as a native terminal application, Crush distinguishes itself through its exceptional multi-model support, flexible configuration options, and deep integration with developer workflows through LSP and MCP protocols.
Core Features
Terminal-First Design
- Native CLI Experience: Fully optimized for terminal workflows with keyboard-driven interaction
- Cross-Platform Support: First-class support on macOS, Linux, Windows (PowerShell and WSL), FreeBSD, OpenBSD, and NetBSD
- Minimal Resource Footprint: Lightweight Go-based implementation with fast startup and response times
- Session Management: Multiple work sessions with context preservation per project
Multi-Model Architecture
- Provider Flexibility: Choose from Anthropic, OpenAI, Groq, OpenRouter, Google Gemini, Cerebras, HuggingFace, VertexAI, Amazon Bedrock, and more
- Custom Provider Support: Add your own OpenAI-compatible or Anthropic-compatible APIs
- Model Switching: Switch LLMs mid-session while preserving context and conversation history
- Cost Tracking: Built-in cost tracking and token usage monitoring
Enhanced Context Awareness
- LSP Integration: Uses Language Server Protocol for additional context, just like modern IDEs
- MCP Support: Extensible via Model Context Protocol (stdio, http, and sse transport types)
- Project Initialization: Analyzes codebase and creates context files for future sessions
- Git Integration: Native support for version control workflows with attribution options
Technical Specifications
- Language: Go (98%) with minimal Smarty templating
- Installation: Homebrew, NPM, Winget, Scoop, Arch Linux, Nix, Debian/Ubuntu, Fedora/RHEL, or direct binary download
- Configuration: JSON-based with project-local and global options
- License: FSL-1.1-MIT (Fair Source License)
- Repository: 15.4k+ stars, 883+ forks on GitHub
- Release Cadence: Regular updates with 75+ releases
Installation Methods
Package Managers
# Homebrew
brew install charmbracelet/tap/crush
# NPM
npm install -g @charmland/crush
# Winget (Windows)
winget install charmbracelet.crush
# Scoop (Windows)
scoop install crush
# Arch Linux
yay -S crush-bin
# Nix
nix run github:numtide/nix-ai-tools#crushSystem Package Installation
# Debian/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 crushDirect Installation
# Go install
go install github.com/charmbracelet/crush@latestConfiguration
Quick Setup
Crush runs great with no configuration. Simply set an API key for your preferred provider:
