charmbracelet/crush

Developer Tools

A terminal coding agent that plugs your existing tools, LSPs and MCP servers into whichever LLM you already pay for.

28,807
2,326
Go
NOASSERTION
1 year old

Crush is worth a serious look if you already work in a terminal and want an agent that stays inside your existing editor and tooling rather than replacing them. The adoption decision hinges less on features than on how much you value terminal polish versus plain CLI behaviour.

The problem

You have a coding task, open a chat window beside your editor, and start pasting file contents, error output and project conventions back and forth. The assistant doesn't see your LSP diagnostics, your MCP tools, or the session history from yesterday, so you spend the first minutes of every conversation rebuilding context. Crush moves that loop into the terminal: you start a session in the project directory, the agent reads the code and LSP context, calls tools, and keeps a per-project session you can resume. The result is a working session you continue rather than a chat you restart.

What's different

The model layer is the main design choice. Crush lets you pick from many providers or add an OpenAI- or Anthropic-compatible endpoint project instructions, and it can switch models mid-session while keeping context. Provider and model metadata refresh automatically from the open Catwalk database project instructions, which keeps new endpoints usable without hand-editing configuration, but also means an outbound update check is the default unless you turn it off.

Sessions, LSP enrichment and MCP servers (http, stdio and sse) are what connect the agent to real project work rather than just a prompt. The terminal focus is deliberate: the project comes from Charm, which builds CLI tooling for Go, and commenters in the launch thread noted that lineage when defending the visual style comment. That style attracted criticism too. One commenter argued that these terminal agents pile on whitespace, line art and animations while missing expected keybindings, tab completion and flicker-free rendering, so they don't behave like a REPL or CLI despite the same interaction model comment. Another wished for a rich scrolling log across programs instead of a mix of both comment. Whether the interface appeals to you is a real trade-off to weigh, not a detail.

Who should try it

Good fit: a developer who lives in a terminal, wants to keep their editor and shell, and needs one agent that can reach several model providers and their own MCP tools. The multi-provider and mid-session switching design matters most for people who compare models per task or route cheap tasks to cheap models.

Poor fit: someone who wants a plain, scriptable CLI that composes like grep, or who is committed to a single vendor's deep editor integration. The full-screen TUI and the decoration complaints above are the main reasons. If you want a terminal agent but not Charm's visual approach, the launch thread shows the disagreement is about interface philosophy, not missing functionality.

Requirements and limitations

Installation is broad, through Homebrew, npm, Arch, Nix and BSD packages, or winget and Scoop on Windows project instructions. Running it requires a model provider: either Charm's subscription-based Hyper service project instructions or your own API key or compatible endpoint. Choosing a provider is the first real setup decision, and the documented config commands for custom endpoints are the place to start.

The sharp edge is configuration trust. The README states plainly that both crushrc and crush.json are trusted code: crushrc runs in a full shell and $(...) in crush.json executes at load time, so you should not launch it in a directory whose config you haven't reviewed or source unknown config from the internet project instructions. Treat configuration like shell startup files, not like passive JSON settings. Automatic provider updates add an ongoing network dependency you can disable for restricted or air-gapped environments project instructions, but then you maintain model metadata yourself.

The license is FSL-1.1-MIT licence, which is not a plain OSI-style permissive licence; check whether that matters for your organisation before adopting.

HotRepo's take

HotRepo has tracked Crush since 2026-10-24, with one daily-board observation: 28,804 stars on 2026-10-25, a +26 day project. That single snapshot, on a repository created in May 2025, cannot support any judgement about momentum or persistence, so treat the star count as a dated fact, not a trend. For a decision, the useful check is whether the default provider refresh and the trusted-code config model fit your environment; review a real crushrc before pointing it at a work repository.

Hacker News

Crush: Glamourous AI coding agent for your favourite terminal
▲ 367 · 235 comments · July 30, 2025

Written by AI from the project's README, updated October 25, 2026. The project's own docs are the source of truth.