Crush Explained in 5 Minutes: The New Go-Powered AI Coder
A new AI coder has just been released, and this one is called Crush. It comes with a bit of a background; it's the new version of the original Open Code, created by the main developer who has since joined Charm.
Crush is a completely revamped tool, fully based on Go, which means you'll find it to be incredibly fast. It's marketed as your new coding bestie, available directly in your favorite terminal.
Key Features Explained
Crush offers several powerful features that make it a compelling choice for developers:
- Multi-Model Support: It is multimodel and allows you to use various LLMs. While it may not support the Claude Max subscription like Open Code, which could be a drawback for some, its flexibility is a major plus.
- Seamless Model Switching: You can switch LLMs mid-session while preserving the full context of your work.
- Multiple Work Sessions: It allows you to maintain numerous work sessions and contexts for each project, keeping your workflows organized.
- LSP Integration: Crush uses Language Server Protocols (LSPs) for additional context. This means it can detect code errors, linter warnings, and other similar issues.
- Extensible Capabilities: You can add new functionalities to it through MCPs (Model Capability Packages).
- Cross-Platform Support: It works on all major operating systems. Many similar tools still have issues with Windows, but Crush offers native support, which is a significant advantage.
Getting Started with Crush
First, you need to get it installed. You can do this easily with several package managers.
Installation Options: - Homebrew - npm - Go Package Manager
Once installed, you can launch it by running the crush
command in your terminal.
Upon starting, it will first prompt you to select a model. You have multiple options to choose from. For instance, the Quen 3 Coder free variant via Open Router is listed and works exceptionally well. After selecting a model, you'll enter your API key.
Next, it will ask if you want to initialize a Charm markdown file (charm.md
), which serves as a summary for your project, similar to the claude.md
files used by other tools.
A Look at the User Interface
The UI looks more polished than both Open Code and Claude Code. The more colorful and lifelike interface is a subjective but welcome improvement. Beyond aesthetics, the UI feels much more cohesive and functional.
For example, the terminal resize functionality is excellent. You can make the window larger or smaller, and the content snaps into place automatically. This is a common pain point with other tools like Open Code, where resizing can cause parts of the interface to get lost.
Core Commands and Functionality
In Crush, the /
key is reserved for referencing files, not for commands. When you press /
, it conveniently displays a list of files you can reference in your prompt.
For commands, you can press Control + P
to open the options or settings menu. Here are some of the main options:
- Create a New Session: This starts a new thread (
Ctrl + N
shortcut). - Switch Session: Allows you to jump between different work sessions.
- Switch Model: Here, you can easily switch the underlying language model. The model-choosing interface is clean and intuitive, arguably better than the toggle in Open Code.
- Initialize Project: This command creates the
charm.md
summary file for your project.
Missing Features (For Now)
Crush is still in its early stages and lacks a few features found in more mature tools. There are no custom commands or agents, and it doesn't have a dedicated "plan mode" or "chat mode." Options for undo/redo are also missing. However, given its active development, these capabilities will likely be added rapidly. As mentioned, it also doesn't currently support the Claude subscription.
A Practical Example: Building Flappy Bird in Just 7 Steps
To demonstrate its capabilities, I asked Crush to create a Flappy Bird game using HTML, CSS, and JavaScript.
The tool started working immediately and was quite snappy. When it requires approval for file changes, it presents a clean, modal-like confirmation dialog, which is a significant improvement over the clunky interfaces of Open Code or Claude Code.
When displaying larger blocks of code, it allows you to scroll through the diff using the arrow keys. In just a short amount of time, the files were generated. After running the code, the game worked perfectly without requiring any major fixes.
Final Verdict
I tested Crush with my own benchmarks and found that its performance with Claude Sonnet is on par with Claude Code. When using the free Quen model, the results were just as good, which is impressive. Interestingly, Crush's terminal interface provides a better experience than even Quen's own native CLI.
The terminal interface is woven together beautifully. Both Open Code and Claude Code struggle with zoomed-in terminal views because their layouts are not properly calibrated to the viewport. Crush handles this flawlessly.
Plus, the tool has a certain character to it that makes it enjoyable to use. Even though it's missing a few features, based on this initial experience, I will be using it as my main CLI tool for now. It feels faster than Open Code, and its Go-based architecture is a solid choice. This is what a tool like the Gemini CLI could have been, as it's also based on Go, but the team opted for TypeScript instead.
Crush offers a minimal UI with great features and is super fast. The scrolling and layout resizing, which are often problematic in other options, work perfectly here. It is arguably one of the best-designed terminal interfaces available today. As an open-source project, there's not much to complain about. Go ahead and give this a try.
Join the 10xdev Community
Subscribe and get 8+ free PDFs that contain detailed roadmaps with recommended learning periods for each programming language or field, along with links to free resources such as books, YouTube tutorials, and courses with certificates.