roadmodel 0.2.87__tar.gz → 0.2.89__tar.gz

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.
Files changed (73) hide show
  1. {roadmodel-0.2.87 → roadmodel-0.2.89}/PKG-INFO +10 -6
  2. {roadmodel-0.2.87 → roadmodel-0.2.89}/README.md +9 -5
  3. {roadmodel-0.2.87/roadmodel/data → roadmodel-0.2.89/docs}/catalog.json +65 -3
  4. {roadmodel-0.2.87 → roadmodel-0.2.89}/docs/claude-commands/roadmap-refresh.md +2 -1
  5. {roadmodel-0.2.87/roadmodel/data → roadmodel-0.2.89/docs/claude-commands}/roadmap-step.md +1 -1
  6. {roadmodel-0.2.87 → roadmodel-0.2.89}/docs/model-selector.txt +79 -36
  7. {roadmodel-0.2.87/roadmodel/data → roadmodel-0.2.89/docs}/settings-display.md +74 -43
  8. {roadmodel-0.2.87/roadmodel/data → roadmodel-0.2.89/docs/templates}/phase-roadmap-template.md +33 -19
  9. {roadmodel-0.2.87/roadmodel/data → roadmodel-0.2.89/docs/templates}/planning-kit-how-to-use.md +2 -1
  10. {roadmodel-0.2.87/roadmodel/data → roadmodel-0.2.89/docs/templates}/project-roadmap-template.md +1017 -1015
  11. {roadmodel-0.2.87 → roadmodel-0.2.89}/docs/templates/prompt-phase-roadmap.md +1 -1
  12. {roadmodel-0.2.87 → roadmodel-0.2.89}/docs/templates/prompt-project-roadmap.md +3 -2
  13. {roadmodel-0.2.87/roadmodel/data → roadmodel-0.2.89/docs}/user-context.example.md +2 -2
  14. {roadmodel-0.2.87 → roadmodel-0.2.89}/pyproject.toml +1 -1
  15. {roadmodel-0.2.87/docs → roadmodel-0.2.89/roadmodel/data}/catalog.json +65 -3
  16. {roadmodel-0.2.87 → roadmodel-0.2.89}/roadmodel/data/model-selector.txt +79 -36
  17. {roadmodel-0.2.87/docs/templates → roadmodel-0.2.89/roadmodel/data}/phase-roadmap-template.md +33 -19
  18. {roadmodel-0.2.87/docs/templates → roadmodel-0.2.89/roadmodel/data}/planning-kit-how-to-use.md +2 -1
  19. {roadmodel-0.2.87/docs/templates → roadmodel-0.2.89/roadmodel/data}/project-roadmap-template.md +1017 -1015
  20. {roadmodel-0.2.87 → roadmodel-0.2.89}/roadmodel/data/prompt-phase-roadmap.md +1 -1
  21. {roadmodel-0.2.87 → roadmodel-0.2.89}/roadmodel/data/prompt-project-roadmap.md +3 -2
  22. {roadmodel-0.2.87 → roadmodel-0.2.89}/roadmodel/data/roadmap-refresh.md +2 -1
  23. {roadmodel-0.2.87/docs/claude-commands → roadmodel-0.2.89/roadmodel/data}/roadmap-step.md +1 -1
  24. {roadmodel-0.2.87/docs → roadmodel-0.2.89/roadmodel/data}/settings-display.md +74 -43
  25. {roadmodel-0.2.87/docs → roadmodel-0.2.89/roadmodel/data}/user-context.example.md +2 -2
  26. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/__init__.py +1 -1
  27. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/cli.py +10 -15
  28. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/config.py +30 -8
  29. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/cost.py +19 -0
  30. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/mcp_server.py +38 -15
  31. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/recommend.py +65 -27
  32. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/scoring.py +13 -6
  33. {roadmodel-0.2.87 → roadmodel-0.2.89}/.github/README.md +0 -0
  34. {roadmodel-0.2.87 → roadmodel-0.2.89}/.gitignore +0 -0
  35. {roadmodel-0.2.87 → roadmodel-0.2.89}/LICENSE +0 -0
  36. {roadmodel-0.2.87 → roadmodel-0.2.89}/NOTICE +0 -0
  37. {roadmodel-0.2.87 → roadmodel-0.2.89}/docs/benchmarks.json +0 -0
  38. {roadmodel-0.2.87 → roadmodel-0.2.89}/docs/claude-commands/roadmap-phase.md +0 -0
  39. {roadmodel-0.2.87 → roadmodel-0.2.89}/docs/claude-commands/roadmap-project.md +0 -0
  40. {roadmodel-0.2.87 → roadmodel-0.2.89}/docs/claude-commands/roadmodel-upgrade.md +0 -0
  41. {roadmodel-0.2.87 → roadmodel-0.2.89}/docs/context-windows.json +0 -0
  42. {roadmodel-0.2.87 → roadmodel-0.2.89}/docs/effort-tokens.json +0 -0
  43. {roadmodel-0.2.87 → roadmodel-0.2.89}/docs/model-tier-cost-scale.md +0 -0
  44. {roadmodel-0.2.87 → roadmodel-0.2.89}/hatch_build.py +0 -0
  45. {roadmodel-0.2.87 → roadmodel-0.2.89}/infra/README.md +0 -0
  46. {roadmodel-0.2.87 → roadmodel-0.2.89}/infra/gcp-killswitch/README.md +0 -0
  47. {roadmodel-0.2.87 → roadmodel-0.2.89}/infra/supabase/README.md +0 -0
  48. {roadmodel-0.2.87 → roadmodel-0.2.89}/roadmodel/data/benchmarks.json +0 -0
  49. {roadmodel-0.2.87 → roadmodel-0.2.89}/roadmodel/data/context-windows.json +0 -0
  50. {roadmodel-0.2.87 → roadmodel-0.2.89}/roadmodel/data/effort-tokens.json +0 -0
  51. {roadmodel-0.2.87 → roadmodel-0.2.89}/roadmodel/data/model-tier-cost-scale.md +0 -0
  52. {roadmodel-0.2.87 → roadmodel-0.2.89}/roadmodel/data/roadmap-phase.md +0 -0
  53. {roadmodel-0.2.87 → roadmodel-0.2.89}/roadmodel/data/roadmap-project.md +0 -0
  54. {roadmodel-0.2.87 → roadmodel-0.2.89}/roadmodel/data/roadmodel-upgrade.md +0 -0
  55. {roadmodel-0.2.87 → roadmodel-0.2.89}/scripts/agent_context.py +0 -0
  56. {roadmodel-0.2.87 → roadmodel-0.2.89}/scripts/agent_rules.py +0 -0
  57. {roadmodel-0.2.87 → roadmodel-0.2.89}/scripts/update_projects.py +0 -0
  58. {roadmodel-0.2.87 → roadmodel-0.2.89}/scripts/updater_lock.py +0 -0
  59. {roadmodel-0.2.87 → roadmodel-0.2.89}/scripts/upgrade_fleet.py +0 -0
  60. {roadmodel-0.2.87 → roadmodel-0.2.89}/scripts/worktree_memory.py +0 -0
  61. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/__main__.py +0 -0
  62. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/errors.py +0 -0
  63. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/private_files.py +0 -0
  64. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/providers/__init__.py +0 -0
  65. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/providers/_safety.py +0 -0
  66. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/providers/anthropic.py +0 -0
  67. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/providers/google.py +0 -0
  68. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/providers/openai.py +0 -0
  69. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/providers/openai_compatible.py +0 -0
  70. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/providers/registry.py +0 -0
  71. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/series.py +0 -0
  72. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/usage.py +0 -0
  73. {roadmodel-0.2.87 → roadmodel-0.2.89}/src/roadmodel/user_context.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: roadmodel
