Crush Integration Guide
Crush Integration Guide
Crush is a powerful programming agent. The experience is somewhat similar to the Cline plugin for VS Code, but notably, as of September 22, 2025, it leverages models' native tool-calling capabilities.
📋 Prerequisites
Before getting started, please ensure you have completed the following steps:
- Ensure Chatspeed is installed
- Added the necessary models according to Quick Start
- Completed CCProxy Basic Configuration
- Added the required proxy models
- Configured the proxy key
For
Crush, you can create a separate proxy group, but proxy groups are not a requirement.
🖥️ Crush Installation
Installation via package managers:
# Homebrew
brew install charmbracelet/tap/crush
# NPM
npm install -g @charmland/crush
# Arch Linux (btw)
yay -S crush-bin
# Nix
nix run github:numtide/nix-ai-tools#crushFor Windows users:
# Winget
winget install charmbracelet.crush
# Scoop
scoop bucket add charm https://github.com/charmbracelet/scoop-bucket.git
scoop install crushFor more installation methods, please refer to Crush
🔌 Integrating CCProxy with Crush
The simplest way to integrate CCProxy models with Crush is by editing the configuration file. Crush configuration files can be project-based or global, typically named crush.json or .crush.json. For global configuration, on macOS or Linux the file is $HOME/.config/crush/crush.json, and on Windows it is %USERPROFILE%\AppData\Local\crush\crush.json
For model configuration, I recommend using the global approach so you can use it in any project. The following example is for macOS users.
- Edit
$HOME/.config/crush/crush.json, create it if it doesn't exist - Add the model configuration to the file and save:
{
"$schema": "https://charm.land/crush.json",
"providers": {
"Chatspeed": {
"name": "Chatspeed",
"base_url": "http://localhost:11434/compat_mode/v1",
"type": "openai",
"api_key": "{API_KEY}",
"models": [
{
"name": "gemini2.5-flash",
"id": "gemini2.5-flash",
"context_window": 1000000,
"default_max_tokens": 8192
},
{
"name": "deepseek-r1-0528",
"id": "deepseek-r1-0528",
"context_window": 64000,
"default_max_tokens": 4096
},
{
"name": "deepseek-v3.1",
"id": "deepseek-v3.1",
"context_window": 128000,
"default_max_tokens": 8192
}
]
}
}
}Where:
base_url: I used the tool compatibility modecompat_mode, which is very useful for some open-source platforms or models deployed withOllama. If your configured model doesn't support native tool calling,crush's tool calls might not function correctly. You can click Tool Compatibility Mode to understand its function. You can also check Proxy API to understand the proxy URL structure.API_KEY: Please go to theChatspeedmenuProxyand then selectProxy Access Key. Please copy from the list. You can copy an existing key or create a dedicated one forCrush.- All models added to the
modelsarray must be configured inChatspeed. Please go to theChatspeedmenuProxyand then enter theProxy Servicesinterface to configure.
🧪 Usage Testing
Following the above configuration, Crush should now function correctly. Execute the crush command in your project root directory to enter the crush interface. Common shortcuts are as follows:
ctrl+pShow command tool interfaceNew SessionCreate a new sessionSwitch SessionSwitch sessionSwitch ModelSwitch modelToggle Yolo ModeToggle Yolo modeToggle HelpToggle help mode—show more/fewer shortcut operation information at the bottomInitialize ProjectInitialize project
ctrl+nCreate a new sessionshift+enterUsed for line breaks when entering in command line
