Quick Start with Environment Variables
The quickest way to get started is to set an API key for your preferred provider. Crush recognizes these environment variables:Custom Provider Configuration
For advanced scenarios, you can configure custom providers in yourcrush.json file.
OpenAI-Compatible Providers
Crush supports two OpenAI provider types:
openai- For proxying/routing requests through OpenAIopenai-compat- For non-OpenAI providers with OpenAI-compatible APIs
Anthropic-Compatible Providers
For providers that use the Anthropic API format:Local Models
You can run Crush with local models using OpenAI-compatible servers.Ollama
LM Studio
Cloud Providers
Amazon Bedrock
Crush supports running Anthropic models through Bedrock (caching disabled):- Configure AWS credentials:
aws configure - Set
AWS_REGIONorAWS_DEFAULT_REGIONenvironment variable - (Optional) Use a specific profile:
AWS_PROFILE=myprofile crush - Alternative: Set
AWS_BEARER_TOKEN_BEDROCKinstead of runningaws configure
Vertex AI Platform
Vertex AI appears whenVERTEXAI_PROJECT and VERTEXAI_LOCATION are set:
Model Configuration Options
When defining models in your provider configuration, you can specify:- id (required) - Model identifier used by the provider API
- name (required) - Human-readable model name
- cost_per_1m_in - Cost per 1M input tokens
- cost_per_1m_out - Cost per 1M output tokens
- cost_per_1m_in_cached - Cost per 1M cached input tokens
- cost_per_1m_out_cached - Cost per 1M cached output tokens
- context_window - Maximum context window size
- default_max_tokens - Default maximum tokens for responses
- can_reason - Whether the model supports extended reasoning
- supports_attachments - Whether the model supports file attachments
Provider Auto-Updates
By default, Crush automatically updates the provider database from Catwalk, the open source Crush provider database.Disabling Auto-Updates
For air-gapped or restricted environments:Manual Updates
Update providers manually:Environment Variable Expansion
In configuration files, you can reference environment variables using the$VARIABLE_NAME syntax:
Next Steps
Model Selection
Learn how to list and select models
Permissions
Configure tool permissions