3
- Version: 0.2.87
3
+ Version: 0.2.89
4
4
  Summary: BYO-key CLI that recommends the right AI model, platform, and settings for a prompt.
5
5
  Project-URL: Homepage, https://roadmodel.ai
6
6
  Project-URL: Repository, https://github.com/nathanramoscfa/roadmodel
@@ -525,10 +525,13 @@ multi-file blast radius without over-buying the ceiling.
525
525
 
526
526
  The **setting fields are platform-conditional**: a block carries only
527
527
  the dials the chosen platform actually has. Claude Code exposes an
528
- effort dial and a thinking toggle, so the example emits `EFFORT` and
529
- `THINKING` and no `MAX MODE` line at all — Claude Code has no Max Mode
530
- control, and a dial a surface lacks is omitted rather than reported as
531
- `Off`. Cursor is the inverse: it emits `MAX MODE` and no `EFFORT` /
528
+ effort dial and, on a model that can turn thinking off such as Opus
529
+ 4.7, a thinking toggle, so the example emits `EFFORT` and `THINKING`
530
+ and no `MAX MODE` line at all — Claude Code has no Max Mode control,
531
+ and a dial a surface lacks is omitted rather than reported as `Off`.
532
+ A model that always thinks (Opus 5.5, Sonnet 5.5, Haiku 5.5, the Fable
533
+ models) has no thinking toggle on any surface, so its block carries
534
+ `EFFORT` and no `THINKING`. Cursor is the inverse: it emits `MAX MODE` and no `EFFORT` /
532
535
  `THINKING`. `MODEL`, `BACKUP`, `PLATFORM`, `CONVERSATION`, and
533
536
  `RATIONALE` are always present.
534
537
 
@@ -636,7 +639,8 @@ complexity; `PLATFORM` and the settings that come with it are filled
636
639
  by the `<access-selection>` step, which depends on the subscriptions
637
640
  and API-key state declared in your `user-context.md`. Because the
638
641
  platform decides which dials exist, the field set varies per block:
639
- an effort/thinking surface emits `EFFORT` + `THINKING`, Cursor emits
642
+ an effort/thinking surface emits `EFFORT` + `THINKING` (`EFFORT` alone
643
+ for a model that always thinks), Cursor emits
640
644
  `MAX MODE`, and a dial the surface does not have is left out entirely
641
645
  instead of being reported as `Off` or `N/A`.
642
646
 
@@ -274,10 +274,13 @@ multi-file blast radius without over-buying the ceiling.
274
274
 
275
275
  The **setting fields are platform-conditional**: a block carries only
276
276
  the dials the chosen platform actually has. Claude Code exposes an
277
- effort dial and a thinking toggle, so the example emits `EFFORT` and
278
- `THINKING` and no `MAX MODE` line at all — Claude Code has no Max Mode
279
- control, and a dial a surface lacks is omitted rather than reported as
280
- `Off`. Cursor is the inverse: it emits `MAX MODE` and no `EFFORT` /
277
+ effort dial and, on a model that can turn thinking off such as Opus
278
+ 4.7, a thinking toggle, so the example emits `EFFORT` and `THINKING`
279
+ and no `MAX MODE` line at all — Claude Code has no Max Mode control,
280
+ and a dial a surface lacks is omitted rather than reported as `Off`.
281
+ A model that always thinks (Opus 5.5, Sonnet 5.5, Haiku 5.5, the Fable
282
+ models) has no thinking toggle on any surface, so its block carries
283
+ `EFFORT` and no `THINKING`. Cursor is the inverse: it emits `MAX MODE` and no `EFFORT` /
281
284
  `THINKING`. `MODEL`, `BACKUP`, `PLATFORM`, `CONVERSATION`, and
282
285
  `RATIONALE` are always present.
283
286
 
@@ -385,7 +388,8 @@ complexity; `PLATFORM` and the settings that come with it are filled
385
388
  by the `<access-selection>` step, which depends on the subscriptions
386
389
  and API-key state declared in your `user-context.md`. Because the
387
390
  platform decides which dials exist, the field set varies per block:
388
- an effort/thinking surface emits `EFFORT` + `THINKING`, Cursor emits
391
+ an effort/thinking surface emits `EFFORT` + `THINKING` (`EFFORT` alone
392
+ for a model that always thinks), Cursor emits
389
393
  `MAX MODE`, and a dial the surface does not have is left out entirely
390
394
  instead of being reported as `Off` or `N/A`.
391
395
 
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "schema_version": "4",
3
3
  "output_contract_version": 2,
4
- "generated_at_utc": "2026-10-20T01:36:08Z",
4
+ "generated_at_utc": "2026-10-21T02:30:06Z",
5
5
  "source_doc_sha256": {
6
- "model-selector.txt": "2d46e000b8bc75345da7dd53eddfeab05baccbe36a91c2a804f12cbd5fbcb8c5",
6
+ "model-selector.txt": "e2ef6c5a18f05ff952fad9f576720b8fc4637f563f60ce5c077c5501fc21d1b7",
7
7
  "model-tier-cost-scale.md": "286d95759952ae60448114e5803c13b6de6aeb5d63a043b40aa6489175cbdc89"
8
8
  },
