crush.json

  1{
  2	"$schema": "https://charm.land/crush.json",
  3	"mcp": {
  4		"kagi": {
  5			"type": "stdio",
  6			"command": "kagi-ken-mcp"
  7		}
  8	},
  9	"options": {
 10		"disable_provider_auto_update": true,
 11		"attribution": {
 12			"trailer_style": "assisted-by",
 13			"generated_with": false
 14		},
 15		"memory_paths": ["~/.config/crush/rules", "~/.config/AGENTS.md"]
 16	},
 17	"providers": {
 18		"anthropic": {
 19			"api_key": "Bearer $(bash ~/.config/crush/anthropic.sh)",
 20			"extra_headers": {
 21				"User-Agent": "claude-cli/2.0.31 (external, cli)",
 22				"x-app": "cli",
 23				"anthropic-version": "2023-06-01",
 24				"anthropic-beta": "oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14"
 25			},
 26			"system_prompt_prefix": "You are Claude Code, Anthropic's official CLI for Claude.",
 27			"models": [
 28				{
 29					"id": "claude-sonnet-4-5-20250929",
 30					"name": "Claude Sonnet 4.5",
 31					"cost_per_1m_in": 3,
 32					"cost_per_1m_out": 15,
 33					"cost_per_1m_in_cached": 3.75,
 34					"cost_per_1m_out_cached": 0.3,
 35					"context_window": 200000,
 36					"default_max_tokens": 50000,
 37					"can_reason": true,
 38					"has_reasoning_efforts": false,
 39					"supports_attachments": true
 40				},
 41				{
 42					"id": "claude-haiku-4-5-20251001",
 43					"name": "Claude 4.5 Haiku",
 44					"cost_per_1m_in": 1,
 45					"cost_per_1m_out": 5,
 46					"cost_per_1m_in_cached": 1.25,
 47					"cost_per_1m_out_cached": 0.09999999999999999,
 48					"context_window": 200000,
 49					"default_max_tokens": 32000,
 50					"can_reason": true,
 51					"has_reasoning_efforts": false,
 52					"supports_attachments": true
 53				},
 54				{
 55					"id": "claude-opus-4-1-20250805",
 56					"name": "Claude Opus 4.1",
 57					"cost_per_1m_in": 15,
 58					"cost_per_1m_out": 75,
 59					"cost_per_1m_in_cached": 18.75,
 60					"cost_per_1m_out_cached": 1.5,
 61					"context_window": 200000,
 62					"default_max_tokens": 32000,
 63					"can_reason": true,
 64					"has_reasoning_efforts": false,
 65					"supports_attachments": true
 66				}
 67			]
 68		},
 69		"synthetic": {
 70			"name": "Synthetic",
 71			"type": "openai-compat",
 72			"api_key": "$SYNTHETIC_API_KEY",
 73			"base_url": "https://api.synthetic.new/openai/v1",
 74			"models": [
 75				{
 76					"id": "hf:moonshotai/Kimi-K2-Thinking",
 77					"name": "Kimi K2 Thinking",
 78					"cost_per_1m_in": 0.55,
 79					"cost_per_1m_out": 2.19,
 80					"cost_per_1m_in_cached": 0.55,
 81					"cost_per_1m_out_cached": 2.19,
 82					"context_window": 204800,
 83					"default_max_tokens": 65536,
 84					"can_reason": true,
 85					"has_reasoning_efforts": true,
 86					"reasoning_levels": ["low", "medium", "high"],
 87					"default_reasoning_effort": "high",
 88					"supports_attachments": false
 89				},
 90				{
 91					"id": "hf:zai-org/GLM-4.6",
 92					"name": "GLM-4.6",
 93					"cost_per_1m_in": 0.55,
 94					"cost_per_1m_out": 2.19,
 95					"cost_per_1m_in_cached": 0.55,
 96					"cost_per_1m_out_cached": 2.19,
 97					"context_window": 204800,
 98					"default_max_tokens": 65536,
 99					"can_reason": true,
100					"has_reasoning_efforts": true,
101					"reasoning_levels": ["low", "medium", "high"],
102					"default_reasoning_effort": "high",
103					"supports_attachments": false
104				},
105				{
106					"id": "hf:MiniMaxAI/MiniMax-M2",
107					"name": "MiniMax M2",
108					"cost_per_1m_in": 0.55,
109					"cost_per_1m_out": 2.19,
110					"cost_per_1m_in_cached": 0.55,
111					"cost_per_1m_out_cached": 2.19,
112					"context_window": 196608,
113					"default_max_tokens": 65536,
114					"can_reason": true,
115					"has_reasoning_efforts": true,
116					"reasoning_levels": ["low", "medium", "high"],
117					"default_reasoning_effort": "high",
118					"supports_attachments": false
119				},
120				{
121					"id": "hf:moonshotai/Kimi-K2-Instruct-0905",
122					"name": "Kimi K2 Instruct 0905",
123					"cost_per_1m_in": 1.2,
124					"cost_per_1m_out": 1.2,
125					"cost_per_1m_in_cached": 1.2,
126					"cost_per_1m_out_cached": 1.2,
127					"context_window": 256000,
128					"default_max_tokens": 65536,
129					"can_reason": false,
130					"has_reasoning_efforts": false,
131					"supports_attachments": false
132				},
133				{
134					"id": "hf:Qwen/Qwen3-Coder-480B-A35B-Instruct",
135					"name": "Qwen3 Coder",
136					"cost_per_1m_in": 0.45,
137					"cost_per_1m_out": 1.8,
138					"cost_per_1m_in_cached": 0.45,
139					"cost_per_1m_out_cached": 1.8,
140					"context_window": 256000,
141					"default_max_tokens": 65536,
142					"can_reason": false,
143					"has_reasoning_efforts": false,
144					"supports_attachments": false
145				},
146				{
147					"id": "hf:deepseek-ai/DeepSeek-V3-0324",
148					"name": "DeepSeek V3 0324",
149					"cost_per_1m_in": 1.2,
150					"cost_per_1m_out": 1.2,
151					"cost_per_1m_in_cached": 1.2,
152					"cost_per_1m_out_cached": 1.2,
153					"context_window": 128000,
154					"default_max_tokens": 65536,
155					"can_reason": false,
156					"has_reasoning_efforts": false,
157					"supports_attachments": false
158				}
159			]
160		},
161		"minimax": {
162			"name": "MiniMax",
163			"type": "anthropic",
164			"base_url": "https://api.minimax.io/anthropic",
165			"api_key": "$MINIMAX_API_KEY",
166			"extra_headers": {
167				"User-Agent": "claude-cli/2.0.31 (external, cli)",
168				"x-app": "cli",
169				"anthropic-version": "2023-06-01",
170				"anthropic-beta": "oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14"
171			},
172			"models": [
173				{
174					"id": "MiniMax-M2",
175					"name": "MiniMax M2",
176					"cost_per_1m_in": 0,
177					"cost_per_1m_out": 0,
178					"cost_per_1m_in_cached": 0,
179					"cost_per_1m_out_cached": 0,
180					"context_window": 200000,
181					"default_max_tokens": 16384,
182					"can_reason": true,
183					"has_reasoning_efforts": false,
184					"supports_attachments": true
185				}
186			]
187		}
188	}
189}