28,545 stars · FSL-1.1-MIT (not open source) · v0.97.1 (29 Sep 2026) · Track this in Scout
A terminal program that drives an AI model over the code in the current folder.
▶Repo detailsthe review · specs · pros & cons · install
What it is
Crush is an agentic coding tool from Charmbracelet, the team behind several widely used terminal interface libraries. It supports many providers, including models running locally through Ollama or llama.cpp, and it has shipped 97 minor versions in sixteen months.
What it is good for. Anyone who works in a terminal and wants a coding assistant there rather than inside an editor. The local-model route is the interesting one for anyone who is not allowed to send source code to an outside provider at all.
- It installs from almost every package manager there is: Homebrew, npm, winget, scoop, apt, yum, Arch, FreeBSD and Nix, with prebuilt binaries for Linux, macOS, Windows and the BSDs.
- It works three ways: a provider key of one's own, the maker's subscription, or a model running on the same machine.
- Permission prompts before tool calls are the default behaviour, not an option that has to be found.
- NOT OPEN SOURCE. The licence is the Functional Source License 1.1 with MIT future. Use is granted only for a "Permitted Purpose", defined as "any purpose other than a Competing Use", and a Competing Use includes offering "the same or substantially similar functionality" in a commercial product. Each version converts to plain MIT two years after its own release. GitHub shows no licence label at all, and Go's own package index reports "License: UNKNOWN" with the redistributable box unchecked.
- Its configuration files run shell code when they load. The README states it: "
crushrcruns in a full shell, and any$(...)incrush.jsonruns at load time", followed by "Don't launch Crush in a directory whose config you haven't reviewed." Starting it inside a repository written by someone else is therefore arbitrary code execution. - A
--yoloflag skips every permission prompt, usage metrics are collected by default untilCRUSH_DISABLE_METRICS=1is set, and there are 409 open issues against 270 open pull requests. No memory, disk or processor figure is published, and neither is a minimum Go or Node version for the two source install routes.
- google-gemini/gemini-cli
The same terminal agent loop, tied to Google's own models and quotas rather than a provider of one's choosing.
Track this in Scout
cline/clineThe same edit-and-run loop with approval gates, primarily as an editor extension and a software kit.
Track this in Scout
TabbyML/tabbyThe self-hosted answer, which runs the model itself instead of calling out to one.
Track this in Scout
brew install charmbracelet/tap/crush


