Environment Variables

Crush reads provider credentials and behavior settings from environment variables.

API Keys

Provider credentials are picked up automatically from these environment variables:

Environment VariableProvider
HYPER_API_KEYCharm Hyper
ANTHROPIC_API_KEYAnthropic
OPENAI_API_KEYOpenAI
VERCEL_API_KEYVercel AI Gateway
GEMINI_API_KEYGoogle Gemini
ZAI_API_KEYZ.ai
MINIMAX_API_KEYMiniMax
SYNTHETIC_API_KEYSynthetic
HF_TOKENHugging Face Inference
CEREBRAS_API_KEYCerebras
OPENROUTER_API_KEYOpenRouter
IONET_API_KEYio.net
ALIBABA_SINGAPORE_API_KEYAlibaba (Singapore)
ALIBABA_US_API_KEYAlibaba (United States)
GROQ_API_KEYGroq
AVIAN_API_KEYAvian
OPENCODE_API_KEYOpenCode Zen & Go
VERTEXAI_PROJECTGoogle Cloud VertexAI (Gemini)
VERTEXAI_LOCATIONGoogle Cloud VertexAI (Gemini)
AWS_ACCESS_KEY_IDAmazon Bedrock (Claude)
AWS_SECRET_ACCESS_KEYAmazon Bedrock (Claude)
AWS_REGIONAmazon Bedrock (Claude)
AWS_PROFILEAmazon Bedrock (Custom Profile)
AWS_BEARER_TOKEN_BEDROCKAmazon Bedrock
AZURE_OPENAI_API_ENDPOINTAzure OpenAI models
AZURE_OPENAI_API_KEYAzure OpenAI models (optional when using Entra ID)
AZURE_OPENAI_API_VERSIONAzure OpenAI models
MOONSHOT_API_KEYMoonshot
XAI_API_KEYxAI

Configuration & Behavior

VariableDescription
CRUSH_GLOBAL_CONFIGOverride the global config location
CRUSH_GLOBAL_DATAOverride the global data location
CRUSH_DATA_DIROverride the per-project .crush directory
CRUSH_SKILLS_DIRAdditional skills directory
CRUSH_DISABLE_METRICSSet to 1 to opt out of metrics
DO_NOT_TRACKSet to 1 to opt out of metrics (convention)
CRUSH_DISABLE_PROVIDER_AUTO_UPDATESet to 1 to disable provider auto-updates
CATWALK_URLOverride the Catwalk provider catalog URL

Hooks

Hooks receive a separate set of CRUSH_* variables — see Input & Output.

Read this post in your terminal with glow:glow -p https://crush.charm.land/reference/environment-variables.md

EOF