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 | ★ 220k | 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. |
| Claude Code | ★ 153k | Anthropic's agentic coding tool for the terminal, IDE and GitHub: it understands your codebase, executes routine tasks, explains code and handles git workflows from natural-language commands. |
| OpenAI Codex | ★ 130k | OpenAI's cloud and CLI coding agent that writes features, fixes bugs, and proposes code changes across a repo, running tasks in parallel. |
| Pi | ★ 117k | Minimal terminal coding agent harness with four built-in tools, extended through TypeScript extensions, skills and prompt templates instead of forks. |
| Gemini CLI | ★ 108k | 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. |
| Orca | ★ 102k | Open-source desktop workspace that runs Claude Code, Codex, OpenCode and other CLI coding agents in parallel, each in its own git worktree, with a mobile companion app. |
| autoresearch | ★ 98.4k | Karpathy's minimal harness that hands a coding agent a single-GPU LLM training script and lets it run fixed five-minute experiments, keeping or discarding each change on its own. |
| Crush | ★ 28.8k | A coding agent that lives in your terminal, wired into your tools and any LLM you choose |