9
9
  "models": [
@@ -30,6 +30,7 @@
30
30
  "superseded_by": null,
31
31
  "superseded_on": null,
32
32
  "added_on": null,
33
+ "always_thinks": false,
33
34
  "retires_on": null
34
35
  },
35
36
  {
@@ -55,6 +56,7 @@
55
56
  "superseded_by": "claude-fable-5.1",
56
57
  "superseded_on": "2026-09-24",
57
58
  "added_on": null,
59
+ "always_thinks": true,
58
60
  "retires_on": "2026-10-24"
59
61
  },
60
62
  {
@@ -80,6 +82,7 @@
80
82
  "superseded_by": null,
81
83
  "superseded_on": null,
82
84
  "added_on": null,
85
+ "always_thinks": true,
83
86
  "retires_on": null
84
87
  },
85
88
  {
@@ -105,6 +108,7 @@
105
108
  "superseded_by": null,
106
109
  "superseded_on": null,
107
110
  "added_on": "2026-10-20",
111
+ "always_thinks": true,
108
112
  "retires_on": null
109
113
  },
110
114
  {
@@ -130,6 +134,7 @@
130
134
  "superseded_by": "claude-opus-5-5",
131
135
  "superseded_on": "2026-09-24",
132
136
  "added_on": null,
137
+ "always_thinks": false,
133
138
  "retires_on": "2026-10-24"
134
139
  },
135
140
  {
@@ -155,6 +160,7 @@
155
160
  "superseded_by": null,
156
161
  "superseded_on": null,
157
162
  "added_on": null,
163
+ "always_thinks": true,
158
164
  "retires_on": null
159
165
  },
160
166
  {
@@ -180,6 +186,7 @@
180
186
  "superseded_by": "claude-sonnet-5-5",
181
187
  "superseded_on": "2026-10-02",
182
188
  "added_on": null,
189
+ "always_thinks": false,
183
190
  "retires_on": "2026-11-01"
184
191
  },
185
192
  {
@@ -205,6 +212,7 @@
205
212
  "superseded_by": null,
206
213
  "superseded_on": null,
207
214
  "added_on": null,
215
+ "always_thinks": true,
208
216
  "retires_on": null
209
217
  },
210
218
  {
@@ -230,6 +238,7 @@
230
238
  "superseded_by": null,
231
239
  "superseded_on": null,
232
240
  "added_on": null,
241
+ "always_thinks": false,
233
242
  "retires_on": null
234
243
  },
235
244
  {
@@ -255,6 +264,7 @@
255
264
  "superseded_by": null,
256
265
  "superseded_on": null,
257
266
  "added_on": null,
267
+ "always_thinks": false,
258
268
  "retires_on": null
259
269
  },
260
270
  {
@@ -280,6 +290,7 @@
280
290
  "superseded_by": null,
281
291
  "superseded_on": null,
282
292
  "added_on": null,
293
+ "always_thinks": false,
283
294
  "retires_on": null
284
295
  },
285
296
  {
@@ -305,6 +316,7 @@
305
316
  "superseded_by": "deepseek-flash",
306
317
  "superseded_on": "2026-10-02",
307
318
  "added_on": null,
319
+ "always_thinks": false,
308
320
  "retires_on": "2026-11-01"
309
321
  },
310
322
  {
@@ -330,6 +342,7 @@
330
342
  "superseded_by": null,
331
343
  "superseded_on": null,
332
344
  "added_on": null,
345
+ "always_thinks": false,
333
346
  "retires_on": null
334
347
  },
335
348
  {
@@ -355,6 +368,7 @@
355
368
  "superseded_by": null,
356
369
  "superseded_on": null,
357
370
  "added_on": null,
371
+ "always_thinks": false,
358
372
  "retires_on": null
359
373
  },
360
374
  {
@@ -380,6 +394,7 @@
380
394
  "superseded_by": "gemini-3.8-flash",
381
395
  "superseded_on": "2026-10-02",
382
396
  "added_on": null,
397
+ "always_thinks": false,
383
398
  "retires_on": "2026-11-01"
384
399
  },
385
400
  {
@@ -405,6 +420,7 @@
405
420
  "superseded_by": null,
406
421
  "superseded_on": null,
407
422
  "added_on": "2026-10-07",
423
+ "always_thinks": false,
408
424
  "retires_on": null
409
425
  },
410
426
  {
@@ -430,6 +446,7 @@
430
446
  "superseded_by": "gemini-3.8-flash",
431
447
  "superseded_on": "2026-10-02",
432
448
  "added_on": null,
449
+ "always_thinks": false,
433
450
  "retires_on": "2026-11-01"
434
451
  },
435
452
  {
@@ -455,6 +472,7 @@
455
472
  "superseded_by": "gemini-3.8-flash",
456
473
  "superseded_on": "2026-09-24",
457
474
  "added_on": null,
475
+ "always_thinks": false,
458
476
  "retires_on": "2026-10-24"
459
477
  },
460
478
  {
@@ -480,6 +498,7 @@
480
498
  "superseded_by": null,
481
499
  "superseded_on": null,
482
500
  "added_on": "2026-10-07",
501
+ "always_thinks": false,
483
502
  "retires_on": null
484
503
  },
485
504
  {
@@ -505,6 +524,7 @@
505
524
  "superseded_by": "gemini-3.8-flash",
506
525
  "superseded_on": "2026-09-24",
507
526
  "added_on": null,
527
+ "always_thinks": false,
508
528
  "retires_on": "2026-10-24"
509
529
  },
510
530
  {
@@ -530,6 +550,7 @@
530
550
  "superseded_by": "gemini-3.8-flash",
531
551
  "superseded_on": "2026-09-24",
532
552
  "added_on": null,
553
+ "always_thinks": false,
533
554
  "retires_on": "2026-10-24"
534
555
  },
535
556
  {
@@ -555,6 +576,7 @@
555
576
  "superseded_by": null,
556
577
  "superseded_on": null,
557
578
  "added_on": null,
579
+ "always_thinks": false,
558
580
  "retires_on": null
559
581
  },
