Overview
Crush is an open-source coding agent that runs inside your terminal. Built by Charm in Go, it connects your code, your tools, and your workflows to the large language model you prefer. You can pick from a wide range of models or add your own through any OpenAI- or Anthropic-compatible API, and it works in every terminal on macOS, Linux, Windows (PowerShell and WSL), Android, FreeBSD, OpenBSD, and NetBSD.
Crush keeps separate work sessions and contexts per project, so you can hold several threads of work at once. It reads extra context from language servers (LSPs) the same way a developer would, and you can extend what it can do by wiring in Model Context Protocol (MCP) servers over stdio, HTTP, or SSE. A handy detail is that you can switch the underlying model mid-session while keeping your context, which is useful when one model fits a task better than another.
It runs well with no configuration: grab an API key for a provider such as Anthropic, OpenAI, Groq, or OpenRouter, start Crush, and it prompts you for the key. For deeper control, a JSON config file lets you define providers, LSPs, MCP servers, permissions, and ignored files.
What it does
- Multi-model: choose from many LLMs or add your own through any OpenAI- or Anthropic-compatible API
- Switch models mid-session while keeping your context intact
- Session-based: keep multiple work sessions and contexts per project
- LSP-enhanced: pulls extra context from language servers like a developer would
- Extensible through MCP servers over stdio, HTTP, and SSE, plus Agent Skills support
- Runs in every terminal across macOS, Linux, Windows (PowerShell and WSL), Android, and the BSDs
Getting started
Install Crush with a package manager (or Go), then run it and enter an API key for your preferred provider. You can also set a provider environment variable instead of being prompted.
Install Crush
Use a package manager such as Homebrew or npm. The npm package is published as @charmland/crush.
brew install charmbracelet/tap/crush
# or
npm install -g @charmland/crushOr install with Go
If you have a Go toolchain, install the latest release directly.
go install github.com/charmbracelet/crush@latestSet a provider key and start
Export an API key for your provider (or just run crush and paste the key when prompted), then launch it in your project directory.
export ANTHROPIC_API_KEY=...
crushCustomize when needed
Crush runs fine with no configuration. To customize, add a crush.json file in your project (or at $HOME/.config/crush/crush.json) to define providers, LSP servers, MCP servers, and tool permissions.
Commands and code are distilled from the project's own documentation — always check the official repo for the latest.
When to use it
- Make code changes from the terminal by chatting with an agent that can read, edit, and run your project
- Hold several independent work sessions per project, each with its own context
- Switch between LLM providers or models mid-task without losing the conversation
- Add custom capabilities (for example file or GitHub tools) by connecting MCP servers
How Crush compares
Crush alongside other open-source autonomous coding agents tools AI/TLDR tracks, ranked by GitHub stars.
| Tool | Stars | What it does |
|---|---|---|
| opencode | ★ 176k | OpenCode is an open source AI coding agent that runs in your terminal, with built-in build and plan agents and an optional desktop app. |
| Gemini CLI | ★ 105k | An open-source command-line AI agent from Google that connects your terminal to Gemini models for reading code, editing files, running shell commands, and searching the web. |
| OpenHands | ★ 77.8k | An open-source AI software-development agent that plans tasks, edits files, runs commands, and tests code, usable from a terminal CLI, a local web GUI, or a Python SDK. |
| Goose | ★ 49.9k | Goose is an open-source AI agent that runs on your machine for code, research, automation, and more, with a desktop app, CLI, and API built in Rust. |
| Continue | ★ 34.1k | Continue is an open-source coding agent available as a CLI, VS Code extension, and JetBrains plugin, plus version-controlled AI checks that run on pull requests in CI. |
| Vibe Kanban | ★ 27.1k | Vibe Kanban lets you plan tasks on a kanban board, run coding agents like Claude Code and Codex in isolated workspaces, then review their diffs and ship pull requests. |
| Serena | ★ 25.6k | Serena is an open-source MCP toolkit that gives any LLM coding agent symbol-level code retrieval, editing, and refactoring across 40+ languages. |
| Crush | ★ 25.5k | A coding agent that lives in your terminal, wired into your tools and any LLM you choose |