Crush is Charm's open source coding agent for the terminal. It works with many model providers, lets you switch models mid-session, and runs on macOS, Linux and Windows. Here is a practical setup based on the Crush README.
Install it
Pick the package manager you already use:
# Homebrew
brew install charmbracelet/tap/crush
# npm (macOS, Linux, Windows)
npm install -g @charmland/crush
On Windows, winget install charmbracelet.crush works, and the README also lists Scoop, Arch, Nix, FreeBSD, and apt and yum repos for Debian, Ubuntu, Fedora and RHEL.
Connect a model
Run crush inside your project folder. The quickest start is the built-in model picker, which offers Charm's own Hyper provider. If you would rather use a provider you already pay for, press ctrl+l to open the picker, choose the provider and paste your API key.
You can also set an environment variable before launching. The README maps these to providers:
export ANTHROPIC_API_KEY=your-key
export OPENAI_API_KEY=your-key
export OPENROUTER_API_KEY=your-key
export GEMINI_API_KEY=your-key
crush
Use your own keys, and keep them out of shell history files you sync or share.
Why it is different from other terminal agents
- Multi-model: switch LLMs mid-session and keep the context.
- Session-based: keep separate sessions and contexts per project.
- LSP-enhanced: it uses language servers for extra context, like an editor does.
- Extensible: add MCP servers over http, stdio or sse.
Configure it with a crushrc
Crush runs fine with no configuration. When you want to customize it, the README describes a crushrc, which is Bash with Crush specific builtins, so it behaves the same on every platform. For example, to add a local Ollama provider:
provider add ollama --type ollama --base-url "http://localhost:11434/v1"
The README also says Crush ships with a built-in skill for configuring itself, so you can simply tell it what you want changed.
A sensible first session
- Open a small repo and ask Crush to explain the layout. Reading is the safest first task.
- Ask for one scoped change, such as a failing test or a missing type.
- Review the proposed edit and any command before approving it.
- Switch to a cheaper model for routine edits, keeping the same session.
Things to check
- Model cost comes from your own provider account, so set spending limits there.
- Treat MCP servers like any other code you run: only add ones you trust.
- Release details change quickly, so check the README for current flags and providers.
More on Deduped
There is a step by step page for this: start coding with Crush in your terminal. To compare it with other agents, see best AI repos for coding agents.
Want the setup commands for 50 AI repos people actually ship with? Get the free AI Repos That Actually Ship pack: https://dedupedai.com/ship-pack/?utm_source=devto&utm_medium=article&utm_campaign=shippack
Get one email every Monday with the week's hottest AI repos and exactly how to use them: subscribe free at dedupedai.com
Top comments (0)