# Crush

> Terminal-based agentic coding assistant from Charm that connects to many LLM providers, uses LSPs for context, and extends via MCP servers.

Stars: 28.9k · Language: Go · Categories: AI

- Repository: https://github.com/charmbracelet/crush
- Page: https://www.trmn.sh/tools/crush

## Install

- Homebrew: `brew install charmbracelet/tap/crush`
- NPM: `npm install -g @charmland/crush`
- Go: `go install github.com/charmbracelet/crush@latest`

## Overview

Crush is a terminal-based agentic coding assistant from Charm. It runs as a TUI and connects to an LLM of your choice, giving the model access to your code, tools, and workflows. Providers include Charm's Hyper, Anthropic, OpenAI, Gemini, OpenRouter, Groq, Amazon Bedrock, Azure OpenAI, and Google VertexAI. Any OpenAI- or Anthropic-compatible API can be added as a custom provider, and local models such as Ollama are supported. Press ctrl+l to open the model picker and enter an API key, or set environment variables like ANTHROPIC_API_KEY or OPENAI_API_KEY.

Sessions are kept per project, and you can switch LLMs mid-session while preserving context. Crush pulls in extra context from language servers (LSPs) and can be extended with MCP servers over http, stdio, and sse. The README lists support for macOS, Linux, Windows (PowerShell and WSL), Android, FreeBSD, OpenBSD, and NetBSD.

Configuration is done with a `crushrc`, which is a Bash script with Crush-specific builtins such as `provider add`, `model add`, `permissions allow`, and `mcp add`. Crush has a built-in Bash interpreter, so the same config works on Windows. It is read from `./.crushrc`, `./crushrc`, or `~/.config/crush/crushrc`, in that priority order. Crush also ships a builtin skill for configuring itself. The tool is aimed at developers who want an LLM coding agent in the terminal with a choice of model providers.

### Installation

```bash
# via Homebrew
brew install charmbracelet/tap/crush
```

```bash
# via NPM
npm install -g @charmland/crush
```

```bash
# via Go
go install github.com/charmbracelet/crush@latest
```

![Crush Demo](https://media.trmn.sh/cached/d7e2c315ea691a172ebba8fdedd8eae2191e043c151b4ca14b2f3986cf473b45.gif)

## Alternatives

- [DeepSeek-Reasonix](https://www.trmn.sh/tools/deepseek-reasonix.md): Open-source coding agent shipped as a single Go binary with a TUI, desktop app, and ACP editor integration; DeepSeek preset, any OpenAI-compatible model. (Go, 36.0k stars)
- [Claude Squad](https://www.trmn.sh/tools/claude-squad.md): Terminal UI that runs multiple AI coding agents (Claude Code, Codex, Gemini, Aider) in parallel, each in its own tmux session and git worktree. (Go, 8.7k stars)
- [kubectl-ai](https://www.trmn.sh/tools/kubectl-ai.md): Terminal assistant that turns natural-language requests into kubectl and bash operations using Gemini, OpenAI, Bedrock, Ollama and other LLM providers. (Go, 7.6k stars)
- [mods](https://www.trmn.sh/tools/mods.md): CLI tool that adds AI capabilities to command line pipelines by processing stdin through LLMs (Go, 4.5k stars)
- [Ollama](https://www.trmn.sh/tools/ollama.md): CLI tool for running and managing local large language models with REST API and client library support (Go, 185.1k stars)

---

Canonical: https://www.trmn.sh/tools/crush
