Skip to content

Crush

Crush is Charm's terminal AI assistant — slick TUI.

Get an API key first — see Common setup.

Install

bash
brew install charmbracelet/tap/crush
bash
go install github.com/charmbracelet/crush/cmd/crush@latest
# Ensure $GOPATH/bin is in PATH
powershell
scoop bucket add charm https://github.com/charmbracelet/scoop-bucket.git
scoop install crush

Verify:

bash
crush --version

Config file location

OSPath
macOS~/.config/crush/crush.json
Linux~/.config/crush/crush.json
Windows%APPDATA%\crush\crush.json

Edit config

bash
mkdir -p ~/.config/crush
vim ~/.config/crush/crush.json
powershell
New-Item -ItemType Directory -Force -Path "$env:APPDATA\crush" | Out-Null
notepad "$env:APPDATA\crush\crush.json"

Write:

json
{
  "$schema": "https://charm.land/crush.json",
  "providers": {
    "primerouter": {
      "type": "openai",
      "base_url": "https://primerouter.ai/v1",
      "api_key": "sk-your-primerouter-key",
      "models": [
        {
          "id": "claude-sonnet-4-6",
          "name": "Claude Sonnet 4.6",
          "context_window": 200000,
          "default_max_tokens": 8192
        },
        {
          "id": "claude-opus-4-6",
          "name": "Claude Opus 4.6",
          "context_window": 200000,
          "default_max_tokens": 8192
        },
        {
          "id": "claude-opus-4-7",
          "name": "Claude Opus 4.7",
          "context_window": 200000,
          "default_max_tokens": 8192
        }
      ]
    }
  }
}

Launch

bash
crush
# In TUI: Ctrl+P → pick primerouter/claude-sonnet-4-6

Tips

  • Crush supports multiple providers simultaneously — wire DeepSeek / Qwen via PrimeRouter and switch per task
  • Don't set default_max_tokens too low or long replies get truncated
  • Terminal window ≥ 100×30 gives the TUI room to breathe

Built for transparent, auditable, crypto-native AI inference. About · Terms · Privacy