Crush
Charm's terminal coding agent: any model, switching models mid-session, LSP, MCP and Agent Skills
Install
brew install charmbracelet/tap/crushHomebrew on macOS and Linux.
This is third-party code. Review the repository files before installing.
What it does
Crush runs in the terminal and connects to models through OpenAI- or Anthropic-compatible APIs, including local ones via Ollama. You can switch models mid-session without losing context and keep several sessions per project. The agent uses LSP servers for context and extends itself with MCP servers over stdio, http and sse, with OAuth for remote servers. It supports the Agent Skills standard and discovers skills in crush, .agents and .claude folders. Configuration lives in crushrc, a Bash script with built-in commands that behaves the same on Windows.
Who it is for. For developers who want a terminal agent that is not tied to one model provider.
Good fit when
- You want different models, including local ones, in one agent
- You need an agent on Windows, FreeBSD or Android without WSL workarounds
- You already have skills in .claude/skills and want to reuse them
Not a fit when
- You need tight IDE integration rather than a terminal
- The FSL license does not fit your use case
Example request
Figure out why the build fails and propose a fix, and switch to the local modelLimitations
Licensed FSL-1.1-MIT: source is available, but competing commercial use is restricted until a version converts to MIT. You need a model provider key or a Charm Hyper subscription. Without a VPN it works with local models and providers reachable from Russia; OpenAI and Anthropic cloud APIs need a VPN.
How to disable. Uninstall with the package manager you used, for example brew uninstall crush, and remove crushrc files if needed.
Security check
- The agent runs shell commands and edits project files
- Tools can be allowed to run without confirmation
README in short
The README lists installs via Homebrew, npm, winget, scoop, Linux packages, Nix and go install. It covers a quick start with the Hyper provider, adding keys for other providers and configuration through crushrc. It details MCP with OAuth, LSP, tool permissions, file ignores and skill discovery paths. Licensed FSL-1.1-MIT.
FAQ
How do I add an MCP server?
Use mcp add in crushrc with the stdio, http or sse type, a URL or command, and headers.
Can I use a local model?
Yes, add an ollama provider in crushrc with provider add and register a model with model add.
Related
A skills library that gives coding agents a development process: brainstorming, planning, TDD, subagents and code review
Skills for real engineers by Matt Pocock
Skills For Real Engineers
Small composable skills for engineering with agents: plan grilling, TDD, bug diagnosis, code review and architecture
Reference MCP servers
Model Context Protocol servers
Official reference MCP servers: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time and Everything
Up-to-date, version-specific library docs and code examples in your agent's context, via MCP or a CLI plus skill