A terminal-native AI coder that speaks LSP and MCP
Crush keeps agentic coding in your terminal by wiring your language servers, tools, and workflows directly into an LLM chat interface.

What it does
Crush is a terminal-based AI coding assistant from Charm. It chats with LLMs while pulling context from your codebase via Language Server Protocol (LSP) integrations and extending its reach through Model Context Protocol (MCP) servers. You maintain multiple project-specific sessions and swap between LLM providers mid-conversation without losing context.
The interesting bit
Instead of treating your terminal as a dumb pipe, Crush treats it as a first-class IDE environment: it reads gopls, typescript-language-server, or whatever LSP you already run, then feeds that structural context to the model. The configuration layer is unexpectedly thorough—shell-style variable expansion works even on Windows, and the app can self-configure via a built-in crush-config skill.
Key highlights
- Multi-model support with mid-session switching and per-project sessions.
- LSP-aware context gathering for Go, TypeScript, Nix, or anything you configure.
- MCP extensibility over
stdio,http, andsse. - Cross-platform terminal support including Windows, Android, and the BSDs.
- Built on the Charm TUI stack, so it inherits polished keyboard-driven interface patterns.
Caveats
crush.jsonexecutes shell-style$(...)expansions at load time with your user privileges, so untrusted project configs are a security hazard.- The README promises “agentic” coding but stops short of explaining how file edits, command execution, or autonomous tool calling actually work.
Verdict
Worth a look if you live in a terminal and want an AI pair programmer that respects your existing LSP setup. Skip it if you need a GUI IDE or if the thought of a JSON config running shell commands before the UI even appears makes you nervous.
Frequently asked
- What is charmbracelet/crush?
- Crush keeps agentic coding in your terminal by wiring your language servers, tools, and workflows directly into an LLM chat interface.
- Is crush open source?
- Yes — charmbracelet/crush is an open-source project tracked on heatdrop.
- What language is crush written in?
- charmbracelet/crush is primarily written in Go.
- How popular is crush?
- charmbracelet/crush has 26.8k stars on GitHub and is currently cooling off.
- Where can I find crush?
- charmbracelet/crush is on GitHub at https://github.com/charmbracelet/crush.