Description
Crush is a terminal-based AI coding assistant from Charm, the team behind widely used open-source CLI tools such as Bubble Tea and Glow. It's the actively maintained successor to Charm's earlier project OpenCode: that repository is now archived, with a notice pointing users to Crush as the project's continuation.
Read More
Crush works as an interactive agent inside the terminal rather than as an IDE plugin. It supports a wide range of large language models and lets you add your own via OpenAI- or Anthropic-compatible APIs, so teams aren't locked into a single provider. Sessions are model-flexible: you can switch which LLM is powering the agent mid-conversation without losing the existing context, and Crush maintains multiple separate work sessions per project so different tasks don't bleed into each other.
To understand a codebase, Crush integrates with Language Server Protocol (LSP) servers, giving it the same structural context (types, definitions, references) that a human developer's editor would have, rather than relying only on raw text. It's also extensible through the Model Context Protocol (MCP), supporting HTTP, stdio, and SSE transports, which lets it connect to external tools and data sources beyond what's built in.
Crush installs through standard package managers on every major platform: Homebrew and npm on macOS and Linux, Winget and Scoop on Windows (including PowerShell and WSL), plus native packages for Arch Linux, Nix, FreeBSD, Debian/Ubuntu, and Fedora/RHEL, and it also runs on Android, OpenBSD, and NetBSD. The GitHub repository is active, with over 28,000 stars and commits as recent as today.
Crush is aimed at developers who want an AI pair programmer that lives in their existing terminal workflow rather than a separate application, particularly those already comfortable with command-line tools and who want flexibility over which model or provider powers their sessions.
- CategoryAI Coding Assistants
- Pricing ModelOpen source
- DeploymentSelf-hosted
- PlatformsmacOS, Linux, Windows
Crush's Core Features
Terminal-native AI coding agent, no IDE plugin required
Multi-model support across OpenAI- and Anthropic-compatible providers
Mid-session model switching without losing context
Multiple concurrent work sessions per project
Language Server Protocol integration for codebase-aware context
Extensible via Model Context Protocol (MCP) over HTTP, stdio, and SSE
Cross-platform: macOS, Linux, Windows (PowerShell/WSL), Android, FreeBSD, OpenBSD, NetBSD
Installable via Homebrew, npm, Winget, Scoop, Nix, and native Linux package managers
Getting Started with Crush
Install: use Homebrew, npm, Winget, Scoop, or your platform's package manager to install Crush
Configure a provider: add an API key for your chosen LLM provider, or a custom OpenAI/Anthropic-compatible endpoint
Start a session: launch Crush in your project directory from the terminal
Work with the agent: describe a coding task and let Crush read, edit, and run code with LSP context
Switch models: change the underlying LLM mid-session if needed, without losing context
Extend with MCP: connect additional tools or data sources through Model Context Protocol servers
Crush's Use Cases
- Terminal pair programming
- Multi-model workflows
- Codebase-aware editing
- Tool-connected agents