560
582
  {
@@ -580,6 +602,7 @@
580
602
  "superseded_by": null,
581
603
  "superseded_on": null,
582
604
  "added_on": "2026-10-20",
605
+ "always_thinks": false,
583
606
  "retires_on": null
584
607
  },
585
608
  {
@@ -605,6 +628,7 @@
605
628
  "superseded_by": null,
606
629
  "superseded_on": null,
607
630
  "added_on": null,
631
+ "always_thinks": false,
608
632
  "retires_on": null
609
633
  },
610
634
  {
@@ -630,6 +654,7 @@
630
654
  "superseded_by": null,
631
655
  "superseded_on": null,
632
656
  "added_on": null,
657
+ "always_thinks": false,
633
658
  "retires_on": null
634
659
  },
635
660
  {
@@ -655,6 +680,7 @@
655
680
  "superseded_by": null,
656
681
  "superseded_on": null,
657
682
  "added_on": null,
683
+ "always_thinks": false,
658
684
  "retires_on": null
659
685
  },
660
686
  {
@@ -680,6 +706,7 @@
680
706
  "superseded_by": null,
681
707
  "superseded_on": null,
682
708
  "added_on": null,
709
+ "always_thinks": false,
683
710
  "retires_on": null
684
711
  },
685
712
  {
@@ -705,6 +732,7 @@
705
732
  "superseded_by": null,
706
733
  "superseded_on": null,
707
734
  "added_on": null,
735
+ "always_thinks": false,
708
736
  "retires_on": null
709
737
  },
710
738
  {
@@ -730,6 +758,7 @@
730
758
  "superseded_by": "gpt-5.6-luna",
731
759
  "superseded_on": "2026-09-24",
732
760
  "added_on": null,
761
+ "always_thinks": false,
733
762
  "retires_on": "2026-10-24"
734
763
  },
735
764
  {
@@ -755,6 +784,7 @@
755
784
  "superseded_by": "gpt-5.6-luna",
756
785
  "superseded_on": "2026-09-24",
757
786
  "added_on": null,
787
+ "always_thinks": false,
758
788
  "retires_on": "2026-10-24"
759
789
  },
760
790
  {
@@ -780,6 +810,7 @@
780
810
  "superseded_by": "gpt-5.6-luna",
781
811
  "superseded_on": "2026-10-01",
782
812
  "added_on": null,
813
+ "always_thinks": false,
783
814
  "retires_on": "2026-10-31"
784
815
  },
785
816
  {
@@ -805,6 +836,7 @@
805
836
  "superseded_by": null,
806
837
  "superseded_on": null,
807
838
  "added_on": null,
839
+ "always_thinks": false,
808
840
  "retires_on": null
809
841
  },
810
842
  {
@@ -830,6 +862,7 @@
830
862
  "superseded_by": "gpt-5.6-luna",
831
863
  "superseded_on": "2026-09-24",
832
864
  "added_on": null,
865
+ "always_thinks": false,
833
866
  "retires_on": "2026-10-24"
834
867
  },
835
868
  {
@@ -855,6 +888,7 @@
855
888
  "superseded_by": "gpt-5.6-terra",
856
889
  "superseded_on": "2026-09-24",
857
890
  "added_on": null,
891
+ "always_thinks": false,
858
892
  "retires_on": "2026-10-24"
859
893
  },
860
894
  {
@@ -880,6 +914,7 @@
880
914
  "superseded_by": "gpt-5.6-terra",
881
915
  "superseded_on": "2026-09-24",
882
916
  "added_on": null,
917
+ "always_thinks": false,
883
918
  "retires_on": "2026-10-24"
884
919
  },
885
920
  {
@@ -905,6 +940,7 @@
905
940
  "superseded_by": "gpt-5.6-terra",
906
941
  "superseded_on": "2026-10-01",
907
942
  "added_on": null,
943
+ "always_thinks": false,
908
944
  "retires_on": "2026-10-31"
909
945
  },
910
946
  {
@@ -930,6 +966,7 @@
930
966
  "superseded_by": "gpt-5.6-terra",
931
967
  "superseded_on": "2026-09-24",
932
968
  "added_on": null,
969
+ "always_thinks": false,
933
970
  "retires_on": "2026-10-24"
934
971
  },
935
972
  {
@@ -955,6 +992,7 @@
955
992
  "superseded_by": "gpt-5.6-luna",
956
993
  "superseded_on": "2026-09-24",
957
994
  "added_on": null,
995
+ "always_thinks": false,
958
996
  "retires_on": "2026-10-24"
959
997
  },
960
998
  {
@@ -980,6 +1018,7 @@
980
1018
  "superseded_by": "gpt-5.6-luna",
981
1019
  "superseded_on": "2026-09-24",
982
1020
  "added_on": null,
1021
+ "always_thinks": false,
983
1022
  "retires_on": "2026-10-24"
984
1023
  },
985
1024
  {
@@ -1005,6 +1044,7 @@
1005
1044
  "superseded_by": "gpt-5.6-sol",
1006
1045
  "superseded_on": "2026-09-24",
1007
1046
  "added_on": null,
1047
+ "always_thinks": false,
1008
1048
  "retires_on": "2026-10-24"
1009
1049
  },
1010
1050
  {
@@ -1030,6 +1070,7 @@
1030
1070
  "superseded_by": null,
1031
1071
  "superseded_on": null,
1032
1072
  "added_on": null,
1073
+ "always_thinks": false,
1033
1074
  "retires_on": null
1034
1075
  },
1035
1076
  {
@@ -1055,6 +1096,7 @@
1055
1096
  "superseded_by": null,
1056
1097
  "superseded_on": null,
1057
1098
  "added_on": null,
1099
+ "always_thinks": false,
1058
1100
  "retires_on": null
1059
1101
  },
1060
1102
  {
@@ -1080,6 +1122,7 @@
1080
1122
  "superseded_by": null,
1081
1123
  "superseded_on": null,
1082
1124
  "added_on": null,
1125
+ "always_thinks": false,
1083
1126
  "retires_on": null
1084
1127
  },
1085
1128
  {
@@ -1105,6 +1148,7 @@
1105
1148
  "superseded_by": null,
1106
1149
  "superseded_on": null,
1107
1150
  "added_on": null,
1151
+ "always_thinks": false,
1108
1152
  "retires_on": null
1109
1153
  },
