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:moonshotai/Kimi-K2-Thinking",
 71					"name": "Kimi K2 Thinking",
 72					"cost_per_1m_in": 0.55,
 73					"cost_per_1m_out": 2.19,
 74					"cost_per_1m_in_cached": 0.55,
 75					"cost_per_1m_out_cached": 2.19,
 76					"context_window": 204800,
 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:zai-org/GLM-4.6",
 86					"name": "GLM-4.6",
 87					"cost_per_1m_in": 0.55,
 88					"cost_per_1m_out": 2.19,
 89					"cost_per_1m_in_cached": 0.55,
 90					"cost_per_1m_out_cached": 2.19,
 91					"context_window": 204800,
 92					"default_max_tokens": 65536,
 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": 256000,
122					"default_max_tokens": 65536,
123					"can_reason": false,
124					"has_reasoning_efforts": false,
125					"supports_attachments": false
126				},
127				{
128					"id": "hf:Qwen/Qwen3-Coder-480B-A35B-Instruct",
129					"name": "Qwen3 Coder",
130					"cost_per_1m_in": 0.45,
131					"cost_per_1m_out": 1.8,
132					"cost_per_1m_in_cached": 0.45,
133					"cost_per_1m_out_cached": 1.8,
134					"context_window": 256000,
135					"default_max_tokens": 65536,
136					"can_reason": false,
137					"has_reasoning_efforts": false,
138					"supports_attachments": false
139				},
140				{
141					"id": "hf:deepseek-ai/DeepSeek-V3-0324",
142					"name": "DeepSeek V3 0324",
143					"cost_per_1m_in": 1.2,
144					"cost_per_1m_out": 1.2,
145					"cost_per_1m_in_cached": 1.2,
146					"cost_per_1m_out_cached": 1.2,
147					"context_window": 128000,
148					"default_max_tokens": 65536,
149					"can_reason": false,
150					"has_reasoning_efforts": false,
151					"supports_attachments": false
152				}
153			]
154		},
155		"minimax": {
156			"name": "MiniMax",
157			"type": "anthropic",
158			"base_url": "https://api.minimax.io/anthropic",
159			"api_key": "$MINIMAX_API_KEY",
160			"extra_headers": {
161				"User-Agent": "claude-cli/2.0.31 (external, cli)",
162				"x-app": "cli",
163				"anthropic-version": "2023-06-01",
164				"anthropic-beta": "oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14"
165			},
166			"models": [
167				{
168					"id": "MiniMax-M2",
169					"name": "MiniMax M2",
170					"cost_per_1m_in": 0,
171					"cost_per_1m_out": 0,
172					"cost_per_1m_in_cached": 0,
173					"cost_per_1m_out_cached": 0,
174					"context_window": 200000,
175					"default_max_tokens": 16384,
176					"can_reason": true,
177					"has_reasoning_efforts": false,
178					"supports_attachments": true
179				}
180			]
181		}
182	}
183}