Before you begin
You’ll need an API key from at least one LLM provider. Crush supports many providers, including:- Anthropic (Claude models)
- OpenAI (GPT models)
- Google AI Studio (Gemini models)
- Groq (Fast inference)
- OpenRouter (Access to multiple models)
Get started in four steps
Set up your API key
Configure your API key using an environment variable. The quickest way is to export it in your shell:
See the providers configuration guide for the complete list and advanced setup options.
If you don’t set an API key, Crush will prompt you to enter one when you first launch it. You can also configure providers via the
crush.json configuration file.Supported environment variables
Crush recognizes API keys for many providers:| Environment Variable | Provider |
|---|---|
ANTHROPIC_API_KEY | Anthropic (Claude) |
OPENAI_API_KEY | OpenAI (GPT) |
GEMINI_API_KEY | Google Gemini |
GROQ_API_KEY | Groq |
OPENROUTER_API_KEY | OpenRouter |
VERCEL_API_KEY | Vercel AI Gateway |
HF_TOKEN | Hugging Face Inference |
CEREBRAS_API_KEY | Cerebras |
Launch Crush
Navigate to your project directory and start Crush:When Crush starts, you’ll see:
- The Crush welcome screen with the logo
- A model selector if you have multiple providers configured
- A prompt where you can type your request
- Message area: Conversation history with syntax-highlighted code
- Input prompt: Where you type your requests
- Status bar: Shows current model, session name, and token usage
Your first interaction
Try asking Crush to help you with a coding task. Here are some example prompts to get started:
Crush will analyze your files and provide a summary of your project architecture.
Crush will:
Crush will:
Crush will analyze your existing code and refactor it while maintaining functionality.
Understand your codebase
Understand your codebase
Write new code
Write new code
- Read relevant files to understand your project structure
- Generate the code following your project’s patterns
- Ask permission before writing files
- Create or edit the necessary files
Debug an issue
Debug an issue
- Search for potential null pointer issues
- Use LSP diagnostics if available
- Suggest fixes with explanations
- Apply the fixes with your permission
Refactor code
Refactor code
Tool permissions
When Crush wants to execute tools (like editing files or running commands), it will ask for your permission:- Press
ato allow this specific action - Press
Ato allow all tools for this session - Press
vto view the changes before deciding - Press
dto deny the action
Essential keyboard shortcuts
While chatting with Crush:Ctrl+C: Cancel current operation or exitCtrl+D: Send message (alternative to Enter)Up/Down arrows: Navigate message historyCtrl+L: Clear screenCtrl+R: Restart LSP servers
Working with sessions
Crush maintains conversation context in sessions. Each session is tied to your current directory.Create a new session
List all sessions
Resume a session
Just navigate to the same directory and runcrush with the same session name. Crush remembers your conversation history and project context.
Switching models mid-session
One of Crush’s unique features is the ability to switch LLM providers without losing context:- Press
Ctrl+M(or type/models) during a session - Select a different model from the list
- Continue your conversation with the new model
- Comparing model outputs on the same task
- Using faster models for simple tasks, more powerful ones for complex problems
- Managing costs by switching to cheaper models when appropriate
Configuration basics
Crush looks for configuration in these locations (in order of priority):.crush.json(hidden, in current directory)crush.json(in current directory)~/.config/crush/crush.json(global configuration)
crush.json
- Adds
AGENTS.mdand thedocs/directory to the context - Pre-allows
view,ls, andgreptools without prompting
Next steps
Now that you’ve completed your first Crush session, explore these topics:Configure Providers
Set up multiple LLM providers and customize model settings
LSP Integration
Enable Language Server Protocol support for better code intelligence
Context Files
Learn how to provide project-specific instructions to Crush
MCP Servers
Extend Crush capabilities with Model Context Protocol servers
Need help? Join the Crush community on Discord, Slack, or ask questions on GitHub Discussions.