1110
1154
  {
@@ -1130,6 +1174,7 @@
1130
1174
  "superseded_by": null,
1131
1175
  "superseded_on": null,
1132
1176
  "added_on": null,
1177
+ "always_thinks": false,
1133
1178
  "retires_on": null
1134
1179
  },
1135
1180
  {
@@ -1155,6 +1200,7 @@
1155
1200
  "superseded_by": null,
1156
1201
  "superseded_on": null,
1157
1202
  "added_on": null,
1203
+ "always_thinks": false,
1158
1204
  "retires_on": null
1159
1205
  },
1160
1206
  {
@@ -1180,6 +1226,7 @@
1180
1226
  "superseded_by": null,
1181
1227
  "superseded_on": null,
1182
1228
  "added_on": "2026-10-01",
1229
+ "always_thinks": false,
1183
1230
  "retires_on": null
1184
1231
  },
1185
1232
  {
@@ -1205,6 +1252,7 @@
1205
1252
  "superseded_by": null,
1206
1253
  "superseded_on": null,
1207
1254
  "added_on": null,
1255
+ "always_thinks": false,
1208
1256
  "retires_on": null
1209
1257
  },
1210
1258
  {
@@ -1230,6 +1278,7 @@
1230
1278
  "superseded_by": null,
1231
1279
  "superseded_on": null,
1232
1280
  "added_on": null,
1281
+ "always_thinks": false,
1233
1282
  "retires_on": null
1234
1283
  },
1235
1284
  {
@@ -1255,6 +1304,7 @@
1255
1304
  "superseded_by": null,
1256
1305
  "superseded_on": null,
1257
1306
  "added_on": null,
1307
+ "always_thinks": false,
1258
1308
  "retires_on": null
1259
1309
  },
1260
1310
  {
@@ -1280,6 +1330,7 @@
1280
1330
  "superseded_by": "grok-4.7",
1281
1331
  "superseded_on": "2026-09-24",
1282
1332
  "added_on": null,
1333
+ "always_thinks": false,
1283
1334
  "retires_on": "2026-10-24"
1284
1335
  },
1285
1336
  {
@@ -1305,6 +1356,7 @@
1305
1356
  "superseded_by": null,
1306
1357
  "superseded_on": null,
1307
1358
  "added_on": null,
1359
+ "always_thinks": false,
1308
1360
  "retires_on": null
1309
1361
  },
1310
1362
  {
@@ -1330,6 +1382,7 @@
1330
1382
  "superseded_by": null,
1331
1383
  "superseded_on": null,
1332
1384
  "added_on": null,
1385
+ "always_thinks": false,
1333
1386
  "retires_on": null
1334
1387
  },
1335
1388
  {
@@ -1355,6 +1408,7 @@
1355
1408
  "superseded_by": null,
1356
1409
  "superseded_on": null,
1357
1410
  "added_on": null,
1411
+ "always_thinks": false,
1358
1412
  "retires_on": null
1359
1413
  },
1360
1414
  {
@@ -1380,6 +1434,7 @@
1380
1434
  "superseded_by": "mistral-small-4",
1381
1435
  "superseded_on": "2026-09-24",
1382
1436
  "added_on": null,
1437
+ "always_thinks": false,
1383
1438
  "retires_on": "2026-10-24"
1384
1439
  },
1385
1440
  {
@@ -1405,6 +1460,7 @@
1405
1460
  "superseded_by": null,
1406
1461
  "superseded_on": null,
1407
1462
  "added_on": null,
1463
+ "always_thinks": false,
1408
1464
  "retires_on": null
1409
1465
  },
1410
1466
  {
@@ -1430,6 +1486,7 @@
1430
1486
  "superseded_by": null,
1431
1487
  "superseded_on": null,
1432
1488
  "added_on": null,
1489
+ "always_thinks": false,
1433
1490
  "retires_on": null
1434
1491
  },
1435
1492
  {
@@ -1455,6 +1512,7 @@
1455
1512
  "superseded_by": null,
1456
1513
  "superseded_on": null,
1457
1514
  "added_on": null,
1515
+ "always_thinks": false,
1458
1516
  "retires_on": null
1459
1517
  },
1460
1518
  {
@@ -1480,6 +1538,7 @@
1480
1538
  "superseded_by": null,
1481
1539
  "superseded_on": null,
1482
1540
  "added_on": "2026-10-20",
1541
+ "always_thinks": false,
1483
1542
  "retires_on": null
1484
1543
  },
1485
1544
  {
@@ -1505,6 +1564,7 @@
1505
1564
  "superseded_by": "claude-opus-5-5",
1506
1565
  "superseded_on": "2026-09-24",
1507
1566
  "added_on": null,
1567
+ "always_thinks": false,
1508
1568
  "retires_on": "2026-10-24"
1509
1569
  },
1510
1570
  {
@@ -1530,6 +1590,7 @@
1530
1590
  "superseded_by": "claude-opus-5-5",
1531
1591
  "superseded_on": "2026-09-24",
1532
1592
  "added_on": null,
1593
+ "always_thinks": false,
1533
1594
  "retires_on": "2026-10-24"
1534
1595
  },
1535
1596
  {
@@ -1555,6 +1616,7 @@
1555
1616
  "superseded_by": "claude-sonnet-5-5",
1556
1617
  "superseded_on": "2026-10-07",
1557
1618
  "added_on": null,
1619
+ "always_thinks": false,
1558
1620
  "retires_on": "2026-11-06"
1559
1621
  }
1560
1622
  ],
@@ -1652,7 +1714,7 @@
1652
1714
  "exposes_max_mode": "no",
1653
1715
  "exposes_thinking": "yes",
1654
1716
  "exposes_orchestration": "yes",
