explaingit

charmbracelet/crush

📈 Trending24,387GoAudience · developerComplexity · 3/5ActiveSetup · moderate

TLDR

Terminal-based AI coding assistant that lets you chat with LLMs while working on code, supporting multiple AI providers and integrating with your editor's language tools.

Mindmap

mindmap
  root((Crush))
    What it does
      Chat with AI in terminal
      Suggest code improvements
      Modify your codebase
    AI Providers
      Anthropic Claude
      OpenAI GPT
      Google Gemini
      Groq
    Integration
      Language Server Protocol
      Model Context Protocol
      External tools
    Features
      Per-project sessions
      Mid-conversation switching
      Cross-platform support
    Use Cases
      Code review assistance
      Bug fixing help
      Learning and exploration

Things people build with this

USE CASE 1

Ask an AI assistant questions about your code and get suggestions without switching windows.

USE CASE 2

Have the AI read your project files and suggest bug fixes or refactoring improvements.

USE CASE 3

Use your terminal's existing language tools to give the AI better context about your codebase.

USE CASE 4

Maintain separate conversations for different projects so your chat history stays organized.

Tech stack

GoAnthropicOpenAIGoogle GeminiGroqLSPMCP

Getting it running

Difficulty · moderate Time to first run · 30min

Requires API key from at least one LLM provider (Anthropic, OpenAI, Google, or Groq) to function.

License could not be detected automatically. Check the repository's LICENSE file before use.

In plain English

Crush is a terminal-based AI coding assistant built by Charmbracelet. It lets you have a conversation with a large language model (LLM) directly from your command line while working on code, so you can ask questions, get suggestions, and have the AI take actions on your codebase, all without leaving the terminal. The core idea is that your tools, your project files, and your AI model are all wired together in one place. Crush supports a wide range of AI providers, Anthropic, OpenAI, Google Gemini, Groq, and more, and you can switch between models mid-conversation without losing context. It integrates with LSPs (Language Server Protocols), which are the same programs your code editor uses to understand your code, giving the AI extra context about your project. You can also extend its capabilities by connecting external tools and data sources via MCPs (Model Context Protocol). Crush maintains separate sessions per project so your conversations stay organized. It works across macOS, Linux, Windows (including PowerShell and WSL), and several BSDs. You would use it if you prefer a terminal-first workflow and want an AI coding assistant that plugs into your existing setup rather than requiring a specific editor or cloud IDE. It is written in Go.

Copy-paste prompts

Prompt 1
I'm using Crush with Claude. How do I switch to GPT-4 mid-conversation without losing context?
Prompt 2
Set up Crush to use my project's Language Server Protocol so the AI understands my code structure.
Prompt 3
How do I connect an external tool to Crush using Model Context Protocol to give the AI more capabilities?
Prompt 4
I want to use Crush in WSL on Windows. What are the setup steps?
Prompt 5
Show me how to ask Crush to refactor a specific file in my project and apply the changes automatically.
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.