mrkeyoor.com_
Sat 31 Oct 05:55 UTC
AI Toolsevaluationupdated 01 Oct 2026

crush review

Crush is a terminal coding agent that can edit a project, run tools, use language servers, and connect to several model providers. It gives developers one text interface for coding sessions without tying the workflow to a single model company.

+80stars / 7d
Verdict

Our Crush run passed all 118 tests, but install, build, and test took 627 seconds combined, so this polished terminal client still asks for patience when you work on its source. Use it if model choice, MCP connections, and an interactive terminal matter to you. Read the executable project config before launch, keep tool approvals on, and check the FSL terms before turning it into a commercial service.

We ran it

Lab card: what happened when we ran crushScreenshot of crush (github.com/charmbracelet/crush)
Install✓ · 166s446 packages
Build✓ · 211s
Tests✓ · 250s118 passed · 0 failed of 118 (go test)
Repo1214 files~167,608 lines of source · 9.4 MB · 10 CI workflows

Answers from our run

Does crush build from source?

Dependencies installed in 166 seconds (446 packages), and the build succeeded in 211 seconds. We cloned commit 89c3c4a into a clean Debian container with 3 CPUs and no project-specific setup.

Do crush's tests pass?

Yes. The project's own test command finished in 250 seconds and reported 118 passed, 0 failed (go test).

Who should not use crush?

Companies building a competing hosted coding agent: FSL-1.1-MIT bars competing commercial use until each release reaches its two-year MIT conversion date.

What are the alternatives to crush?

OpenCode, Aider, OpenHands. Our Crush run passed all 118 tests, but install, build, and test took 627 seconds combined, so this polished terminal client still asks for patience when you work on its source.

Setup4/5Many binary packages, but a 166-second source install
Docs5/5Detailed provider, permission, config, MCP, and platform guidance
Community5/528,460 stars and code pushed on October 2, 2026
Maturity4/5118 passing tests, signed releases, and a large open queue

Discussed on

  1. hnCrush: Glamourous AI coding agent for your favourite terminal367 points

Who it’s for

Developers who want an agentic coding interface inside the terminal.
Teams that need to switch models during a session while keeping the conversation.
Users who want MCP servers, language servers, and reusable Agent Skills in one client.
Go teams willing to inspect project configuration before launching an agent.

Who it’s NOT for

Companies building a competing hosted coding agent: FSL-1.1-MIT bars competing commercial use until each release reaches its two-year MIT conversion date.
Developers who want a tool that cannot execute repository configuration: the README says both crushrc and legacy crush.json are trusted code, including command expansion.
Locked-down environments that forbid usage reporting or automatic catalog checks unless administrators enforce the documented opt-outs.
People inclined to bypass confirmation prompts: --yolo removes every tool approval, and the project itself warns users to be careful.

Setup reality

Our fresh Debian sandbox installed commit 89c3c4a in 166 seconds, pulling 446 Go packages. The build succeeded in 211 seconds, and all 118 tests passed in 250 seconds.

Using Crush needs a model connection. The guided route uses a Charm Hyper account, while other providers require their own API credentials or a local OpenAI-compatible endpoint. MCP services, language servers, and Agent Skills add separate commands and configuration.

The repository has 1,214 files, about 167,608 source lines, and no Dockerfile. Project-level crushrc files execute as shell code, metrics and provider-list updates are on by default, and Linux clipboard support may need wl-copy, xclip, or xsel.

Crush puts editing, shell tools, and model chat in one terminal

Crush opens as a full-screen terminal application, keeps separate sessions per project, and lets you change models without throwing away the conversation. It can edit files, run shell commands, consult language servers, and call MCP tools. That combination is the reason to choose it: you get one working surface for code and model interaction instead of a chat window beside your editor.

The client supports macOS, Linux, Windows, Android, FreeBSD, OpenBSD, and NetBSD. Installation choices include Homebrew, npm, Winget, Scoop, Nix, distribution packages, release binaries, and go install. Version v0.97.1 was released on September 29, 2026, with signed checksums and binaries. This is mature packaging for a project whose current checkout contains 1,214 files.

Crush supports hosted and local models, with separate credentials

