Skip to main content

Overview

Crush is a terminal-based AI coding assistant built by Charm that connects to Large Language Models (LLMs) and gives them powerful tools to read, write, and execute code. Unlike web-based coding assistants, Crush lives directly in your terminal and integrates seamlessly with your existing development workflow.
Crush is built on the Charm ecosystem, which powers over 25,000 applications—from leading open source projects to business-critical infrastructure.

What problems does Crush solve?

Modern AI coding assistants are powerful, but they often lack deep integration with your development environment and workflows. Crush bridges this gap by:
  • Bringing AI to your terminal: Work where you already code, without switching contexts
  • Understanding your codebase: Uses Language Server Protocols (LSPs) for code intelligence, just like your editor
  • Maintaining context: Session-based conversations that remember your project structure and coding patterns
  • Extending capabilities: Add custom tools via Model Context Protocol (MCP) servers and Agent Skills
  • Working everywhere: First-class support across macOS, Linux, Windows (PowerShell and WSL), Android, FreeBSD, OpenBSD, and NetBSD

Key capabilities and features

Multi-Model Support

Choose from a wide range of LLMs including Anthropic Claude, OpenAI GPT, Google Gemini, Amazon Bedrock, GitHub Copilot, and many more. Add your own via OpenAI- or Anthropic-compatible APIs.

Flexible Model Switching

Switch between different LLMs mid-session while preserving your conversation context and project state.

Session-Based Workflow

Maintain multiple named sessions per project. Resume conversations exactly where you left off.

LSP-Enhanced Intelligence

Crush uses Language Server Protocols for additional context, giving it the same code understanding as your IDE.

Extensible via MCP

Add capabilities through Model Context Protocol servers via http, stdio, and sse transport types.

Agent Skills

Extend Crush with reusable skill packages using the Agent Skills open standard.

Architecture overview

Crush is designed with a modular architecture that separates concerns and enables extensibility:

Terminal application

Crush provides a beautiful terminal user interface (TUI) built with Bubble Tea, the same framework powering thousands of terminal applications. The interface includes:
  • Real-time message streaming with markdown rendering
  • Interactive tool permission prompts
  • Session management and history
  • Model switching and configuration

LLM integration

Crush connects to LLM providers through a unified abstraction layer that handles:
  • Multiple provider protocols (OpenAI-compatible, Anthropic, Gemini, Bedrock, etc.)
  • Streaming responses
  • Token counting and cost tracking
  • Model capabilities detection (reasoning, attachments, etc.)

Tools system

Crush provides the LLM with a rich set of built-in tools:
  • File operations: view, edit, write, multiedit, ls, glob, grep
  • Code execution: bash (with background job support)
  • Code intelligence: LSP integration for diagnostics, references, and symbols
  • Web access: fetch, download
  • MCP integration: Dynamic tool loading from MCP servers
Tools can be allowed automatically via configuration or require user permission per invocation.

Code intelligence layer

Crush integrates with Language Server Protocols to provide:
  • Code diagnostics and error detection
  • Symbol definitions and references
  • Type information and hover documentation
  • Auto-discovery of LSP servers for common languages

Who should use Crush?

Crush is ideal for:
  • Terminal-first developers who prefer keyboard-driven workflows
  • Teams working with multiple LLMs who want to compare model performance
  • Projects requiring code intelligence where LSP integration provides value
  • Developers needing extensibility through MCP servers or custom skills
  • Anyone seeking privacy with support for local models via Ollama or LM Studio
  • Organizations with specific compliance needs who can use self-hosted or air-gapped deployments
Productivity may increase when using Crush and you may find yourself nerd sniped when first using the application. If the symptoms persist, join the Discord and nerd snipe the rest of us.

Next steps

Install Crush

Get Crush installed on your system using your preferred package manager

Quick Start

Complete your first AI-assisted coding session in under 5 minutes

Build docs developers (and LLMs) love