crush.json

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