name: crush-config description: Configure Crush settings including providers, LSPs, MCPs, skills, permissions, and behavior options. Use when the user needs help with crush.json configuration, setting up providers, configuring LSPs, adding MCP servers, or changing Crush behavior.
Crush Configuration
Crush uses JSON configuration files with the following priority (highest to lowest):
.crush.json(project-local, hidden)crush.json(project-local)$XDG_CONFIG_HOME/crush/crush.jsonor$HOME/.config/crush/crush.json(global)
Basic Structure
{
"$schema": "https://charm.land/crush.json",
"models": {},
"providers": {},
"mcp": {},
"lsp": {},
"options": {},
"permissions": {},
"tools": {}
}
The $schema property enables IDE autocomplete but is optional.
Common Tasks
- Add a custom provider: add an entry under
providerswithtype,base_url,api_key, andmodels. - Disable a builtin or local skill: add the skill name to
options.disabled_skills. - Add an MCP server: add an entry under
mcpwithtypeand eithercommand(stdio) orurl(http/sse).
Model Selection
{
"models": {
"large": {
"model": "claude-sonnet-4-20250514",
"provider": "anthropic",
"max_tokens": 16384
},
"small": {
"model": "claude-haiku-4-20250514",
"provider": "anthropic"
}
}
}
largeis the primary coding model;smallis for summarization.- Only
modelandproviderare required. - Optional tuning:
reasoning_effort,think,max_tokens,temperature,top_p,top_k,frequency_penalty,presence_penalty,provider_options.
Custom Providers
{
"providers": {
"deepseek": {
"type": "openai-compat",
"base_url": "https://api.deepseek.com/v1",
"api_key": "$DEEPSEEK_API_KEY",
"models": [
{
"id": "deepseek-chat",
"name": "Deepseek V3",
"context_window": 64000
}
]
}
}
}
type(required):openai,openai-compat, oranthropicapi_keysupports$ENV_VARsyntax.- Additional fields:
disable,system_prompt_prefix,extra_headers,extra_body,provider_options.
LSP Configuration
{
"lsp": {
"go": {
"command": "gopls",
"env": { "GOTOOLCHAIN": "go1.24.5" }
},
"typescript": {
"command": "typescript-language-server",
"args": ["--stdio"]
}
}
}
command(required),args,envcover most setups.- Additional fields:
disabled,filetypes,root_markers,init_options,options,timeout.
MCP Servers
{
"mcp": {
"filesystem": {
"type": "stdio",
"command": "node",
"args": ["/path/to/mcp-server.js"]
},
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer $GH_PAT"
}
}
}
}
type(required):stdio,sse, orhttp- Additional fields:
env,disabled,disabled_tools,timeout.
Options
{
"options": {
"skills_paths": ["./skills"],
"disabled_tools": ["bash", "sourcegraph"],
"disabled_skills": ["crush-config"],
"tui": {
"compact_mode": false,
"diff_mode": "unified",
"transparent": false
},
"auto_lsp": true,
"debug": false,
"debug_lsp": false,
"attribution": {
"trailer_style": "assisted-by",
"generated_with": true
}
}
}
[!IMPORTANT] The following skill paths are loaded by default and DO NOT NEED to be added to
skills_paths:.agents/skills,.crush/skills,.claude/skills,.cursor/skills
Other options: context_paths, progress, disable_notifications, disable_auto_summarize, disable_metrics, disable_provider_auto_update, disable_default_providers, data_directory, initialize_as.
Tool Permissions
{
"permissions": {
"allowed_tools": ["view", "ls", "grep", "edit"]
}
}
Environment Variables
CRUSH_GLOBAL_CONFIG- Override global config locationCRUSH_GLOBAL_DATA- Override data directory locationCRUSH_SKILLS_DIR- Override default skills directory