mrkeyoor.com_
Tue 15 Sept 22:45 UTC
AI Toolsevaluationupdated 26 Aug 2026

crush review

Crush is a terminal coding agent that can inspect and edit a project, run tools with permission, use language servers, and connect to several model providers. It keeps work in sessions and extends its tool set through MCP servers and Agent Skills.

+108stars / 7d
Verdict

Our Crush run built in 155 seconds and passed all 52 tests in 192 seconds, making this the cleanest contributor result in this batch so far. Use it if you want a polished terminal agent with real provider choice, MCP support, skills, and permission controls. Review its executable project configuration and FSL competing-use restriction before standardizing it across a company.

We ran it

Lab card: what happened when we ran crushScreenshot of crush (github.com/charmbracelet/crush)
Install✓ · 117s452 packages
Build✓ · 155s
Tests✓ · 192s52 passed · 0 failed of 52 (go test)
Repo1100 files~147,342 lines of source · 9 MB · 10 CI workflows

Answers from our run

Does crush build from source?

Dependencies installed in 117 seconds (452 packages), and the build succeeded in 155 seconds. We cloned commit 37f36e9 into a clean Debian container with 3 CPUs and no project-specific setup.

Do crush's tests pass?

Yes: 52 of 52 passed when we ran the project's own test command (go test). Some failures need services or credentials a bare container does not have.

Who should not use crush?

Companies building a competing commercial coding-agent service: FSL-1.1-MIT forbids competing use until each version reaches its two-year MIT date.

What are the alternatives to crush?

OpenCode, Aider, Goose. Our Crush run built in 155 seconds and passed all 52 tests in 192 seconds, making this the cleanest contributor result in this batch so far.

Setup4/5Many binary installs; source setup passed but took nearly eight minutes
Docs5/5Detailed providers, config, permissions, MCP, skills, and platform notes
Community5/527,705 stars with same-day releases, issues, and pull requests
Maturity4/5Broad working feature set, with rapid changes and FSL licensing

Discussed on

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

Who it’s for

Terminal users who want one coding-agent interface across hosted and local models.
Developers who value per-tool permission prompts and configurable denials.
Teams using MCP servers, language servers, or reusable Agent Skills in project workflows.
Users prepared to review project configuration before the agent opens a repository.

Who it’s NOT for

Companies building a competing commercial coding-agent service: FSL-1.1-MIT forbids competing use until each version reaches its two-year MIT date.
Developers who open untrusted repositories without inspection: the README says crushrc and legacy crush.json are trusted code, including command substitution at load time.
Teams that require prompts and responses to stay entirely on their own machines: most documented providers need external API credentials, while local models require a separate compatible server.
Operators who cannot tolerate pseudonymous usage reporting unless an opt-out is enforced: metrics are enabled by default, though CRUSH_DISABLE_METRICS and DO_NOT_TRACK disable them.
Automation that might block on an approval request: issue 3648 reports crush run hanging with client-server mode, and the same-day pull request was still open when checked.

Setup reality

Our Go sandbox installed 452 packages in 117 seconds. The build succeeded in 155 seconds, then all 52 tests passed in 192 seconds. The checkout at commit 37f36e9 contained 1,100 files, about 147,342 source lines, and occupied 9 MB.

A useful session still needs a model. Charm Hyper has its own authentication and subscription, while providers such as Anthropic, OpenAI, Gemini, Bedrock, and OpenRouter need their corresponding credentials. Local models require a compatible local API and explicit model settings.

Crush can run shell, edit files, load project instructions, start MCP servers, and execute configuration commands. Permission prompts are the default safety boundary. Project config is trusted code, and the --yolo option removes prompts entirely, so repository review is part of setup rather than optional hygiene.

Crush combines a coding agent with a serious terminal interface

Crush works inside a repository, keeps multiple sessions, calls coding tools, and uses language-server diagnostics as context. A model can come from Charm Hyper, a long list of hosted providers, Amazon Bedrock, Vertex AI, or a local OpenAI-compatible endpoint. Models can change during a session without discarding the conversation. The terminal interface is available across macOS, Linux, Windows, Android, FreeBSD, OpenBSD, and NetBSD through packages or release binaries.

Provider choice is more than a settings checkbox. Different models have different context windows, tool behavior, prices, and authentication. Crush maintains a provider catalog through the separate Catwalk project and updates that catalog automatically unless the user disables it. Restricted environments can pin the embedded catalog or point at a local file. That control matters when an organization needs repeatable model metadata instead of a background update.

Permission prompts are useful only if teams keep them

