explaingit

charmbracelet/crush

Analysis updated 2026-05-18

23,930GoAudience · developerComplexity · 3/5Setup · 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
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

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.

What is it built with?

GoAnthropicOpenAIGoogle GeminiGroqLSPMCP

How does it compare?

charmbracelet/crushurfave/cliterrastruct/d2
Stars23,93024,01823,630
LanguageGoGoGo
Setup difficultymoderateeasyeasy
Complexity3/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get 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.

Frequently asked questions

What is crush?

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.

What language is crush written in?

Mainly Go. The stack also includes Go, Anthropic, OpenAI.

What license does crush use?

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

How hard is crush to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is crush for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub charmbracelet on gitmyhub

Verify against the repo before relying on details.