# Crush

Terminal coding agent from Charm with many model providers, LSP and MCP integration, and a permission prompt before tool calls.

Canonical profile: https://ki-agentenkompass.de/en/agents/crush/
Editor: [Michael Meierhoff](https://ki-agentenkompass.de/en/about/)
Sources reviewed: 2026-11-05
Basis: provider documentation. Examples are editorial suggestions, not hands-on product tests.

## Overview

Crush is developed by Charmbracelet, Inc. Charm also runs its own model provider, Hyper, for Crush, which the documentation calls the official provider.

- Provider: Charm
- Product family: Crush
- Profile type: Terminal coding agent
- Environment: Terminal on macOS, Linux, Windows (PowerShell and WSL), Android, FreeBSD, OpenBSD and NetBSD
- Connections: Model providers, LSP servers, MCP servers (stdio, http, sse), Agent Skills and hooks
- Setup: Install via Homebrew, npm, a package manager or go install, then choose a model: a Hyper account or your own API key.
- Pricing model: The software is under the FSL-1.1-MIT licence, not an ordinary open-source licence. Model access costs extra: through Hyper, your own key or a local model.

## Key features

### Multiple models and providers

You choose models from various providers or add your own through OpenAI- or Anthropic-compatible APIs. The model can be switched mid-session, and the README says context is preserved.

Source: https://github.com/charmbracelet/crush

### Sessions per project

Crush keeps multiple work sessions and contexts per project.

Source: https://github.com/charmbracelet/crush

### LSP context

Crush uses language servers for additional context; you set them up with a command.

Source: https://github.com/charmbracelet/crush

### MCP extensions

MCP servers over stdio, http and sse extend the tools. HTTP and SSE servers have built-in OAuth support.

Source: https://github.com/charmbracelet/crush

### Permission prompts for tool calls

By default Crush asks before tool calls. You can allow or deny tools, or skip all prompts with --yolo.

Source: https://github.com/charmbracelet/crush

### Hooks and Agent Skills

Hooks are shell commands at points in the agent run; they can block, allow or modify tool calls. Skills follow the open Agent Skills standard.

Source: https://github.com/charmbracelet/crush/tree/main/docs/hooks

## Example workflows

### Code change with approval

- Your input: A project folder with AGENTS.md and a limited change.
- Possible result: The agent proposes file changes and commands and runs them after your approval.
- What to check: Check the diff and tests; grant lasting permissions only selectively.

### Enforce rules through hooks

- Your input: A hook per event, such as before tool calls, with your own script.
- Possible result: The script can block or allow calls or modify inputs.
- What to check: Test the hook scripts; on conflict, the docs say a deny beats an allow.

## Requirements and limits

### Model access required

Requirement: You need a Hyper account, a provider API key or a local model.

Source: https://github.com/charmbracelet/crush

### Licence with competing-use restriction

Limitation: FSL-1.1-MIT permits any purpose other than a competing use, explicitly including internal use, non-commercial education and research, and professional services for a licensee. A competing use is a commercial product or service that substitutes for Crush or another Charm offering using it, or provides substantially similar functionality. Two years after a version is released, the MIT licence applies to it.

Source: https://github.com/charmbracelet/crush/blob/main/LICENSE.md

### Configuration is executable code

Limitation: crushrc and crush.json are treated as trusted code and can run commands. The README advises against launching Crush in folders whose configuration you have not reviewed.

Source: https://github.com/charmbracelet/crush

### --yolo skips all prompts

Limitation: The flag turns off permission prompts; the README explicitly warns about it.

Source: https://github.com/charmbracelet/crush

### Schedules and team administration

Not yet confirmed: The reviewed pages describe neither schedules nor central administration for organisations.

Source: https://github.com/charmbracelet/crush

## A good fit if …

- you work in the terminal and want to use models from various providers or local models
- you want to approve tool calls before they run and need hooks for your own rules
- you want to connect LSP context and MCP servers in a terminal agent

## Less suitable if …

- you need an ordinary open-source licence or are building a competing commercial product on it
- you expect schedules or event-driven unattended runs
- you need central team and admin management

Editorial assessment based on provider documentation. Not a product test.

## Usable AI models

Open choice

Crush works with your own keys for many providers such as Anthropic, OpenAI, Gemini, Z.ai or Moonshot, with OpenRouter and Charm's Hyper service. You can add further providers yourself through OpenAI- or Anthropic-compatible interfaces. Crush discovers local models from Ollama, LM Studio, llama.cpp and oMLX.

- Model families named: Anthropic (Claude), OpenAI (GPT), Google (Gemini), Z.ai (GLM), MiniMax, Moonshot (Kimi), xAI (Grok), DeepSeek · Other models can be connected freely
- Model choice: You choose
- Your own API key: Yes
- Router or custom endpoint: Yes
- Local models: Yes

Documented · Sources accessed on: 2026-11-05

- [Crush: Repository](https://github.com/charmbracelet/crush)

- [Crush: README](https://raw.githubusercontent.com/charmbracelet/crush/main/README.md)

## Europe & regional availability

README and licence reviewed. They name no country release or data region; only Hyper is described as GDPR compliant.

Reviewed scope: Local software; model providers separately
Reviewed on: 2026-11-05

### Europe: no availability statement

Availability still unclear

Crush runs locally on your machine. The README calls Hyper GDPR compliant and says it offers zero data retention; it names no countries or data regions. Pseudonymous usage metrics are on and can be turned off with CRUSH_DISABLE_METRICS=1 or DO_NOT_TRACK=1. Check model providers separately.

Region covered: EU/EEA, United Kingdom and Switzerland

Documented reason: The reviewed sources name no country release for this.

Official source: https://github.com/charmbracelet/crush

## Accounts & permissions

Based on provider documentation. Permissions depend on the account, integration and organization policies. Review the permissions actually requested before use.

Configuration covered: Local coding agent with your own model access
Sources reviewed: 2026-11-05

### Account used

Documented: You authenticate in the model picker for Hyper or paste an API key; alternatively set environment variables such as ANTHROPIC_API_KEY. Hyper involves an account with a free plan.

Evidence: https://github.com/charmbracelet/crush
Evidence: https://next-docs.charm.land/hyper/plans-billing.html

### Admin approval

Open in reviewed sources: The reviewed pages do not mention approval or restriction by organisation administrators.

Evidence: https://github.com/charmbracelet/crush

### Data access & team sharing

Documented: By default Crush asks before tool calls. You can allow or deny tools; --yolo skips all prompts. A few read-only bash commands run without a prompt. Hooks can block or allow calls.

Evidence: https://github.com/charmbracelet/crush
Evidence: https://github.com/charmbracelet/crush/tree/main/docs/hooks

## Prices and included usage

Pricing checked: 2026-11-05

The reviewed pages state no price for the software. You pay for the model depending on route: your own key, or Hyper with a free plan, paid plans and prepaid bundles.

### Crush

No software fee stated

Coding agent under FSL-1.1-MIT, with your own model access.

Price source: https://github.com/charmbracelet/crush/blob/main/LICENSE.md

### Hyper Free

Free

100 Hypercredits per month for every account.

Price source: https://next-docs.charm.land/hyper/api/credits.html

### Hyper Paid / Prepaid

Prices not stated

According to the docs, higher monthly allowances and priority access to models; prepaid bundles do not expire.

Price source: https://next-docs.charm.land/hyper/plans-billing.html

The hyper.charm.land pages could not be read; Hyper prices and privacy details remain unchecked.

Pricing details: https://next-docs.charm.land/hyper/api/credits.html

## Operation & oversight

Based on public provider documentation. Assessments are editorial inferences from the stated properties. Actual time requirements and reliability have not been measured.

Deployment covered: Local operation in the terminal
Sources reviewed: 2026-11-05

### Files and working state

Documented with conditions: Crush keeps sessions per project. State is under ~/.local/share/crush; the README does not say exactly where the history is.

Evidence: https://github.com/charmbracelet/crush

### Sign-ins

Documented: Sign in for Hyper in the model picker, otherwise API keys or environment variables. For Bedrock an AWS login also applies. The pages name no durations, but AWS SSO sessions expire periodically and can be refreshed with aws_auth_refresh.

Evidence: https://github.com/charmbracelet/crush

### Starting further runs

Open in reviewed sources: You start Crush in the terminal and follow the run. The README mentions a shared backend (crush serve) for several interfaces, but no schedules or triggers.

Evidence: https://github.com/charmbracelet/crush

### Human intervention

Documented: Tool calls prompt by default. Permissions can be granted per tool; --yolo turns all prompts off.

Evidence: https://github.com/charmbracelet/crush
Evidence: https://github.com/charmbracelet/crush/tree/main/docs/hooks

### Detecting errors

Documented with conditions: Logs are in ./.crush/logs/crush.log, readable with crush logs and more verbose with --debug. The hooks docs list a StopFailure event. Apart from the Bedrock credential refresh through aws_auth_refresh, the pages describe no automatic retries.

Evidence: https://github.com/charmbracelet/crush
Evidence: https://github.com/charmbracelet/crush/tree/main/docs/hooks

### Resuming after failures

Documented with conditions: On a shared backend, each new invocation starts a fresh session by default, and the session picker joins one another client has open. The README describes no crash recovery.

Evidence: https://github.com/charmbracelet/crush

### Editorial assessment

You control permissions per tool and keep the prompt by default. Configuration files are executable code, and the reviewed pages are silent on schedules and crashes.

## Memory and conversation continuity

Scope: Sessions and context files of the coding agent, per project
Sources accessed: 2026-11-05

Sessions are organised per project; you control context files such as AGENTS.md. The reviewed pages do not say where histories are stored or how to delete them.

### Storage and scope

Partly documented: The README mentions multiple sessions per project and a local database. Application state is under ~/.local/share/crush, as JSON only. It does not say where the conversation history is kept.

- [Crush README](https://github.com/charmbracelet/crush)

### Selection and timing

Partly documented: Initialisation creates a context file, by default AGENTS.md, with build commands and conventions. Global rules live in CRUSH.md or AGENTS.md. The configuration docs list an option to summarise long conversations automatically.

- [Crush README](https://github.com/charmbracelet/crush)
- [Crush: configuration docs](https://github.com/charmbracelet/crush/tree/main/docs/config)

### Inspect, edit and delete

Partly documented: You edit context files yourself, .crushignore excludes files, and logs are in ./.crush/logs/crush.log. The reviewed pages do not describe deleting sessions.

- [Crush README](https://github.com/charmbracelet/crush)

### Agent and channel boundaries

Documented: Sessions belong to a project. Multiple clients with the same working directory share session list, history, permission queue, LSP and MCP state. Global context files apply across projects.

- [Crush README](https://github.com/charmbracelet/crush)

### Retrieval

Partly documented: The session picker gives access to existing sessions; context is preserved when switching models. The pages describe no search across earlier sessions for automatic retrieval.

- [Crush README](https://github.com/charmbracelet/crush)

### Session reset and compaction

Partly documented: Each new invocation starts in a fresh session by default. The hooks docs list events before and after compaction; PreCompact can block it.

- [Crush README](https://github.com/charmbracelet/crush)
- [Crush: hooks](https://github.com/charmbracelet/crush/tree/main/docs/hooks)

## Context

A project folder, model access and a limited coding task. By default Crush asks before tool calls; --yolo removes that. The licence prohibits competing commercial use.

Repository, README, licence text, hooks and configuration docs and two Hyper docs pages reviewed. Feature descriptions come from the provider; example tasks are editorial. Hyper plan prices and the hyper.charm.land pages could not be read. Hands-on tests are still pending.

## Open points

Europe, availability still unclear:
- Europe: no availability statement

Requirements and limits, not yet confirmed:
- Schedules and team administration

## Sources

- https://github.com/charmbracelet/crush

- https://github.com/charmbracelet/crush/blob/main/LICENSE.md

- https://github.com/charmbracelet/crush/tree/main/docs/hooks

- https://github.com/charmbracelet/crush/tree/main/docs/config

- https://next-docs.charm.land/hyper/api/credits.html

- https://next-docs.charm.land/hyper/plans-billing.html

## Provider

Charmbracelet, Inc. publishes Crush in its own GitHub repository; the licence names the company as licensor.

- Operator: Charmbracelet, Inc.
- Organization: Provider
- Website: https://github.com/charmbracelet/crush
- Reviewed: 2026-11-05

- Repository: https://github.com/charmbracelet/crush
- GitHub-Stars: 28966 (2026-11-05)
- License: FSL-1.1-MIT

- Provider source: https://github.com/charmbracelet/crush

- Provider source: https://github.com/charmbracelet/crush/blob/main/LICENSE.md

[Sources and method](https://ki-agentenkompass.de/en/sources/)
