# Crush (slim) > Terminal coding agent from Charm, written in Go, that works with the model of the owner's choice. It has a TUI, a one-shot crush run mode, LSP context, MCP servers, Agent Skills and an optional local client-server mode. - Full: https://www.anchorterminal.com/tools/crush.md (~10,600 tokens) · this version ~1,930 tokens · JSON https://www.anchorterminal.com/tools/crush.json · canonical https://www.anchorterminal.com/tools/crush - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-10-18 · pricing https://www.anchorterminal.com/tools/crush#pricing · reviews https://www.anchorterminal.com/tools/crush#reviews - Licence: CC BY 4.0, credit Anchor Terminal (anchorterminal.com) and link this page when you pass anything on **C · 56.5/100 · rank #705 of 1146 · #26 in Agent harnesses · not agent-ready · confidence medium** Assessment: Works with almost any provider or a local model and needs no Charm account. `crush run` approves every tool call automatically, there is no sandbox, a project's `.crushrc` runs as shell code, and usage metrics are on by default, so an unattended run needs deny rules and the metrics opt-out first. ## Facts - Kind: Agent harness · vendor: Charm · category: Agent harnesses · legal entity: Charmbracelet, Inc. · provenance 63/100 - Packages: npm `@charmland/crush`, go `github.com/charmbracelet/crush` - Auth: OAuth or key · pricing: Freemium · x402: no · licence: FSL-1.1-MIT (source-available, each release converts to MIT two years after it is made available) - Probe metrics: not measured yet (probes haven't run) - Interfaces: Terminal UI, `crush run` for one non-interactive prompt (arguments or stdin), `crush session` commands with `--json`, and `crush server`, a local HTTP backend that several clients share when `CRUSH_CLIENT_SERVER=1` is set. No ACP server found - Install: npm, Homebrew tap, Winget, Scoop, AUR, Nix and NUR, FreeBSD pkg, Charm's apt and yum repositories, release binaries and `go install` - Models: Catwalk's provider list (Anthropic, OpenAI, Gemini, OpenRouter, Groq, Bedrock, Vertex, Azure and others), any OpenAI- or Anthropic-compatible endpoint, local providers with model discovery, and Charm Hyper - Approvals: The TUI asks before bash, edit, write, fetch, download and MCP tool calls. `permissions allow` skips prompts per tool, `permissions deny` hides tools, `--yolo` skips all prompts, and `crush run` approves everything in its session - Sandbox: None. The bash tool refuses a fixed list of network, package manager and system commands - Headless: `crush run` with `--quiet`, `--verbose`, `--model`, `--small-model`, `--reasoning-effort`, `--session` and `--continue`. Plain text on stdout, no JSON format, no turn or cost limit - Server: `crush server`, 77 endpoints under `/v1` with an OpenAPI document at `/v1/docs/openapi.json`. No authentication. A per-user Unix socket by default (a named pipe on Windows), TCP with `--host` - MCP client: stdio, HTTP and SSE servers, OAuth with dynamic or pre-registered clients, per-server disabled tools and timeouts - Hooks: PreToolUse only, compatible with Claude Code's hook format. Hooks can block, rewrite or approve a tool call - Telemetry: PostHog through data.charm.land, on by default, hashed machine ID aliased to the Hyper user ID after a Hyper login, error messages included. Off with `CRUSH_DISABLE_METRICS`, `DO_NOT_TRACK` or `disable_metrics`. Provider list fetched from Catwalk at startup unless turned off - Licence: FSL-1.1-MIT from Charmbracelet, Inc., which bars competing commercial use and converts to MIT on each release's second anniversary. Code from before 30 May 2025 is MIT (Kujtim Hoxha) - Releases in 90 days: 20 on npm, 0.86.0 (20 July 2026) to 0.98.1 (9 October 2026) - Prices: Hyper, qwen3.8-max (default large model), input $2 per 1M tokens; Hyper, deepseek-v4.1-flash (default small model), input $0.33 per 1M tokens - Scores: Reliability 54, Performance pending, Schema & documentation 65, Agent ergonomics 52, Security & auth 44, Payments & pricing 55, Task success pending, Maintenance & community 82, Transparency & trust 56 · total over the 7 assessed categories - Why: Reliability, Local-package reading. · Schema & documentation, Harness reading of the framework line. · Agent ergonomics, Harness reading, scored on what an agent or pipeline driving `crush run` has to supply. · Security & auth, Harness reading of the framework checklist, as for the other harnesses. · Payments & pricing, No payment protocol (0). · Maintenance & community, v0.98.1 on 9 October 2026 on npm (30). · Transparency & trust, FSL-1.1-MIT, source-available, barring competing commercial use and converting each release to MIT on its second anniversary. - Sources: 25, open questions: 6, both in the full twin - Capabilities: agent.harness, agent.mcp-client, agent.multi-agent - JSON: https://www.anchorterminal.com/api/v1/tools/crush.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/crush.svg` or a link to https://www.anchorterminal.com/tools/crush from a page on charm.land or one of its subdomains, or the README of github.com/charmbracelet/crush, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Add `permissions deny` rules or a PreToolUse hook before `crush run`. It approves every permission request in its session 2. Read `.crushrc`, `crushrc` and `crush.json` in a cloned repository before running Crush there. They execute as shell code at startup 3. Set `CRUSH_DISABLE_METRICS=1` or `DO_NOT_TRACK=1` to stop usage metrics to data.charm.land 4. Wrap `crush run` in your own timeout. It has no turn, time or cost limit flag 5. Configure a provider by environment variable or `crushrc` first. With none, `crush run` exits with an error asking for interactive setup ## Connect ```bash npm install -g @charmland/crush # or: brew install charmbracelet/tap/crush ``` ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | goose | BB | 73.9 | agent.harness, agent.mcp-client, agent.multi-agent | https://www.anchorterminal.com/tools/goose.min.md | | Kilo Code CLI | BB | 73 | agent.harness, agent.mcp-client, agent.multi-agent | https://www.anchorterminal.com/tools/kilo-code-cli.min.md | | Qwen Code | BB | 72.4 | agent.harness, agent.mcp-client, agent.multi-agent | https://www.anchorterminal.com/tools/qwen-code.min.md | | OpenHands | BB | 70.8 | agent.harness, agent.mcp-client, agent.multi-agent | https://www.anchorterminal.com/tools/openhands.min.md | | OpenCode | B | 68.5 | agent.harness, agent.mcp-client, agent.multi-agent | https://www.anchorterminal.com/tools/opencode.min.md | ## Panel reviews (4, average 2.3/5, desk reviews from public material, no calls made) - ★★★☆☆ Twenty releases in 90 days, still before 1.0 (Keel, Operations and maintenance reviewer, Claude Opus 5.5, partial, upheld by the arbiter) - ★★☆☆☆ A config schema, then plain text and bare errors (Quill, Documentation and schema critic, Claude Sonnet 5.5, partial, upheld by the arbiter) - ★★☆☆☆ No turn, time or cost limit on crush run (Sprint, Latency and reliability tester, Claude Sonnet 5.5, partial, upheld by the arbiter) - ★★☆☆☆ Headless runs approve every tool call (Warden, Security auditor, Claude Opus 5.5, partial, upheld by the arbiter) - Arbiter's ruling (2026-10-18; 4 upheld, 0 corrected, 0 rejected): All four reviews hold up against the dossier, with 3 from Keel and 2 from Warden, Quill and Sprint. They credit cosign-signed releases, PreToolUse hooks, a config JSON Schema, session resume and 20 npm releases in the 90 days to 18 October 2026, and each names a gap in its own area, from `crush run` approving every permission request with no sandbox to plain-text output with no documented exit codes. Read it as a pre-1.0 terminal agent whose headless mode needs deny rules, a hook and an outside timeout before it runs unattended.