Built-in tools ask for approval by default. Users can allow selected operations, deny tools so the model cannot see them, disable individual skills, or block tools exposed by an MCP server. These are practical controls because a coding agent can edit source, run shell commands, and reach services. A narrow allow list is easier to audit than a broad promise that the model will behave.

The README also documents --yolo, which skips every prompt. That option may be convenient in a disposable sandbox, but it removes the main human checkpoint. Shared workspaces add another detail: the first client fixes process-wide --yolo and debug settings for that working directory. Later clients cannot quietly change them. Teams using crush serve should make the workspace policy explicit before anyone attaches.

What happened when we ran it

Our sandbox cloned commit 37f36e9 into a fresh unprivileged Debian container with 3 CPUs and 8 GB of RAM. The repository had 1,100 files, about 147,342 source lines, and occupied 9 MB. Go installed 452 packages in 117 seconds. The dependency step was the shortest part of a source verification that took almost 8 minutes end to end.

The build completed successfully in 155 seconds. Tests then ran for 192 seconds and reported 52 passed with 0 failed out of 52. The checkout contained 10 CI workflow files, no Dockerfile, and no tests directory. Go tests do not require a top-level folder, so the missing directory does not conflict with the passing suite we measured.

Our run did not connect a model, spend provider credits, edit a real repository, start an MCP server, or test an interactive approval. It verifies that this commit compiled and passed the detected Go suite in the stated container. Agent quality, tool judgment, context use, and cost still depend on the chosen model and the work given to it.

Project configuration is executable code

Crush now prefers crushrc, a Bash-like configuration interpreted consistently across platforms. It can add providers, register models, set permissions, configure language servers, include files, and run command substitutions. The older JSON format remains supported but is deprecated, and command substitutions there also execute at load time. The README directly warns users not to launch Crush in a directory whose configuration they have not reviewed.

That warning should shape team policy. A cloned repository can contain local .crushrc or crushrc files with higher priority than the global configuration. Treat them like build scripts: inspect changes in code review, keep secrets in an external manager, and avoid sourcing files fetched from the internet. Global AGENTS.md and CRUSH.md files add more instructions, while project skill directories can introduce agent behavior.

MCP and skills extend both capability and risk

Crush supports stdio, HTTP, and SSE MCP servers. Configuration can set environment values, headers, timeouts, disabled tools, OAuth, and sessionless behavior. Release v0.91.2 specifically fixed GitHub MCP by detecting its sessionless connection pattern. The same release corrected code indentation in the interface and added 3 models to Hyper, evidence that integrations and display behavior are moving quickly.

Agent Skills are discovered from several global and project directories, including .agents/skills and .claude/skills. A skill can be model-invoked, user-invoked through the command palette, or hidden from automatic use. This makes recurring workflows portable, though instructions from an untrusted skill can steer tool use. MCP credentials, enabled tools, and skill sources deserve the same review as the agent's shell permissions.

The source is available now and becomes MIT later

Crush uses FSL-1.1-MIT rather than a standard permissive open-source license today. Internal use, education, research, and professional services for a compliant licensee are permitted. Offering a competing commercial product or service is restricted. Each released version receives an MIT license on the second anniversary of the date that version was made available. Businesses near the competing-use line should obtain legal advice before redistribution or service use.

GitHub showed 27,705 stars, a push on August 26, 2026, and 672 combined open issues and pull requests. Version 0.91.2 shipped the same day. That pace gives users quick fixes, but it also argues for pinned versions and a small upgrade check around config, providers, MCP connections, and permissions. Crush is ready to try; safe adoption depends on preserving the controls it already provides.

Alternatives

ProjectWhat it isPick it when
OpenCode gh↗A terminal coding agent with multiple providers, sessions, and a client-server architecture.pick this instead when its interface, provider support, or licensing better fits your team's coding-agent workflow.
Aider gh↗A command-line coding assistant centered on repository edits and Git-aware workflows.pick this instead when a mature chat-and-diff workflow matters more than Crush's TUI, MCP, and skill system.
Goose gh↗An extensible local agent that can work on code and connect to outside tools.pick this instead when its extension model and Apache-2.0 license are a better organizational fit.

What people are saying

  1. [theverge] Amazon is trying to crush class-action suits before they get started
  2. [github-trending] charmbracelet/crush
  3. [hackernews] 'Crush this lady': how eBay harassment campaign led to $56M payout

Sources

  1. Crush README
  2. Crush FSL-1.1-MIT license
  3. Crush v0.91.2 release
  4. Crush issue 3648

More ai tools reviews

LocalMiniDrama · agents-towards-production · Marinara-Engine · AI-Engineering-Coach · sdf-js · TradingAgents-astock · the whole board →