The quickest documented start uses Charm Hyper, a subscription service with a free tier. Crush also connects to Anthropic, OpenAI, Gemini, OpenRouter, Amazon Bedrock, Azure OpenAI, Vertex AI, and other services through provider-specific credentials. Local models work through Ollama, LM Studio, llama.cpp, or another compatible endpoint. You can define an OpenAI-compatible or Anthropic-compatible provider when the built-in list does not fit.

That freedom does not make inference free or private by itself. Your model provider receives the requests you send according to its own terms. Bedrock can need several AWS variables, while Vertex AI needs a project and location. None of those provider paths was covered by our 446-package source install. Crush also checks the Catwalk provider catalog for updates unless you disable that behavior. Decide where code may travel before pasting the first credential.

What happened when we ran it

Our sandbox installed commit 89c3c4a in 166 seconds and pulled 446 packages. The build completed in 211 seconds. Go's test command then passed all 118 tests in 250 seconds, with 0 failures. The container had 3 CPUs, 8 GB of RAM, Debian with Go 1.24, no secrets, and no elevated privileges.

Those results cover repository mechanics, not agent quality. We did not send source code to a model, compare generated patches, measure token use, or test the many provider routes. The checkout was 9.4 MB and held about 167,608 lines of source. Ten CI workflow files were present, but the repository had no Dockerfile and no top-level tests directory.

Two project config formats can execute shell commands at load time

Crush now uses crushrc, a Bash-like configuration file that works across supported systems. The README calls both crushrc and the older JSON format trusted code. Shell expansion such as $(command) can run while configuration loads. A cloned repository can include local config with higher priority than your global file, so opening an unfamiliar project deserves the same caution as running one of its scripts.

Permissions are more considered than the playful interface suggests. Tool calls ask before execution by default. You can allow selected tools, deny others, or hide specific MCP tools. The --yolo option removes every prompt. Leave it off until a project's 2 executable config formats, skills, and connected services have been checked. An attractive terminal does not shrink the authority granted to an agent.

MCP supports 3 transports alongside language servers and skills

MCP connections may use stdio, HTTP, or server-sent events, with headers, environment variables, disabled-tool lists, timeouts, and OAuth where supported. Language servers add code context. Agent Skills can come from global folders or project directories, including .agents/skills, .crush/skills, and .claude/skills. Each extension increases what Crush can see or do, which is useful only when its permissions match the job.

Crush also records pseudonymous usage metadata tied to a device-specific hash, though its documentation says prompts and responses are excluded. CRUSH_DISABLE_METRICS=1 or DO_NOT_TRACK=1 disables that reporting. Provider auto-updates have separate controls. Teams with egress rules should set both policies centrally rather than expect every developer to remember 2 environment switches.

The FSL license limits competing commercial services

The repository labels the code FSL-1.1-MIT. Internal use, noncommercial education, research, and professional services for a compliant licensee are named permitted purposes. A commercial product or service that substitutes for Crush or a related Charm product is excluded. Each version converts to MIT on the second anniversary of its availability, so the legal position changes release by release.

Development activity is substantial: GitHub showed 28,460 stars, 833 combined open issues and pull requests, and a last push on October 2, 2026. One open issue against v0.97.1 describes terminal mouse selection missing the character under the cursor. That is a small defect beside a fully passing 118-test run, but the large queue means buyers should check their own terminal and provider path before standardizing on Crush.

Alternatives

ProjectWhat it isPick it when
OpenCode gh↗An open source terminal coding agent with a client and server design.pick this instead when its client-server workflow or provider support fits your team better.
Aider gh↗A terminal pair programmer built around repository-aware chat and Git commits.pick this instead when explicit Git-centered editing is more useful than Crush's full-screen interface.
OpenHands gh↗A coding-agent platform with browser, command-line, and SDK routes.pick this instead when you need a service or SDK around agents rather than a terminal-first client.

What people are saying

  1. [velocity-scout] FerryCorleone/crush-monitor
  2. [github-trending] charmbracelet/crush

Sources

  1. Crush README
  2. Crush v0.97.1 release
  3. Crush FSL-1.1-MIT license
  4. Mouse selection issue 4013

More ai tools reviews

KiroCrew · Orkas · hypit · Paradev · see-through · Resume-Matcher · the whole board →

Related reading