1655
- "best_for": "Default for Claude coding or terminal tasks when a claude.ai Max subscription is active \u2014 $0 marginal cost until the Max budget is exhausted, full tool-use surface, runs as a CLI, IDE extension inside Cursor, native VS Code extension, and as of 2.1.170+ also ships Claude Fable 5 (Mythos-class) plus a first-class Claude in Chrome browser-control integration (GA in 2.1.198), with Claude Sonnet 5 now the default model (2.1.197+) at native 1M-token context; as of 2.1.219 Claude Opus 5 ships as the new default Opus (1M context, fast mode at $10/$50 per Mtok) and Opus 4.7 is removed from fast mode so `/fast` now applies to Opus 5 and Opus 4.8; 2.1.280 ships Claude Opus 5.5 as the new default Opus (1M context, $4/$20 per Mtok with $0.20/Mtok cache reads) and changes the Pro and Team Standard default model from Sonnet to Opus (matching Max / Team Premium / Enterprise); 2.1.220\u20132.1.280 are bug-fix / reliability / self-hosted-runner / UI-polish / plugin-safety / VS Code / Claude apps / AGENTS.md / auto-mode-server-classifier releases with no effort/thinking surface changes beyond the 2.1.267 `maxEffortLevel` cap and the 2.1.269 `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` (1\u2013256) knob for the Workflow tool's per-run concurrent-agent limit noted below (2.1.224 adds `claude self-hosted-runner` for turning your own machines into places where Claude Code web/mobile/desktop sessions can run, cross-session `SendMessage`, and archive-plugin sources; 2.1.225 adds gateway spend-limit reporting to the usage warning; 2.1.227 polishes the slash-command menu and fixes feature-flag evaluation for expired login tokens; 2.1.257 ships Claude Fable 5.1 as the new default Fable at 1M context and $10/$50 per Mtok; 2.1.259 adds `managedMcpServers` policy and `--permission-prompts none` for unattended headless hosts; 2.1.260 adds an inline `/diff` panel and a headless text form of `/advisor`; 2.1.261 adds `/skill-doctor` and `bashOutputMaxChars` / `taskOutputMaxChars` settings; 2.1.263 is a reliability release; 2.1.265 adds a `--plugin-dir` folder-of-plugins mode and tightens plugin path containment; 2.1.266 restores gateway/proxy behavior when `CLAUDE_CODE_USE_GATEWAY` is set alongside an API key or `apiKeyHelper`; 2.1.267 adds a `maxEffortLevel` setting \u2014 top-level or per model under `modelSettings` \u2014 that CAPS the effort level on every provider including Bedrock, Vertex, and Foundry while still letting users pick any lower level, plus `--system-prompt-snapshot off` for iterating on prompt text and a fix for `effort:` frontmatter on custom commands, skills, and subagents being ignored on models whose default effort is still pinned; 2.1.269 adds `claude plugin eval` for scored plugin eval suites, `/output-style [name]` to list and switch output styles (including over Remote Control and in headless sessions), a Bash-tool file-edit diff (setting `bashEditDiffEnabled`), `OTEL_METRICS_INCLUDE_REPOSITORY` for tagging OpenTelemetry metrics and events with `vcs.*` attributes, `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` to extend the LLM gateway `/v1/models` discovery timeout, and `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` (1\u2013256) to raise the Workflow tool's per-run concurrent-agent limit for inference-bound fan-outs \u2014 none of which change the `/effort` vocabulary; 2.1.270 fixes read-only git commands in Bash unexpectedly asking for permission after a session had been running for a while, a 2.1.269 regression, with no surface changes; 2.1.271 adds fast mode in Claude Code Remote (cloud and self-hosted runner) sessions where organization policy allows it, mouse support in the `/config` panel, per-command Bash / PowerShell / Monitor `allowed_domains` in auto mode with sandboxing, agent-frontmatter and `--agents` JSON `omitClaudeMd` to let custom / plugin subagents run without CLAUDE.md files (managed policy still loads), and `--accept-command <sha256>` for `claude plugin install` / `update`; 2.1.272 is a bug-fix / reliability release; 2.1.273 adds `x-claude-code-*` LLM-gateway request-hint headers behind `CLAUDE_CODE_GATEWAY_HINT_HEADERS=1`, forking a `--remote-control` / `/remote-control` session from the Claude app as a local background session, and MCP-server-disconnected notifications, plus fixes for permission handling, credential/auth error messages, prompt-cache retention across `/login` / `/upgrade` / `/extra-usage`, and gateway 401 messaging \u2014 no effort/thinking surface changes; 2.1.274 adds a critical-memory-usage warning with recovery steps, `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` to bound how long the first non-interactive turn waits for connecting MCP servers, an `effort` attribute on the `claude_code.llm_request` OpenTelemetry trace span, plus assorted VS Code, Claude Code on the web, Claude Tag, and Code Review fixes and improvements \u2014 no changes to the `/effort` vocabulary or extended-thinking controls; 2.1.275 adds signed-in account confirmation for Claude apps gateway sign-in, a send-now key (ctrl+enter, or ctrl+x ctrl+s) that flushes queued messages mid-turn, syncing of claude.ai-account skills and plugins into terminal sessions (opt out with `syncClaudeAiSkills: false` / `syncClaudeAiPlugins: false`), `/plugin install <plugin> --marketplace <source>`, and a startup warning when `otelHeadersHelper` fails, plus a broad set of reliability and rendering fixes \u2014 no changes to the `/effort` vocabulary or extended-thinking controls; 2.1.276 is a hotfix for a 2.1.275 regression where every request behind a proxy or gateway failed with `400 \u2026 Input tag 'advisor_20260301'`, with no surface changes; 2.1.277 adds AGENTS.md fallback support (in a project with no CLAUDE.md, Claude Code reads AGENTS.md instead \u2014 configurable under \"Project instructions\" in `/config`; extended by 2.1.281 to Bedrock, Vertex, Foundry, LLM gateways and telemetry-disabled sessions), `CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1` for Claude apps gateways whose only egress is a forward proxy, an optional `headers:` map on Claude apps gateway upstreams, plus assorted reliability, plugin, background-task, and VS Code / Claude Code on the web / Claude Tag fixes \u2014 no changes to the `/effort` vocabulary or extended-thinking controls; 2.1.278 changes auto mode for Claude API and Enterprise users, and on Bedrock, Vertex, Foundry and gateways, to default to the server-side classifier that does not charge for classifier overhead (opt out on Bedrock, Vertex, Foundry and gateways with `CLAUDE_CODE_AUTO_MODE_SERVER=0`; warns on billed fallback) and adds an `Auto mode server` row to `/status` showing whether this session's auto mode classifier runs on the server \u2014 no changes to the `/effort` vocabulary or extended-thinking controls; 2.1.280 ships Claude Opus 5.5 as the new default Opus model at 1M context and $4/$20 per Mtok, changes the Pro and Team Standard default model from Sonnet to Opus (matching Max / Team Premium / Enterprise), and stops Opus 4.7, Opus 4.8 and Fable 5 from holding their launch-default effort over an explicit `/effort`, `effortLevel`, project or managed setting \u2014 the `/effort` vocabulary itself is unchanged; 2.1.281\u20132.1.285 are reliability / plugin / gateway / VS Code / Claude Tag / Artifact releases, with 2.1.284 adding Claude Sonnet 5.5 as the default Sonnet on the Anthropic API (1M context, $2/$10 per Mtok) and making Ultracode its own `/effort` toggle, and 2.1.285 adding `claude --desktop` to open the Claude desktop app on the current directory and an `allowedProviders` managed setting). Exposes the full `/effort` dial (low/medium/high/xhigh/max \u2014 Opus 4.6 and Sonnet 4.6 top out at max with no xhigh step; Opus 5, Opus 5.5, Opus 4.7, Opus 4.8, Sonnet 5, Sonnet 5.5, Fable 5, and Fable 5.1 expose the full range; effort levels a model does not support fall back to the highest supported level at or below the requested one; deployments may set `maxEffortLevel` to cap the maximum reachable level on every provider), the Option+T/Alt+T, `alwaysThinkingEnabled`, and `MAX_THINKING_TOKENS=0` on/off controls, plus Ultracode (session-wide Dynamic Workflows tied to xhigh; since 2.1.284 its own `/effort` toggle \u2014 Tab or `/effort ultracode [on|off]` \u2014 that keeps the current effort level, with only `claude --effort ultracode` also setting xhigh; set via `/effort ultracode` or `\"ultracode\": true`; 2.1.202+ adds a `/config` \"Dynamic workflow size\" advisory guideline, 2.1.219 defaults it to medium (aim for fewer than 15 agents) with the `workflowSizeGuideline` settings key to set it from any settings file, and 2.1.269 adds `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` (1\u2013256) to raise the per-run concurrent-agent cap for the Workflow tool) and the per-turn `ultrathink` keyword (`think`/`think hard`/`think more` are not recognized).",
1717
+ "best_for": "Default for Claude coding or terminal tasks when a claude.ai Max subscription is active \u2014 $0 marginal cost until the Max budget is exhausted, full tool-use surface, runs as a CLI, IDE extension inside Cursor, native VS Code extension, and as of 2.1.170+ also ships Claude Fable 5 (Mythos-class) plus a first-class Claude in Chrome browser-control integration (GA in 2.1.198), with Claude Sonnet 5 now the default model (2.1.197+) at native 1M-token context; as of 2.1.219 Claude Opus 5 ships as the new default Opus (1M context, fast mode at $10/$50 per Mtok) and Opus 4.7 is removed from fast mode so `/fast` now applies to Opus 5 and Opus 4.8; 2.1.280 ships Claude Opus 5.5 as the new default Opus (1M context, $4/$20 per Mtok with $0.20/Mtok cache reads) and changes the Pro and Team Standard default model from Sonnet to Opus (matching Max / Team Premium / Enterprise); 2.1.220\u20132.1.280 are bug-fix / reliability / self-hosted-runner / UI-polish / plugin-safety / VS Code / Claude apps / AGENTS.md / auto-mode-server-classifier releases with no effort/thinking surface changes beyond the 2.1.267 `maxEffortLevel` cap and the 2.1.269 `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` (1\u2013256) knob for the Workflow tool's per-run concurrent-agent limit noted below (2.1.224 adds `claude self-hosted-runner` for turning your own machines into places where Claude Code web/mobile/desktop sessions can run, cross-session `SendMessage`, and archive-plugin sources; 2.1.225 adds gateway spend-limit reporting to the usage warning; 2.1.227 polishes the slash-command menu and fixes feature-flag evaluation for expired login tokens; 2.1.257 ships Claude Fable 5.1 as the new default Fable at 1M context and $10/$50 per Mtok; 2.1.259 adds `managedMcpServers` policy and `--permission-prompts none` for unattended headless hosts; 2.1.260 adds an inline `/diff` panel and a headless text form of `/advisor`; 2.1.261 adds `/skill-doctor` and `bashOutputMaxChars` / `taskOutputMaxChars` settings; 2.1.263 is a reliability release; 2.1.265 adds a `--plugin-dir` folder-of-plugins mode and tightens plugin path containment; 2.1.266 restores gateway/proxy behavior when `CLAUDE_CODE_USE_GATEWAY` is set alongside an API key or `apiKeyHelper`; 2.1.267 adds a `maxEffortLevel` setting \u2014 top-level or per model under `modelSettings` \u2014 that CAPS the effort level on every provider including Bedrock, Vertex, and Foundry while still letting users pick any lower level, plus `--system-prompt-snapshot off` for iterating on prompt text and a fix for `effort:` frontmatter on custom commands, skills, and subagents being ignored on models whose default effort is still pinned; 2.1.269 adds `claude plugin eval` for scored plugin eval suites, `/output-style [name]` to list and switch output styles (including over Remote Control and in headless sessions), a Bash-tool file-edit diff (setting `bashEditDiffEnabled`), `OTEL_METRICS_INCLUDE_REPOSITORY` for tagging OpenTelemetry metrics and events with `vcs.*` attributes, `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` to extend the LLM gateway `/v1/models` discovery timeout, and `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` (1\u2013256) to raise the Workflow tool's per-run concurrent-agent limit for inference-bound fan-outs \u2014 none of which change the `/effort` vocabulary; 2.1.270 fixes read-only git commands in Bash unexpectedly asking for permission after a session had been running for a while, a 2.1.269 regression, with no surface changes; 2.1.271 adds fast mode in Claude Code Remote (cloud and self-hosted runner) sessions where organization policy allows it, mouse support in the `/config` panel, per-command Bash / PowerShell / Monitor `allowed_domains` in auto mode with sandboxing, agent-frontmatter and `--agents` JSON `omitClaudeMd` to let custom / plugin subagents run without CLAUDE.md files (managed policy still loads), and `--accept-command <sha256>` for `claude plugin install` / `update`; 2.1.272 is a bug-fix / reliability release; 2.1.273 adds `x-claude-code-*` LLM-gateway request-hint headers behind `CLAUDE_CODE_GATEWAY_HINT_HEADERS=1`, forking a `--remote-control` / `/remote-control` session from the Claude app as a local background session, and MCP-server-disconnected notifications, plus fixes for permission handling, credential/auth error messages, prompt-cache retention across `/login` / `/upgrade` / `/extra-usage`, and gateway 401 messaging \u2014 no effort/thinking surface changes; 2.1.274 adds a critical-memory-usage warning with recovery steps, `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` to bound how long the first non-interactive turn waits for connecting MCP servers, an `effort` attribute on the `claude_code.llm_request` OpenTelemetry trace span, plus assorted VS Code, Claude Code on the web, Claude Tag, and Code Review fixes and improvements \u2014 no changes to the `/effort` vocabulary or extended-thinking controls; 2.1.275 adds signed-in account confirmation for Claude apps gateway sign-in, a send-now key (ctrl+enter, or ctrl+x ctrl+s) that flushes queued messages mid-turn, syncing of claude.ai-account skills and plugins into terminal sessions (opt out with `syncClaudeAiSkills: false` / `syncClaudeAiPlugins: false`), `/plugin install <plugin> --marketplace <source>`, and a startup warning when `otelHeadersHelper` fails, plus a broad set of reliability and rendering fixes \u2014 no changes to the `/effort` vocabulary or extended-thinking controls; 2.1.276 is a hotfix for a 2.1.275 regression where every request behind a proxy or gateway failed with `400 \u2026 Input tag 'advisor_20260301'`, with no surface changes; 2.1.277 adds AGENTS.md fallback support (in a project with no CLAUDE.md, Claude Code reads AGENTS.md instead \u2014 configurable under \"Project instructions\" in `/config`; extended by 2.1.281 to Bedrock, Vertex, Foundry, LLM gateways and telemetry-disabled sessions), `CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1` for Claude apps gateways whose only egress is a forward proxy, an optional `headers:` map on Claude apps gateway upstreams, plus assorted reliability, plugin, background-task, and VS Code / Claude Code on the web / Claude Tag fixes \u2014 no changes to the `/effort` vocabulary or extended-thinking controls; 2.1.278 changes auto mode for Claude API and Enterprise users, and on Bedrock, Vertex, Foundry and gateways, to default to the server-side classifier that does not charge for classifier overhead (opt out on Bedrock, Vertex, Foundry and gateways with `CLAUDE_CODE_AUTO_MODE_SERVER=0`; warns on billed fallback) and adds an `Auto mode server` row to `/status` showing whether this session's auto mode classifier runs on the server \u2014 no changes to the `/effort` vocabulary or extended-thinking controls; 2.1.280 ships Claude Opus 5.5 as the new default Opus model at 1M context and $4/$20 per Mtok, changes the Pro and Team Standard default model from Sonnet to Opus (matching Max / Team Premium / Enterprise), and stops Opus 4.7, Opus 4.8 and Fable 5 from holding their launch-default effort over an explicit `/effort`, `effortLevel`, project or managed setting \u2014 the `/effort` vocabulary itself is unchanged; 2.1.281\u20132.1.285 are reliability / plugin / gateway / VS Code / Claude Tag / Artifact releases, with 2.1.284 adding Claude Sonnet 5.5 as the default Sonnet on the Anthropic API (1M context, $2/$10 per Mtok) and making Ultracode its own `/effort` toggle, and 2.1.285 adding `claude --desktop` to open the Claude desktop app on the current directory and an `allowedProviders` managed setting). Exposes the full `/effort` dial (low/medium/high/xhigh/max \u2014 Opus 4.6 and Sonnet 4.6 top out at max with no xhigh step; Opus 5, Opus 5.5, Opus 4.7, Opus 4.8, Sonnet 5, Sonnet 5.5, Haiku 5.5, Fable 5, and Fable 5.1 expose the full range; effort levels a model does not support fall back to the highest supported level at or below the requested one; deployments may set `maxEffortLevel` to cap the maximum reachable level on every provider), the Option+T/Alt+T, `alwaysThinkingEnabled`, and `MAX_THINKING_TOKENS=0` on/off controls on models that can turn thinking off (2.1.281 and 2.1.300 drop the Thinking switch for the always-thinking Opus 5.5, Sonnet 5.5, Haiku 5.5, Fable 5 and Fable 5.1), plus Ultracode (session-wide Dynamic Workflows tied to xhigh; since 2.1.284 its own `/effort` toggle \u2014 Tab or `/effort ultracode [on|off]` \u2014 that keeps the current effort level, with only `claude --effort ultracode` also setting xhigh; set via `/effort ultracode` or `\"ultracode\": true`; 2.1.202+ adds a `/config` \"Dynamic workflow size\" advisory guideline, 2.1.219 defaults it to medium (aim for fewer than 15 agents) with the `workflowSizeGuideline` settings key to set it from any settings file, and 2.1.269 adds `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` (1\u2013256) to raise the per-run concurrent-agent cap for the Workflow tool) and the per-turn `ultrathink` keyword (`think`/`think hard`/`think more` are not recognized).",
1656
1718
  "effort_levels": [
1657
1719
  "low",
1658
1720
  "medium",
@@ -220,7 +220,8 @@ For every phase whose roadmap does not exist yet — no
220
220
  selector for that session, quality first: it runs the Quality column,
221
221
  the strongest `planning` model the operator's access methods reach, at
222
222
  the deepest reasoning rung it exposes on its platform (`Max` in Claude
223
- Code), thinking on, never `Ultracode`, with a backup on its own platform
223
+ Code), thinking on where the model has a Thinking toggle, never
224
+ `Ultracode`, with a backup on its own platform
224
225
  and dial — unless `planning/user-context.md` states a rule for
225
226
  roadmap-writing sessions, which wins. Where `roadmodel` is installed,
226
227
  the table is the ladder `roadmodel ladder --category planning
@@ -98,7 +98,7 @@ posture changes, so read the table as **intent**, not as a string to
98
98
  match exactly — and record what actually ran.
99
99
 
100
100
  Print one line: `Step {{STEP}} requires: Model <M> · Platform <P> ·
101
- <the dials the table carries, e.g. Effort <E> · Thinking <T>, or
101
+ <the dials the table carries, e.g. Effort <E>[ · Thinking <T>], or
102
102
  Intelligence <I>>. This session: <your own model> on <this surface>.`
103
103
 
104
104
  - **Ladder tables** (Cost / Balanced / Quality columns, roadmodel 0.2.86