ccusage 15.10.0 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,783 @@
1
+ {
2
+ "$ref": "#/definitions/ccusage-config",
3
+ "definitions": {
4
+ "ccusage-config": {
5
+ "type": "object",
6
+ "properties": {
7
+ "$schema": {
8
+ "type": "string",
9
+ "description": "JSON Schema URL for validation and autocomplete",
10
+ "markdownDescription": "JSON Schema URL for validation and autocomplete"
11
+ },
12
+ "defaults": {
13
+ "type": "object",
14
+ "properties": {
15
+ "since": {
16
+ "type": "string",
17
+ "description": "Filter from date (YYYYMMDD format)",
18
+ "markdownDescription": "Filter from date (YYYYMMDD format)"
19
+ },
20
+ "until": {
21
+ "type": "string",
22
+ "description": "Filter until date (YYYYMMDD format)",
23
+ "markdownDescription": "Filter until date (YYYYMMDD format)"
24
+ },
25
+ "json": {
26
+ "type": "boolean",
27
+ "description": "Output in JSON format",
28
+ "markdownDescription": "Output in JSON format",
29
+ "default": false
30
+ },
31
+ "mode": {
32
+ "type": "string",
33
+ "enum": [
34
+ "auto",
35
+ "calculate",
36
+ "display"
37
+ ],
38
+ "description": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
39
+ "markdownDescription": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
40
+ "default": "auto"
41
+ },
42
+ "debug": {
43
+ "type": "boolean",
44
+ "description": "Show pricing mismatch information for debugging",
45
+ "markdownDescription": "Show pricing mismatch information for debugging",
46
+ "default": false
47
+ },
48
+ "debugSamples": {
49
+ "type": "number",
50
+ "description": "Number of sample discrepancies to show in debug output (default: 5)",
51
+ "markdownDescription": "Number of sample discrepancies to show in debug output (default: 5)",
52
+ "default": 5
53
+ },
54
+ "order": {
55
+ "type": "string",
56
+ "enum": [
57
+ "desc",
58
+ "asc"
59
+ ],
60
+ "description": "Sort order: desc (newest first) or asc (oldest first)",
61
+ "markdownDescription": "Sort order: desc (newest first) or asc (oldest first)",
62
+ "default": "asc"
63
+ },
64
+ "breakdown": {
65
+ "type": "boolean",
66
+ "description": "Show per-model cost breakdown",
67
+ "markdownDescription": "Show per-model cost breakdown",
68
+ "default": false
69
+ },
70
+ "offline": {
71
+ "type": "boolean",
72
+ "description": "Use cached pricing data for Claude models instead of fetching from API",
73
+ "markdownDescription": "Use cached pricing data for Claude models instead of fetching from API",
74
+ "default": false
75
+ },
76
+ "color": {
77
+ "type": "boolean",
78
+ "description": "Enable colored output (default: auto). FORCE_COLOR=1 has the same effect.",
79
+ "markdownDescription": "Enable colored output (default: auto). FORCE_COLOR=1 has the same effect."
80
+ },
81
+ "noColor": {
82
+ "type": "boolean",
83
+ "description": "Disable colored output (default: auto). NO_COLOR=1 has the same effect.",
84
+ "markdownDescription": "Disable colored output (default: auto). NO_COLOR=1 has the same effect."
85
+ },
86
+ "timezone": {
87
+ "type": "string",
88
+ "description": "Timezone for date grouping (e.g., UTC, America/New_York, Asia/Tokyo). Default: system timezone",
89
+ "markdownDescription": "Timezone for date grouping (e.g., UTC, America/New_York, Asia/Tokyo). Default: system timezone"
90
+ },
91
+ "locale": {
92
+ "type": "string",
93
+ "description": "Locale for date/time formatting (e.g., en-US, ja-JP, de-DE)",
94
+ "markdownDescription": "Locale for date/time formatting (e.g., en-US, ja-JP, de-DE)",
95
+ "default": "en-CA"
96
+ },
97
+ "jq": {
98
+ "type": "string",
99
+ "description": "Process JSON output with jq command (requires jq binary, implies --json)",
100
+ "markdownDescription": "Process JSON output with jq command (requires jq binary, implies --json)"
101
+ },
102
+ "compact": {
103
+ "type": "boolean",
104
+ "description": "Force compact mode for narrow displays (better for screenshots)",
105
+ "markdownDescription": "Force compact mode for narrow displays (better for screenshots)",
106
+ "default": false
107
+ }
108
+ },
109
+ "additionalProperties": false,
110
+ "description": "Default values for all commands",
111
+ "markdownDescription": "Default values for all commands"
112
+ },
113
+ "commands": {
114
+ "type": "object",
115
+ "properties": {
116
+ "daily": {
117
+ "type": "object",
118
+ "properties": {
119
+ "since": {
120
+ "type": "string",
121
+ "description": "Filter from date (YYYYMMDD format)",
122
+ "markdownDescription": "Filter from date (YYYYMMDD format)"
123
+ },
124
+ "until": {
125
+ "type": "string",
126
+ "description": "Filter until date (YYYYMMDD format)",
127
+ "markdownDescription": "Filter until date (YYYYMMDD format)"
128
+ },
129
+ "json": {
130
+ "type": "boolean",
131
+ "description": "Output in JSON format",
132
+ "markdownDescription": "Output in JSON format",
133
+ "default": false
134
+ },
135
+ "mode": {
136
+ "type": "string",
137
+ "enum": [
138
+ "auto",
139
+ "calculate",
140
+ "display"
141
+ ],
142
+ "description": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
143
+ "markdownDescription": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
144
+ "default": "auto"
145
+ },
146
+ "debug": {
147
+ "type": "boolean",
148
+ "description": "Show pricing mismatch information for debugging",
149
+ "markdownDescription": "Show pricing mismatch information for debugging",
150
+ "default": false
151
+ },
152
+ "debugSamples": {
153
+ "type": "number",
154
+ "description": "Number of sample discrepancies to show in debug output (default: 5)",
155
+ "markdownDescription": "Number of sample discrepancies to show in debug output (default: 5)",
156
+ "default": 5
157
+ },
158
+ "order": {
159
+ "type": "string",
160
+ "enum": [
161
+ "desc",
162
+ "asc"
163
+ ],
164
+ "description": "Sort order: desc (newest first) or asc (oldest first)",
165
+ "markdownDescription": "Sort order: desc (newest first) or asc (oldest first)",
166
+ "default": "asc"
167
+ },
168
+ "breakdown": {
169
+ "type": "boolean",
170
+ "description": "Show per-model cost breakdown",
171
+ "markdownDescription": "Show per-model cost breakdown",
172
+ "default": false
173
+ },
174
+ "offline": {
175
+ "type": "boolean",
176
+ "description": "Use cached pricing data for Claude models instead of fetching from API",
177
+ "markdownDescription": "Use cached pricing data for Claude models instead of fetching from API",
178
+ "default": false
179
+ },
180
+ "color": {
181
+ "type": "boolean",
182
+ "description": "Enable colored output (default: auto). FORCE_COLOR=1 has the same effect.",
183
+ "markdownDescription": "Enable colored output (default: auto). FORCE_COLOR=1 has the same effect."
184
+ },
185
+ "noColor": {
186
+ "type": "boolean",
187
+ "description": "Disable colored output (default: auto). NO_COLOR=1 has the same effect.",
188
+ "markdownDescription": "Disable colored output (default: auto). NO_COLOR=1 has the same effect."
189
+ },
190
+ "timezone": {
191
+ "type": "string",
192
+ "description": "Timezone for date grouping (e.g., UTC, America/New_York, Asia/Tokyo). Default: system timezone",
193
+ "markdownDescription": "Timezone for date grouping (e.g., UTC, America/New_York, Asia/Tokyo). Default: system timezone"
194
+ },
195
+ "locale": {
196
+ "type": "string",
197
+ "description": "Locale for date/time formatting (e.g., en-US, ja-JP, de-DE)",
198
+ "markdownDescription": "Locale for date/time formatting (e.g., en-US, ja-JP, de-DE)",
199
+ "default": "en-CA"
200
+ },
201
+ "jq": {
202
+ "type": "string",
203
+ "description": "Process JSON output with jq command (requires jq binary, implies --json)",
204
+ "markdownDescription": "Process JSON output with jq command (requires jq binary, implies --json)"
205
+ },
206
+ "compact": {
207
+ "type": "boolean",
208
+ "description": "Force compact mode for narrow displays (better for screenshots)",
209
+ "markdownDescription": "Force compact mode for narrow displays (better for screenshots)",
210
+ "default": false
211
+ },
212
+ "instances": {
213
+ "type": "boolean",
214
+ "description": "Show usage breakdown by project/instance",
215
+ "markdownDescription": "Show usage breakdown by project/instance",
216
+ "default": false
217
+ },
218
+ "project": {
219
+ "type": "string",
220
+ "description": "Filter to specific project name",
221
+ "markdownDescription": "Filter to specific project name"
222
+ }
223
+ },
224
+ "additionalProperties": false
225
+ },
226
+ "monthly": {
227
+ "type": "object",
228
+ "properties": {
229
+ "since": {
230
+ "type": "string",
231
+ "description": "Filter from date (YYYYMMDD format)",
232
+ "markdownDescription": "Filter from date (YYYYMMDD format)"
233
+ },
234
+ "until": {
235
+ "type": "string",
236
+ "description": "Filter until date (YYYYMMDD format)",
237
+ "markdownDescription": "Filter until date (YYYYMMDD format)"
238
+ },
239
+ "json": {
240
+ "type": "boolean",
241
+ "description": "Output in JSON format",
242
+ "markdownDescription": "Output in JSON format",
243
+ "default": false
244
+ },
245
+ "mode": {
246
+ "type": "string",
247
+ "enum": [
248
+ "auto",
249
+ "calculate",
250
+ "display"
251
+ ],
252
+ "description": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
253
+ "markdownDescription": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
254
+ "default": "auto"
255
+ },
256
+ "debug": {
257
+ "type": "boolean",
258
+ "description": "Show pricing mismatch information for debugging",
259
+ "markdownDescription": "Show pricing mismatch information for debugging",
260
+ "default": false
261
+ },
262
+ "debugSamples": {
263
+ "type": "number",
264
+ "description": "Number of sample discrepancies to show in debug output (default: 5)",
265
+ "markdownDescription": "Number of sample discrepancies to show in debug output (default: 5)",
266
+ "default": 5
267
+ },
268
+ "order": {
269
+ "type": "string",
270
+ "enum": [
271
+ "desc",
272
+ "asc"
273
+ ],
274
+ "description": "Sort order: desc (newest first) or asc (oldest first)",
275
+ "markdownDescription": "Sort order: desc (newest first) or asc (oldest first)",
276
+ "default": "asc"
277
+ },
278
+ "breakdown": {
279
+ "type": "boolean",
280
+ "description": "Show per-model cost breakdown",
281
+ "markdownDescription": "Show per-model cost breakdown",
282
+ "default": false
283
+ },
284
+ "offline": {
285
+ "type": "boolean",
286
+ "description": "Use cached pricing data for Claude models instead of fetching from API",
287
+ "markdownDescription": "Use cached pricing data for Claude models instead of fetching from API",
288
+ "default": false
289
+ },
290
+ "color": {
291
+ "type": "boolean",
292
+ "description": "Enable colored output (default: auto). FORCE_COLOR=1 has the same effect.",
293
+ "markdownDescription": "Enable colored output (default: auto). FORCE_COLOR=1 has the same effect."
294
+ },
295
+ "noColor": {
296
+ "type": "boolean",
297
+ "description": "Disable colored output (default: auto). NO_COLOR=1 has the same effect.",
298
+ "markdownDescription": "Disable colored output (default: auto). NO_COLOR=1 has the same effect."
299
+ },
300
+ "timezone": {
301
+ "type": "string",
302
+ "description": "Timezone for date grouping (e.g., UTC, America/New_York, Asia/Tokyo). Default: system timezone",
303
+ "markdownDescription": "Timezone for date grouping (e.g., UTC, America/New_York, Asia/Tokyo). Default: system timezone"
304
+ },
305
+ "locale": {
306
+ "type": "string",
307
+ "description": "Locale for date/time formatting (e.g., en-US, ja-JP, de-DE)",
308
+ "markdownDescription": "Locale for date/time formatting (e.g., en-US, ja-JP, de-DE)",
309
+ "default": "en-CA"
310
+ },
311
+ "jq": {
312
+ "type": "string",
313
+ "description": "Process JSON output with jq command (requires jq binary, implies --json)",
314
+ "markdownDescription": "Process JSON output with jq command (requires jq binary, implies --json)"
315
+ },
316
+ "compact": {
317
+ "type": "boolean",
318
+ "description": "Force compact mode for narrow displays (better for screenshots)",
319
+ "markdownDescription": "Force compact mode for narrow displays (better for screenshots)",
320
+ "default": false
321
+ }
322
+ },
323
+ "additionalProperties": false
324
+ },
325
+ "weekly": {
326
+ "type": "object",
327
+ "properties": {
328
+ "since": {
329
+ "type": "string",
330
+ "description": "Filter from date (YYYYMMDD format)",
331
+ "markdownDescription": "Filter from date (YYYYMMDD format)"
332
+ },
333
+ "until": {
334
+ "type": "string",
335
+ "description": "Filter until date (YYYYMMDD format)",
336
+ "markdownDescription": "Filter until date (YYYYMMDD format)"
337
+ },
338
+ "json": {
339
+ "type": "boolean",
340
+ "description": "Output in JSON format",
341
+ "markdownDescription": "Output in JSON format",
342
+ "default": false
343
+ },
344
+ "mode": {
345
+ "type": "string",
346
+ "enum": [
347
+ "auto",
348
+ "calculate",
349
+ "display"
350
+ ],
351
+ "description": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
352
+ "markdownDescription": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
353
+ "default": "auto"
354
+ },
355
+ "debug": {
356
+ "type": "boolean",
357
+ "description": "Show pricing mismatch information for debugging",
358
+ "markdownDescription": "Show pricing mismatch information for debugging",
359
+ "default": false
360
+ },
361
+ "debugSamples": {
362
+ "type": "number",
363
+ "description": "Number of sample discrepancies to show in debug output (default: 5)",
364
+ "markdownDescription": "Number of sample discrepancies to show in debug output (default: 5)",
365
+ "default": 5
366
+ },
367
+ "order": {
368
+ "type": "string",
369
+ "enum": [
370
+ "desc",
371
+ "asc"
372
+ ],
373
+ "description": "Sort order: desc (newest first) or asc (oldest first)",
374
+ "markdownDescription": "Sort order: desc (newest first) or asc (oldest first)",
375
+ "default": "asc"
376
+ },
377
+ "breakdown": {
378
+ "type": "boolean",
379
+ "description": "Show per-model cost breakdown",
380
+ "markdownDescription": "Show per-model cost breakdown",
381
+ "default": false
382
+ },
383
+ "offline": {
384
+ "type": "boolean",
385
+ "description": "Use cached pricing data for Claude models instead of fetching from API",
386
+ "markdownDescription": "Use cached pricing data for Claude models instead of fetching from API",
387
+ "default": false
388
+ },
389
+ "color": {
390
+ "type": "boolean",
391
+ "description": "Enable colored output (default: auto). FORCE_COLOR=1 has the same effect.",
392
+ "markdownDescription": "Enable colored output (default: auto). FORCE_COLOR=1 has the same effect."
393
+ },
394
+ "noColor": {
395
+ "type": "boolean",
396
+ "description": "Disable colored output (default: auto). NO_COLOR=1 has the same effect.",
397
+ "markdownDescription": "Disable colored output (default: auto). NO_COLOR=1 has the same effect."
398
+ },
399
+ "timezone": {
400
+ "type": "string",
401
+ "description": "Timezone for date grouping (e.g., UTC, America/New_York, Asia/Tokyo). Default: system timezone",
402
+ "markdownDescription": "Timezone for date grouping (e.g., UTC, America/New_York, Asia/Tokyo). Default: system timezone"
403
+ },
404
+ "locale": {
405
+ "type": "string",
406
+ "description": "Locale for date/time formatting (e.g., en-US, ja-JP, de-DE)",
407
+ "markdownDescription": "Locale for date/time formatting (e.g., en-US, ja-JP, de-DE)",
408
+ "default": "en-CA"
409
+ },
410
+ "jq": {
411
+ "type": "string",
412
+ "description": "Process JSON output with jq command (requires jq binary, implies --json)",
413
+ "markdownDescription": "Process JSON output with jq command (requires jq binary, implies --json)"
414
+ },
415
+ "compact": {
416
+ "type": "boolean",
417
+ "description": "Force compact mode for narrow displays (better for screenshots)",
418
+ "markdownDescription": "Force compact mode for narrow displays (better for screenshots)",
419
+ "default": false
420
+ },
421
+ "startOfWeek": {
422
+ "type": "string",
423
+ "enum": [
424
+ "sunday",
425
+ "monday",
426
+ "tuesday",
427
+ "wednesday",
428
+ "thursday",
429
+ "friday",
430
+ "saturday"
431
+ ],
432
+ "description": "Day to start the week on",
433
+ "markdownDescription": "Day to start the week on",
434
+ "default": "sunday"
435
+ }
436
+ },
437
+ "additionalProperties": false
438
+ },
439
+ "session": {
440
+ "type": "object",
441
+ "properties": {
442
+ "since": {
443
+ "type": "string",
444
+ "description": "Filter from date (YYYYMMDD format)",
445
+ "markdownDescription": "Filter from date (YYYYMMDD format)"
446
+ },
447
+ "until": {
448
+ "type": "string",
449
+ "description": "Filter until date (YYYYMMDD format)",
450
+ "markdownDescription": "Filter until date (YYYYMMDD format)"
451
+ },
452
+ "json": {
453
+ "type": "boolean",
454
+ "description": "Output in JSON format",
455
+ "markdownDescription": "Output in JSON format",
456
+ "default": false
457
+ },
458
+ "mode": {
459
+ "type": "string",
460
+ "enum": [
461
+ "auto",
462
+ "calculate",
463
+ "display"
464
+ ],
465
+ "description": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
466
+ "markdownDescription": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
467
+ "default": "auto"
468
+ },
469
+ "debug": {
470
+ "type": "boolean",
471
+ "description": "Show pricing mismatch information for debugging",
472
+ "markdownDescription": "Show pricing mismatch information for debugging",
473
+ "default": false
474
+ },
475
+ "debugSamples": {
476
+ "type": "number",
477
+ "description": "Number of sample discrepancies to show in debug output (default: 5)",
478
+ "markdownDescription": "Number of sample discrepancies to show in debug output (default: 5)",
479
+ "default": 5
480
+ },
481
+ "order": {
482
+ "type": "string",
483
+ "enum": [
484
+ "desc",
485
+ "asc"
486
+ ],
487
+ "description": "Sort order: desc (newest first) or asc (oldest first)",
488
+ "markdownDescription": "Sort order: desc (newest first) or asc (oldest first)",
489
+ "default": "asc"
490
+ },
491
+ "breakdown": {
492
+ "type": "boolean",
493
+ "description": "Show per-model cost breakdown",
494
+ "markdownDescription": "Show per-model cost breakdown",
495
+ "default": false
496
+ },
497
+ "offline": {
498
+ "type": "boolean",
499
+ "description": "Use cached pricing data for Claude models instead of fetching from API",
500
+ "markdownDescription": "Use cached pricing data for Claude models instead of fetching from API",
501
+ "default": false
502
+ },
503
+ "color": {
504
+ "type": "boolean",
505
+ "description": "Enable colored output (default: auto). FORCE_COLOR=1 has the same effect.",
506
+ "markdownDescription": "Enable colored output (default: auto). FORCE_COLOR=1 has the same effect."
507
+ },
508
+ "noColor": {
509
+ "type": "boolean",
510
+ "description": "Disable colored output (default: auto). NO_COLOR=1 has the same effect.",
511
+ "markdownDescription": "Disable colored output (default: auto). NO_COLOR=1 has the same effect."
512
+ },
513
+ "timezone": {
514
+ "type": "string",
515
+ "description": "Timezone for date grouping (e.g., UTC, America/New_York, Asia/Tokyo). Default: system timezone",
516
+ "markdownDescription": "Timezone for date grouping (e.g., UTC, America/New_York, Asia/Tokyo). Default: system timezone"
517
+ },
518
+ "locale": {
519
+ "type": "string",
520
+ "description": "Locale for date/time formatting (e.g., en-US, ja-JP, de-DE)",
521
+ "markdownDescription": "Locale for date/time formatting (e.g., en-US, ja-JP, de-DE)",
522
+ "default": "en-CA"
523
+ },
524
+ "jq": {
525
+ "type": "string",
526
+ "description": "Process JSON output with jq command (requires jq binary, implies --json)",
527
+ "markdownDescription": "Process JSON output with jq command (requires jq binary, implies --json)"
528
+ },
529
+ "compact": {
530
+ "type": "boolean",
531
+ "description": "Force compact mode for narrow displays (better for screenshots)",
532
+ "markdownDescription": "Force compact mode for narrow displays (better for screenshots)",
533
+ "default": false
534
+ },
535
+ "id": {
536
+ "type": "string",
537
+ "description": "Load usage data for a specific session ID",
538
+ "markdownDescription": "Load usage data for a specific session ID"
539
+ }
540
+ },
541
+ "additionalProperties": false
542
+ },
543
+ "blocks": {
544
+ "type": "object",
545
+ "properties": {
546
+ "since": {
547
+ "type": "string",
548
+ "description": "Filter from date (YYYYMMDD format)",
549
+ "markdownDescription": "Filter from date (YYYYMMDD format)"
550
+ },
551
+ "until": {
552
+ "type": "string",
553
+ "description": "Filter until date (YYYYMMDD format)",
554
+ "markdownDescription": "Filter until date (YYYYMMDD format)"
555
+ },
556
+ "json": {
557
+ "type": "boolean",
558
+ "description": "Output in JSON format",
559
+ "markdownDescription": "Output in JSON format",
560
+ "default": false
561
+ },
562
+ "mode": {
563
+ "type": "string",
564
+ "enum": [
565
+ "auto",
566
+ "calculate",
567
+ "display"
568
+ ],
569
+ "description": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
570
+ "markdownDescription": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
571
+ "default": "auto"
572
+ },
573
+ "debug": {
574
+ "type": "boolean",
575
+ "description": "Show pricing mismatch information for debugging",
576
+ "markdownDescription": "Show pricing mismatch information for debugging",
577
+ "default": false
578
+ },
579
+ "debugSamples": {
580
+ "type": "number",
581
+ "description": "Number of sample discrepancies to show in debug output (default: 5)",
582
+ "markdownDescription": "Number of sample discrepancies to show in debug output (default: 5)",
583
+ "default": 5
584
+ },
585
+ "order": {
586
+ "type": "string",
587
+ "enum": [
588
+ "desc",
589
+ "asc"
590
+ ],
591
+ "description": "Sort order: desc (newest first) or asc (oldest first)",
592
+ "markdownDescription": "Sort order: desc (newest first) or asc (oldest first)",
593
+ "default": "asc"
594
+ },
595
+ "breakdown": {
596
+ "type": "boolean",
597
+ "description": "Show per-model cost breakdown",
598
+ "markdownDescription": "Show per-model cost breakdown",
599
+ "default": false
600
+ },
601
+ "offline": {
602
+ "type": "boolean",
603
+ "description": "Use cached pricing data for Claude models instead of fetching from API",
604
+ "markdownDescription": "Use cached pricing data for Claude models instead of fetching from API",
605
+ "default": false
606
+ },
607
+ "color": {
608
+ "type": "boolean",
609
+ "description": "Enable colored output (default: auto). FORCE_COLOR=1 has the same effect.",
610
+ "markdownDescription": "Enable colored output (default: auto). FORCE_COLOR=1 has the same effect."
611
+ },
612
+ "noColor": {
613
+ "type": "boolean",
614
+ "description": "Disable colored output (default: auto). NO_COLOR=1 has the same effect.",
615
+ "markdownDescription": "Disable colored output (default: auto). NO_COLOR=1 has the same effect."
616
+ },
617
+ "timezone": {
618
+ "type": "string",
619
+ "description": "Timezone for date grouping (e.g., UTC, America/New_York, Asia/Tokyo). Default: system timezone",
620
+ "markdownDescription": "Timezone for date grouping (e.g., UTC, America/New_York, Asia/Tokyo). Default: system timezone"
621
+ },
622
+ "locale": {
623
+ "type": "string",
624
+ "description": "Locale for date/time formatting (e.g., en-US, ja-JP, de-DE)",
625
+ "markdownDescription": "Locale for date/time formatting (e.g., en-US, ja-JP, de-DE)",
626
+ "default": "en-CA"
627
+ },
628
+ "jq": {
629
+ "type": "string",
630
+ "description": "Process JSON output with jq command (requires jq binary, implies --json)",
631
+ "markdownDescription": "Process JSON output with jq command (requires jq binary, implies --json)"
632
+ },
633
+ "compact": {
634
+ "type": "boolean",
635
+ "description": "Force compact mode for narrow displays (better for screenshots)",
636
+ "markdownDescription": "Force compact mode for narrow displays (better for screenshots)",
637
+ "default": false
638
+ },
639
+ "active": {
640
+ "type": "boolean",
641
+ "description": "Show only active block with projections",
642
+ "markdownDescription": "Show only active block with projections",
643
+ "default": false
644
+ },
645
+ "recent": {
646
+ "type": "boolean",
647
+ "description": "Show blocks from last 3 days (including active)",
648
+ "markdownDescription": "Show blocks from last 3 days (including active)",
649
+ "default": false
650
+ },
651
+ "tokenLimit": {
652
+ "type": "string",
653
+ "description": "Token limit for quota warnings (e.g., 500000 or \"max\")",
654
+ "markdownDescription": "Token limit for quota warnings (e.g., 500000 or \"max\")"
655
+ },
656
+ "sessionLength": {
657
+ "type": "number",
658
+ "description": "Session block duration in hours (default: 5)",
659
+ "markdownDescription": "Session block duration in hours (default: 5)",
660
+ "default": 5
661
+ },
662
+ "live": {
663
+ "type": "boolean",
664
+ "description": "Live monitoring mode with real-time updates",
665
+ "markdownDescription": "Live monitoring mode with real-time updates",
666
+ "default": false
667
+ },
668
+ "refreshInterval": {
669
+ "type": "number",
670
+ "description": "Refresh interval in seconds for live mode (default: 1)",
671
+ "markdownDescription": "Refresh interval in seconds for live mode (default: 1)",
672
+ "default": 1
673
+ }
674
+ },
675
+ "additionalProperties": false
676
+ },
677
+ "mcp": {
678
+ "type": "object",
679
+ "properties": {
680
+ "mode": {
681
+ "type": "string",
682
+ "enum": [
683
+ "auto",
684
+ "calculate",
685
+ "display"
686
+ ],
687
+ "description": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
688
+ "markdownDescription": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
689
+ "default": "auto"
690
+ },
691
+ "type": {
692
+ "type": "string",
693
+ "enum": [
694
+ "stdio",
695
+ "http"
696
+ ],
697
+ "description": "Transport type for MCP server",
698
+ "markdownDescription": "Transport type for MCP server",
699
+ "default": "stdio"
700
+ },
701
+ "port": {
702
+ "type": "number",
703
+ "description": "Port for HTTP transport (default: 8080)",
704
+ "markdownDescription": "Port for HTTP transport (default: 8080)",
705
+ "default": 8080
706
+ }
707
+ },
708
+ "additionalProperties": false
709
+ },
710
+ "statusline": {
711
+ "type": "object",
712
+ "properties": {
713
+ "offline": {
714
+ "type": "boolean",
715
+ "description": "Use cached pricing data for Claude models instead of fetching from API",
716
+ "markdownDescription": "Use cached pricing data for Claude models instead of fetching from API",
717
+ "default": true
718
+ },
719
+ "visualBurnRate": {
720
+ "type": "string",
721
+ "enum": [
722
+ "off",
723
+ "emoji",
724
+ "text",
725
+ "emoji-text"
726
+ ],
727
+ "description": "Controls the visualization of the burn rate status",
728
+ "markdownDescription": "Controls the visualization of the burn rate status",
729
+ "default": "off"
730
+ },
731
+ "cache": {
732
+ "type": "boolean",
733
+ "description": "Enable cache for status line output (default: true)",
734
+ "markdownDescription": "Enable cache for status line output (default: true)",
735
+ "default": true
736
+ },
737
+ "refreshInterval": {
738
+ "type": "number",
739
+ "description": "Refresh interval in seconds for cache expiry (default: 1)",
740
+ "markdownDescription": "Refresh interval in seconds for cache expiry (default: 1)",
741
+ "default": 1
742
+ },
743
+ "debug": {
744
+ "type": "boolean",
745
+ "description": "Show pricing mismatch information for debugging",
746
+ "markdownDescription": "Show pricing mismatch information for debugging",
747
+ "default": false
748
+ }
749
+ },
750
+ "additionalProperties": false
751
+ }
752
+ },
753
+ "additionalProperties": false,
754
+ "description": "Command-specific configuration overrides",
755
+ "markdownDescription": "Command-specific configuration overrides"
756
+ }
757
+ },
758
+ "additionalProperties": false
759
+ }
760
+ },
761
+ "$schema": "https://json-schema.org/draft-07/schema#",
762
+ "title": "ccusage Configuration",
763
+ "description": "Configuration file for ccusage - Claude Code usage analysis tool",
764
+ "examples": [
765
+ {
766
+ "$schema": "https://ccusage.com/config-schema.json",
767
+ "defaults": {
768
+ "json": false,
769
+ "mode": "auto",
770
+ "timezone": "Asia/Tokyo",
771
+ "locale": "ja-JP"
772
+ },
773
+ "commands": {
774
+ "daily": {
775
+ "instances": true
776
+ },
777
+ "blocks": {
778
+ "tokenLimit": "500000"
779
+ }
780
+ }
781
+ }
782
+ ]
783
+ }