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": "anthropic",
66 "api_key": "$SYNTHETIC_API_KEY",
67 "base_url": "https://api.synthetic.new/anthropic",
68 "models": [
69 {
70 "id": "hf:deepseek-ai/DeepSeek-V3.1-Terminus",
71 "name": "DeepSeek V3.1 Terminus",
72 "cost_per_1m_in": 1.2,
73 "cost_per_1m_out": 1.2,
74 "cost_per_1m_in_cached": 1.2,
75 "cost_per_1m_out_cached": 1.2,
76 "context_window": 131072,
77 "default_max_tokens": 8192,
78 "can_reason": true,
79 "has_reasoning_efforts": false,
80 "supports_attachments": false
81 },
82 {
83 "id": "hf:MiniMaxAI/MiniMax-M2",
84 "name": "MiniMax M2",
85 "cost_per_1m_in": 0.55,
86 "cost_per_1m_out": 2.19,
87 "cost_per_1m_in_cached": 0.55,
88 "cost_per_1m_out_cached": 2.19,
89 "context_window": 196608,
90 "default_max_tokens": 65536,
91 "can_reason": true,
92 "has_reasoning_efforts": false,
93 "supports_attachments": false
94 },
95 {
96 "id": "hf:openai/gpt-oss-120b",
97 "name": "GPT-OSS 120B",
98 "cost_per_1m_in": 0.1,
99 "cost_per_1m_out": 0.1,
100 "cost_per_1m_in_cached": 0.1,
101 "cost_per_1m_out_cached": 0.1,
102 "context_window": 131072,
103 "default_max_tokens": 65536,
104 "can_reason": true,
105 "has_reasoning_efforts": false,
106 "supports_attachments": false
107 },
108 {
109 "id": "hf:Qwen/Qwen3-Coder-480B-A35B-Instruct",
110 "name": "Qwen3 Coder 480B A35B Instruct",
111 "cost_per_1m_in": 0.45,
112 "cost_per_1m_out": 1.8,
113 "cost_per_1m_in_cached": 0.45,
114 "cost_per_1m_out_cached": 1.8,
115 "context_window": 262144,
116 "default_max_tokens": 262144,
117 "can_reason": false,
118 "supports_attachments": false
119 },
120 {
121 "id": "hf:zai-org/GLM-4.6",
122 "name": "GLM-4.6",
123 "cost_per_1m_in": 0.55,
124 "cost_per_1m_out": 2.19,
125 "cost_per_1m_in_cached": 0.55,
126 "cost_per_1m_out_cached": 2.19,
127 "context_window": 204800,
128 "default_max_tokens": 65536,
129 "can_reason": true,
130 "has_reasoning_efforts": false,
131 "supports_attachments": false
132 },
133 {
134 "id": "hf:moonshotai/Kimi-K2-Thinking",
135 "name": "Kimi K2 Thinking",
136 "cost_per_1m_in": 0.55,
137 "cost_per_1m_out": 2.19,
138 "cost_per_1m_in_cached": 0.55,
139 "cost_per_1m_out_cached": 2.19,
140 "context_window": 204800,
141 "default_max_tokens": 65536,
142 "can_reason": true,
143 "has_reasoning_efforts": false,
144 "supports_attachments": false
145 }
146 ]
147 },
148 "minimax": {
149 "name": "MiniMax",
150 "type": "anthropic",
151 "base_url": "https://api.minimax.io/anthropic",
152 "api_key": "$MINIMAX_API_KEY",
153 "extra_headers": {
154 "User-Agent": "claude-cli/2.0.31 (external, cli)",
155 "x-app": "cli",
156 "anthropic-version": "2023-06-01",
157 "anthropic-beta": "oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14"
158 },
159 "models": [
160 {
161 "id": "MiniMax-M2",
162 "name": "MiniMax M2",
163 "cost_per_1m_in": 0,
164 "cost_per_1m_out": 0,
165 "cost_per_1m_in_cached": 0,
166 "cost_per_1m_out_cached": 0,
167 "context_window": 200000,
168 "default_max_tokens": 16384,
169 "can_reason": true,
170 "has_reasoning_efforts": false,
171 "supports_attachments": true
172 }
173 ]
174 }
175 }
176}