Crush is Charm’s terminal-first AI coding agent: a single Go binary that opens a full-screen TUI, reads your project, talks to the model of your choice, edits files and runs commands without leaving the shell. It is the successor to the company’s earlier opencode-era experiments and the most polished member of the Charm tool family, which is why it racked up close to 30,000 GitHub stars within a year of its first release. Version v0.100.0 (November 2026) added subagents, a sysadmin permission mode and in-terminal GPG/SSH prompts.
permissions allow / permissions block rules for individual commands, so dangerous shell commands are gated by policy rather than by hope.crushrc is an ordinary Bash script with Crush builtins (provider add, model add, mcp add, permissions allow), so configuration is scriptable and identical on every platform.crush run "…" runs one non-interactive prompt, and reads from stdin, which makes it usable in scripts and CI.Most coding agents bolt a web UI or an editor plugin onto a chat model. Crush goes the other way: it stays inside the terminal you already work in, and spends its effort on the things that make an agent useful there — language-server context, a real file tree, permission prompts you can actually configure, and the ability to run on a machine that only has SSH. It is one static Go binary with no runtime to install, and it starts instantly even on modest hardware.
The other reason is model freedom. Because a provider is just a base URL and a key, you can point Crush at a frontier API, a work gateway, a local Ollama or llama.cpp server, or a self-hosted vLLM instance, and switch between them mid-task when one model stalls. Nothing about your project has to leave infrastructure you control.
crush run, with output piped into the next tool.crushrc so everyone’s provider and permission rules match.Crush is licensed under the Functional Source License 1.1 with an MIT future licence (FSL-1.1-MIT). The source is public and you may use, modify and redistribute it for any purpose except building a competing product or service; each release converts to the MIT licence two years after publication. It is therefore source-available rather than OSI-approved open source, and should be treated that way if your organisation has a strict licence policy.
You also need a model. Crush ships with no bundled inference: bring an API key for a hosted provider, or point it at a local OpenAI-compatible server if you want everything to stay on your own hardware. The first launch offers to initialise the codebase and write an AGENTS.md for context; that step is optional and can be run later from the command palette.
Packages exist for Debian/Ubuntu and Fedora/RHEL through Charm’s own repositories, plus Homebrew, Arch, Nix, npm, Winget and Scoop, and plain binaries for Linux, macOS, Windows, FreeBSD, OpenBSD and NetBSD. Roughly 27 MB per release on amd64.
Other terminal agents worth comparing: Aider, Cline, Continue, OpenHands, SWE-agent and gpt-engineer.