AI/TLDR

Crush

A coding agent that lives in your terminal, wired into your tools and any LLM you choose

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.

bashbash
brew install charmbracelet/tap/crush
# or
npm install -g @charmland/crush

Or install with Go

If you have a Go toolchain, install the latest release directly.

bashbash
go install github.com/charmbracelet/crush@latest

Set 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.

bashbash
export ANTHROPIC_API_KEY=...
crush

Customize 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.

ToolStarsWhat it does
opencode★ 176kOpenCode 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★ 105kAn 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.8kAn 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.9kGoose 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.1kContinue 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.1kVibe 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.6kSerena is an open-source MCP toolkit that gives any LLM coding agent symbol-level code retrieval, editing, and refactoring across 40+ languages.
Crush★ 25.5kA coding agent that lives in your terminal, wired into your tools and any LLM you choose