roadmodel 0.2.43__tar.gz → 0.2.45__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 (49) hide show
  1. {roadmodel-0.2.43 → roadmodel-0.2.45}/PKG-INFO +9 -9
  2. {roadmodel-0.2.43 → roadmodel-0.2.45}/README.md +8 -8
  3. {roadmodel-0.2.43 → roadmodel-0.2.45}/docs/benchmarks.json +42 -42
  4. {roadmodel-0.2.43 → roadmodel-0.2.45}/docs/catalog.json +3 -3
  5. {roadmodel-0.2.43 → roadmodel-0.2.45}/docs/model-selector.txt +6 -1
  6. {roadmodel-0.2.43/roadmodel/data → roadmodel-0.2.45/docs/templates}/phase-roadmap-template.md +25 -12
  7. {roadmodel-0.2.43/roadmodel/data → roadmodel-0.2.45/docs/templates}/project-roadmap-template.md +21 -18
  8. {roadmodel-0.2.43/roadmodel/data → roadmodel-0.2.45/docs/templates}/prompt-project-roadmap.md +7 -5
  9. {roadmodel-0.2.43 → roadmodel-0.2.45}/pyproject.toml +1 -1
  10. {roadmodel-0.2.43 → roadmodel-0.2.45}/roadmodel/data/benchmarks.json +42 -42
  11. {roadmodel-0.2.43 → roadmodel-0.2.45}/roadmodel/data/catalog.json +3 -3
  12. {roadmodel-0.2.43 → roadmodel-0.2.45}/roadmodel/data/model-selector.txt +6 -1
  13. {roadmodel-0.2.43/docs/templates → roadmodel-0.2.45/roadmodel/data}/phase-roadmap-template.md +25 -12
  14. {roadmodel-0.2.43/docs/templates → roadmodel-0.2.45/roadmodel/data}/project-roadmap-template.md +21 -18
  15. {roadmodel-0.2.43/docs/templates → roadmodel-0.2.45/roadmodel/data}/prompt-project-roadmap.md +7 -5
  16. {roadmodel-0.2.43 → roadmodel-0.2.45}/scripts/update_projects.py +58 -8
  17. {roadmodel-0.2.43 → roadmodel-0.2.45}/src/roadmodel/__init__.py +1 -1
  18. {roadmodel-0.2.43 → roadmodel-0.2.45}/.gitignore +0 -0
  19. {roadmodel-0.2.43 → roadmodel-0.2.45}/LICENSE +0 -0
  20. {roadmodel-0.2.43 → roadmodel-0.2.45}/NOTICE +0 -0
  21. {roadmodel-0.2.43 → roadmodel-0.2.45}/docs/model-tier-cost-scale.md +0 -0
  22. {roadmodel-0.2.43 → roadmodel-0.2.45}/docs/settings-display.md +0 -0
  23. {roadmodel-0.2.43 → roadmodel-0.2.45}/docs/templates/planning-kit-how-to-use.md +0 -0
  24. {roadmodel-0.2.43 → roadmodel-0.2.45}/docs/templates/prompt-phase-roadmap.md +0 -0
  25. {roadmodel-0.2.43 → roadmodel-0.2.45}/docs/user-context.example.md +0 -0
  26. {roadmodel-0.2.43 → roadmodel-0.2.45}/hatch_build.py +0 -0
  27. {roadmodel-0.2.43 → roadmodel-0.2.45}/infra/README.md +0 -0
  28. {roadmodel-0.2.43 → roadmodel-0.2.45}/infra/gcp-killswitch/README.md +0 -0
  29. {roadmodel-0.2.43 → roadmodel-0.2.45}/infra/supabase/README.md +0 -0
  30. {roadmodel-0.2.43 → roadmodel-0.2.45}/roadmodel/data/model-tier-cost-scale.md +0 -0
  31. {roadmodel-0.2.43 → roadmodel-0.2.45}/roadmodel/data/planning-kit-how-to-use.md +0 -0
  32. {roadmodel-0.2.43 → roadmodel-0.2.45}/roadmodel/data/prompt-phase-roadmap.md +0 -0
  33. {roadmodel-0.2.43 → roadmodel-0.2.45}/roadmodel/data/settings-display.md +0 -0
  34. {roadmodel-0.2.43 → roadmodel-0.2.45}/roadmodel/data/user-context.example.md +0 -0
  35. {roadmodel-0.2.43 → roadmodel-0.2.45}/src/roadmodel/__main__.py +0 -0
  36. {roadmodel-0.2.43 → roadmodel-0.2.45}/src/roadmodel/cli.py +0 -0
  37. {roadmodel-0.2.43 → roadmodel-0.2.45}/src/roadmodel/config.py +0 -0
  38. {roadmodel-0.2.43 → roadmodel-0.2.45}/src/roadmodel/cost.py +0 -0
  39. {roadmodel-0.2.43 → roadmodel-0.2.45}/src/roadmodel/errors.py +0 -0
  40. {roadmodel-0.2.43 → roadmodel-0.2.45}/src/roadmodel/mcp_server.py +0 -0
  41. {roadmodel-0.2.43 → roadmodel-0.2.45}/src/roadmodel/providers/__init__.py +0 -0
  42. {roadmodel-0.2.43 → roadmodel-0.2.45}/src/roadmodel/providers/anthropic.py +0 -0
  43. {roadmodel-0.2.43 → roadmodel-0.2.45}/src/roadmodel/providers/google.py +0 -0
  44. {roadmodel-0.2.43 → roadmodel-0.2.45}/src/roadmodel/providers/openai.py +0 -0
  45. {roadmodel-0.2.43 → roadmodel-0.2.45}/src/roadmodel/providers/openai_compatible.py +0 -0
  46. {roadmodel-0.2.43 → roadmodel-0.2.45}/src/roadmodel/providers/registry.py +0 -0
  47. {roadmodel-0.2.43 → roadmodel-0.2.45}/src/roadmodel/recommend.py +0 -0
  48. {roadmodel-0.2.43 → roadmodel-0.2.45}/src/roadmodel/scoring.py +0 -0
  49. {roadmodel-0.2.43 → roadmodel-0.2.45}/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.43
3
+ Version: 0.2.45
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
@@ -323,7 +323,7 @@ What the loop guarantees, independent of the project:
323
323
  and a step that touches a deployed surface is done at post-deploy
324
324
  verification, not at merge.
325
325
 
326
- Setup is once per machine (`/roadmodel-update` keeps every project's
326
+ Setup is once per machine (`/roadmodel-upgrade` keeps every project's
327
327
  copy current after that); the commands then work in any project.
328
328
  Step-by-step: [docs/planning-workflow.md](docs/planning-workflow.md).
329
329
 
@@ -360,15 +360,15 @@ pip install -U roadmodel
360
360
  **then** `roadmodel export-kit . --force` to refresh it. The `/roadmap-project`
361
361
  and `/roadmap-phase` commands do both as their Step 0.
362
362
 
363
- ### Every project on a machine — `/roadmodel-update`
363
+ ### Every project on a machine — `/roadmodel-upgrade`
364
364
 
365
365
  Projects that each carry roadmodel in their **own** conda env or venv would
366
366
  otherwise be upgraded one at a time. Instead, from any Claude Code chat:
367
367
 
368
368
  ```
369
- /roadmodel-update # every registered project
370
- /roadmodel-update ~/code/app-one … # register these dirs, then run
371
- /roadmodel-update --install-schedule # once: also run daily, unattended
369
+ /roadmodel-upgrade # every registered project
370
+ /roadmodel-upgrade ~/code/app-one … # register these dirs, then run
371
+ /roadmodel-upgrade --install-schedule # once: also run daily, unattended
372
372
  ```
373
373
 
374
374
  The command fetches [`scripts/update_projects.py`](scripts/update_projects.py)
@@ -446,14 +446,14 @@ hand; the `export-kit` command above avoids that entirely.
446
446
  `docs/claude-commands/` — `/roadmap-project`, `/roadmap-phase N`,
447
447
  `/roadmap-step P M` (executes a step), `/roadmap-refresh` (bookkeeping
448
448
  only: marks shipped steps and re-selects upcoming Settings, runs
449
- nothing), `/roadmodel-update` — see
449
+ nothing), `/roadmodel-upgrade` — see
450
450
  [The planning workflow](#the-planning-workflow) above for the loop and
451
451
  [docs/planning-workflow.md](docs/planning-workflow.md) for setup and
452
452
  per-command detail. The same five are generated for **Gemini CLI**
453
453
  (`~/.gemini/commands/*.toml`), **Codex** and **Cursor** (one
454
454
  `~/.agents/skills/*/SKILL.md` both read; `$roadmap-step` in Codex,
455
455
  `/roadmap-step` in Cursor), and **OpenCode**
456
- (`~/.config/opencode/commands/*.md`), installed by `/roadmodel-update`
456
+ (`~/.config/opencode/commands/*.md`), installed by `/roadmodel-upgrade`
457
457
  wherever those tools are present.
458
458
 
459
459
  Either way the in-editor AI runs the algorithm itself rather than calling
@@ -582,7 +582,7 @@ provider goes down, or a task suits a different model?
582
582
  (instructions, memory, skills, slash commands, MCP servers, model, effort,
583
583
  permissions) across Claude, Codex, Gemini and open-source clients in any
584
584
  direction, and carries one parameterised prompt that makes the target agent
585
- sync itself. `roadmodel-update` keeps the roadmap commands, the roadmodel MCP
585
+ sync itself. `roadmodel-upgrade` keeps the roadmap commands, the roadmodel MCP
586
586
  server and the reasoning-effort default in parity automatically.
587
587
 
588
588
  ## Subcommands
@@ -73,7 +73,7 @@ What the loop guarantees, independent of the project:
73
73
  and a step that touches a deployed surface is done at post-deploy
74
74
  verification, not at merge.
75
75
 
76
- Setup is once per machine (`/roadmodel-update` keeps every project's
76
+ Setup is once per machine (`/roadmodel-upgrade` keeps every project's
77
77
  copy current after that); the commands then work in any project.
78
78
  Step-by-step: [docs/planning-workflow.md](docs/planning-workflow.md).
79
79
 
@@ -110,15 +110,15 @@ pip install -U roadmodel
110
110
  **then** `roadmodel export-kit . --force` to refresh it. The `/roadmap-project`
111
111
  and `/roadmap-phase` commands do both as their Step 0.
112
112
 
113
- ### Every project on a machine — `/roadmodel-update`
113
+ ### Every project on a machine — `/roadmodel-upgrade`
114
114
 
115
115
  Projects that each carry roadmodel in their **own** conda env or venv would
116
116
  otherwise be upgraded one at a time. Instead, from any Claude Code chat:
117
117
 
118
118
  ```
119
- /roadmodel-update # every registered project
120
- /roadmodel-update ~/code/app-one … # register these dirs, then run
121
- /roadmodel-update --install-schedule # once: also run daily, unattended
119
+ /roadmodel-upgrade # every registered project
120
+ /roadmodel-upgrade ~/code/app-one … # register these dirs, then run
121
+ /roadmodel-upgrade --install-schedule # once: also run daily, unattended
122
122
  ```
123
123
 
124
124
  The command fetches [`scripts/update_projects.py`](scripts/update_projects.py)
@@ -196,14 +196,14 @@ hand; the `export-kit` command above avoids that entirely.
196
196
  `docs/claude-commands/` — `/roadmap-project`, `/roadmap-phase N`,
197
197
  `/roadmap-step P M` (executes a step), `/roadmap-refresh` (bookkeeping
198
198
  only: marks shipped steps and re-selects upcoming Settings, runs
199
- nothing), `/roadmodel-update` — see
199
+ nothing), `/roadmodel-upgrade` — see
200
200
  [The planning workflow](#the-planning-workflow) above for the loop and
201
201
  [docs/planning-workflow.md](docs/planning-workflow.md) for setup and
202
202
  per-command detail. The same five are generated for **Gemini CLI**
203
203
  (`~/.gemini/commands/*.toml`), **Codex** and **Cursor** (one
204
204
  `~/.agents/skills/*/SKILL.md` both read; `$roadmap-step` in Codex,
205
205
  `/roadmap-step` in Cursor), and **OpenCode**
206
- (`~/.config/opencode/commands/*.md`), installed by `/roadmodel-update`
206
+ (`~/.config/opencode/commands/*.md`), installed by `/roadmodel-upgrade`
207
207
  wherever those tools are present.
208
208
 
209
209
  Either way the in-editor AI runs the algorithm itself rather than calling
@@ -332,7 +332,7 @@ provider goes down, or a task suits a different model?
332
332
  (instructions, memory, skills, slash commands, MCP servers, model, effort,
333
333
  permissions) across Claude, Codex, Gemini and open-source clients in any
334
334
  direction, and carries one parameterised prompt that makes the target agent
335
- sync itself. `roadmodel-update` keeps the roadmap commands, the roadmodel MCP
335
+ sync itself. `roadmodel-upgrade` keeps the roadmap commands, the roadmodel MCP
336
336
  server and the reasoning-effort default in parity automatically.
337
337
 
338
338
  ## Subcommands
@@ -6,7 +6,7 @@
6
6
  "endpoint": "https://artificialanalysis.ai/api/v2/data/llms/models",
7
7
  "attribution": "Benchmark data © Artificial Analysis, used under its API terms with attribution."
8
8
  },
9
- "generated_at_utc": "2026-09-25T16:50:05Z",
9
+ "generated_at_utc": "2026-09-25T22:10:15Z",
10
10
  "model_count": 50,
11
11
  "unmapped": [],
12
12
  "missing_slugs": [],
@@ -36,8 +36,8 @@
36
36
  "tau2": 0.546783625730994,
37
37
  "tau_banking": 0.0927835051546392
38
38
  },
39
- "median_output_tokens_per_second": 114.956,
40
- "median_time_to_first_token_seconds": 15.297
39
+ "median_output_tokens_per_second": 112.331,
40
+ "median_time_to_first_token_seconds": 14.822
41
41
  },
42
42
  "claude-fable-5": {
43
43
  "aa_id": "cd55210d-358e-4df1-ba9c-9acb5f186cc9",
@@ -92,8 +92,8 @@
92
92
  "tau2": null,
93
93
  "tau_banking": 0.472164948453608
94
94
  },
95
- "median_output_tokens_per_second": 70.547,
96
- "median_time_to_first_token_seconds": 137.194
95
+ "median_output_tokens_per_second": 71.496,
96
+ "median_time_to_first_token_seconds": 137.695
97
97
  },
98
98
  "claude-opus-5": {
99
99
  "aa_id": "b8fc61f7-5e9a-49e6-8547-6ac56db24627",
@@ -120,8 +120,8 @@
120
120
  "tau2": null,
121
121
  "tau_banking": 0.420618556701031
122
122
  },
123
- "median_output_tokens_per_second": 51.772,
124
- "median_time_to_first_token_seconds": 27.209
123
+ "median_output_tokens_per_second": 67.509,
124
+ "median_time_to_first_token_seconds": 34.244
125
125
  },
126
126
  "claude-opus-5-5": {
127
127
  "aa_id": "2f3c4dc9-a450-4303-8697-0237257cf08f",
@@ -176,7 +176,7 @@
176
176
  "tau2": null,
177
177
  "tau_banking": 0.37319587628866
178
178
  },
179
- "median_output_tokens_per_second": 82.788,
179
+ "median_output_tokens_per_second": 86.276,
180
180
  "median_time_to_first_token_seconds": 138.497
181
181
  },
182
182
  "deepseek-flash": {
@@ -205,7 +205,7 @@
205
205
  "tau_banking": null
206
206
  },
207
207
  "median_output_tokens_per_second": 225.054,
208
- "median_time_to_first_token_seconds": 0.763
208
+ "median_time_to_first_token_seconds": 0.77
209
209
  },
210
210
  "deepseek-v4-pro": {
211
211
  "aa_id": "83173329-c09a-41f1-a028-a282a5f908d7",
@@ -232,8 +232,8 @@
232
232
  "tau2": null,
233
233
  "tau_banking": 0.395876288659794
234
234
  },
235
- "median_output_tokens_per_second": 77.754,
236
- "median_time_to_first_token_seconds": 1.125
235
+ "median_output_tokens_per_second": 79.847,
236
+ "median_time_to_first_token_seconds": 1.103
237
237
  },
238
238
  "gemini-2.5-flash": {
239
239
  "aa_id": "219ed587-60c5-4a48-9517-8480e08d0ca1",
@@ -345,7 +345,7 @@
345
345
  "tau_banking": 0.214432989690722
346
346
  },
347
347
  "median_output_tokens_per_second": 130.627,
348
- "median_time_to_first_token_seconds": 18.827
348
+ "median_time_to_first_token_seconds": 18.476
349
349
  },
350
350
  "gemini-3.5-flash": {
351
351
  "aa_id": "0097ebf5-124f-42f6-9463-33b00e711f03",
@@ -457,7 +457,7 @@
457
457
  "tau_banking": 0.449484536082474
458
458
  },
459
459
  "median_output_tokens_per_second": 277.514,
460
- "median_time_to_first_token_seconds": 9.823
460
+ "median_time_to_first_token_seconds": 8.773
461
461
  },
462
462
  "glm-4.5-air": {
463
463
  "aa_id": "5d303dc9-c027-401f-9803-4e9aa3331007",
@@ -736,8 +736,8 @@
736
736
  "tau2": 0.859649122807018,
737
737
  "tau_banking": null
738
738
  },
739
- "median_output_tokens_per_second": 120.423,
740
- "median_time_to_first_token_seconds": 40.827
739
+ "median_output_tokens_per_second": 117.009,
740
+ "median_time_to_first_token_seconds": 39.444
741
741
  },
742
742
  "gpt-5.4": {
743
743
  "aa_id": "a89c4b28-2d8c-456e-88ea-255fb51fd2b6",
@@ -876,8 +876,8 @@
876
876
  "tau2": null,
877
877
  "tau_banking": 0.311340206185567
878
878
  },
879
- "median_output_tokens_per_second": 104.659,
880
- "median_time_to_first_token_seconds": 95.596
879
+ "median_output_tokens_per_second": 102.358,
880
+ "median_time_to_first_token_seconds": 22.543
881
881
  },
882
882
  "gpt-5.6-sol": {
883
883
  "aa_id": "d93edfe8-bf35-49ad-b56e-b18116142a1c",
@@ -904,7 +904,7 @@
904
904
  "tau2": 0.850877192982456,
905
905
  "tau_banking": 0.443298969072165
906
906
  },
907
- "median_output_tokens_per_second": 62.063,
907
+ "median_output_tokens_per_second": 86.318,
908
908
  "median_time_to_first_token_seconds": 45.71
909
909
  },
910
910
  "gpt-5.6-terra": {
@@ -932,8 +932,8 @@
932
932
  "tau2": 0.862573099415205,
933
933
  "tau_banking": 0.402061855670103
934
934
  },
935
- "median_output_tokens_per_second": 86.203,
936
- "median_time_to_first_token_seconds": 176.983
935
+ "median_output_tokens_per_second": 86.687,
936
+ "median_time_to_first_token_seconds": 143.358
937
937
  },
938
938
  "gpt-6-astra": {
939
939
  "aa_id": "2f339a97-9a0d-499a-9cb5-e0db665bfa25",
@@ -960,8 +960,8 @@
960
960
  "tau2": null,
961
961
  "tau_banking": 0.414432989690722
962
962
  },
963
- "median_output_tokens_per_second": 54.552,
964
- "median_time_to_first_token_seconds": 206.901
963
+ "median_output_tokens_per_second": 54.12,
964
+ "median_time_to_first_token_seconds": 214.045
965
965
  },
966
966
  "gpt-6-luna": {
967
967
  "aa_id": "6fb13851-40ce-4bda-ad3f-6b38e0c5daa7",
@@ -988,8 +988,8 @@
988
988
  "tau2": null,
989
989
  "tau_banking": null
990
990
  },
991
- "median_output_tokens_per_second": 129.252,
992
- "median_time_to_first_token_seconds": 126.505
991
+ "median_output_tokens_per_second": 125.845,
992
+ "median_time_to_first_token_seconds": 127.063
993
993
  },
994
994
  "gpt-6-sol": {
995
995
  "aa_id": "c50ea08c-88c0-4eb7-85b8-27f2bbf6d527",
@@ -1016,8 +1016,8 @@
1016
1016
  "tau2": null,
1017
1017
  "tau_banking": null
1018
1018
  },
1019
- "median_output_tokens_per_second": 98.199,
1020
- "median_time_to_first_token_seconds": 98.756
1019
+ "median_output_tokens_per_second": 85.316,
1020
+ "median_time_to_first_token_seconds": 98.805
1021
1021
  },
1022
1022
  "gpt-oss-120b": {
1023
1023
  "aa_id": "f0083258-8646-45b8-8082-7aaf6c2ea82a",
@@ -1044,8 +1044,8 @@
1044
1044
  "tau2": 0.657894736842105,
1045
1045
  "tau_banking": 0.127835051546392
1046
1046
  },
1047
- "median_output_tokens_per_second": 172.661,
1048
- "median_time_to_first_token_seconds": 0.515
1047
+ "median_output_tokens_per_second": 174.466,
1048
+ "median_time_to_first_token_seconds": 0.512
1049
1049
  },
1050
1050
  "gpt-oss-20b": {
1051
1051
  "aa_id": "36f73aaf-d38a-4b56-a2b3-d04d17186910",
@@ -1072,8 +1072,8 @@
1072
1072
  "tau2": 0.60233918128655,
1073
1073
  "tau_banking": 0.0701030927835052
1074
1074
  },
1075
- "median_output_tokens_per_second": 191.591,
1076
- "median_time_to_first_token_seconds": 0.434
1075
+ "median_output_tokens_per_second": 194.912,
1076
+ "median_time_to_first_token_seconds": 0.439
1077
1077
  },
1078
1078
  "grok-4.3": {
1079
1079
  "aa_id": "948892b5-db03-4118-a4a8-ccd51ed871ea",
@@ -1129,7 +1129,7 @@
1129
1129
  "tau_banking": 0.507216494845361
1130
1130
  },
1131
1131
  "median_output_tokens_per_second": 68.306,
1132
- "median_time_to_first_token_seconds": 35.691
1132
+ "median_time_to_first_token_seconds": 33.772
1133
1133
  },
1134
1134
  "grok-4.7": {
1135
1135
  "aa_id": "59627802-1546-422c-9a65-65b61c022d36",
@@ -1156,8 +1156,8 @@
1156
1156
  "tau2": null,
1157
1157
  "tau_banking": null
1158
1158
  },
1159
- "median_output_tokens_per_second": 58.165,
1160
- "median_time_to_first_token_seconds": 0.802
1159
+ "median_output_tokens_per_second": 58.859,
1160
+ "median_time_to_first_token_seconds": 0.806
1161
1161
  },
1162
1162
  "kimi-k2.7-code": {
1163
1163
  "aa_id": "8d0cb231-7303-452c-9923-a9620b948475",
@@ -1184,8 +1184,8 @@
1184
1184
  "tau2": 0.900584795321637,
1185
1185
  "tau_banking": 0.202061855670103
1186
1186
  },
1187
- "median_output_tokens_per_second": 68.728,
1188
- "median_time_to_first_token_seconds": 1.062
1187
+ "median_output_tokens_per_second": 79.482,
1188
+ "median_time_to_first_token_seconds": 1.058
1189
1189
  },
1190
1190
  "kimi-k3": {
1191
1191
  "aa_id": "f7d2fc3e-1f7b-405f-818c-07952a4af78f",
@@ -1212,8 +1212,8 @@
1212
1212
  "tau2": null,
1213
1213
  "tau_banking": 0.45979381443299
1214
1214
  },
1215
- "median_output_tokens_per_second": 37.356,
1216
- "median_time_to_first_token_seconds": 3.866
1215
+ "median_output_tokens_per_second": 36.835,
1216
+ "median_time_to_first_token_seconds": 3.827
1217
1217
  },
1218
1218
  "mistral-large-3": {
1219
1219
  "aa_id": "4928e950-7f37-4475-b0dc-c5bad781a321",
@@ -1240,8 +1240,8 @@
1240
1240
  "tau2": 0.245614035087719,
1241
1241
  "tau_banking": 0.0577319587628866
1242
1242
  },
1243
- "median_output_tokens_per_second": 72.929,
1244
- "median_time_to_first_token_seconds": 0.706
1243
+ "median_output_tokens_per_second": 73.103,
1244
+ "median_time_to_first_token_seconds": 0.698
1245
1245
  },
1246
1246
  "mistral-medium-3.5": {
1247
1247
  "aa_id": "dd059b25-d82a-4ead-82a4-4adceaaec48b",
@@ -1268,7 +1268,7 @@
1268
1268
  "tau2": 0.941520467836257,
1269
1269
  "tau_banking": 0.150515463917526
1270
1270
  },
1271
- "median_output_tokens_per_second": 153.138,
1271
+ "median_output_tokens_per_second": 151.825,
1272
1272
  "median_time_to_first_token_seconds": 0.635
1273
1273
  },
1274
1274
  "mistral-small-4": {
@@ -1296,8 +1296,8 @@
1296
1296
  "tau2": 0.412280701754386,
1297
1297
  "tau_banking": 0.0494845360824742
1298
1298
  },
1299
- "median_output_tokens_per_second": 160.617,
1300
- "median_time_to_first_token_seconds": 0.567
1299
+ "median_output_tokens_per_second": 159.678,
1300
+ "median_time_to_first_token_seconds": 0.561
1301
1301
  },
1302
1302
  "muse-spark-1.3": {
1303
1303
  "aa_id": "9999672c-b687-4026-9c15-5cef02ff53bb",
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "schema_version": "3",
3
3
  "output_contract_version": 2,
4
- "generated_at_utc": "2026-09-25T16:50:05Z",
4
+ "generated_at_utc": "2026-09-25T22:10:07Z",
5
5
  "source_doc_sha256": {
6
- "model-selector.txt": "f9a14aef7559487e2f5fb5bf182f7aa8df73539b036775c2d58c5d6af08bbd1d",
6
+ "model-selector.txt": "dd4715585f2f251b6635b65ad3a4cc82eb9ea22b8ed14c494313416a15407c58",
7
7
  "model-tier-cost-scale.md": "9b9f57f5367b553ab11c1116ff69b89eb4d3a9251a7f1caebd813dbdc0c4716a"
8
8
  },
9
9
  "models": [
@@ -1348,7 +1348,7 @@
1348
1348
  "exposes_max_mode": "no",
1349
1349
  "exposes_thinking": "yes",
1350
1350
  "exposes_orchestration": "yes",
1351
- "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`; not yet on Bedrock, Vertex or Foundry), `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). 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, 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 xhigh + Dynamic Workflows 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)."
1351
+ "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). 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, 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 xhigh + Dynamic Workflows 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)."
1352
1352
  },
1353
1353
  {
1354
1354
  "id": "claude-web",
@@ -433,6 +433,11 @@
433
433
  Opus 4.8 and Fable 5 from holding their launch-default effort
434
434
  over an explicit `/effort`, `effortLevel`, project or managed
435
435
  setting; the `/effort` vocabulary itself is unchanged.
436
+ 2.1.281 stops Alt+T and `/config` from offering a thinking-off
437
+ switch where the model cannot turn thinking off (thinking stays
438
+ on, with a one-line reason). 2.1.282 switches the `ultracode`
439
+ visuals in `/effort` to plain styling. Neither release changes
440
+ the `/effort` vocabulary or the extended-thinking controls.
436
441
  - OpenAI (Codex, OpenAI API, ChatGPT advanced controls):
437
442
  `reasoning_effort` knob — `low`, `medium`, `high`, `xhigh`, `max`,
438
443
  `ultra`. Codex's plan-mode `plan_mode_reasoning_effort` variant
@@ -1438,7 +1443,7 @@
1438
1443
  supports-models="claude-opus-5-5,claude-opus-5,opus-4.8,claude-fable-5.1,claude-fable-5,opus-4.7,claude-sonnet-5,sonnet-4.6,claude-4.5-haiku"
1439
1444
  exposes-max-mode="no" exposes-thinking="yes"
1440
1445
  exposes-orchestration="yes"
1441
- best-for="Default for Claude coding or terminal tasks when a claude.ai Max subscription is active — $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–2.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–256) 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 — top-level or per model under `modelSettings` — 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–256) to raise the Workflow tool's per-run concurrent-agent limit for inference-bound fan-outs — 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 — 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 — 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 — 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 … 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 — configurable under \"Project instructions\" in `/config`; not yet on Bedrock, Vertex or Foundry), `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 — 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 — 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 — the `/effort` vocabulary itself is unchanged). Exposes the full `/effort` dial (low/medium/high/xhigh/max — 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, 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 xhigh + Dynamic Workflows 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–256) 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)." />
1446
+ best-for="Default for Claude coding or terminal tasks when a claude.ai Max subscription is active — $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–2.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–256) 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 — top-level or per model under `modelSettings` — 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–256) to raise the Workflow tool's per-run concurrent-agent limit for inference-bound fan-outs — 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 — 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 — 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 — 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 … 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 — 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 — 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 — 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 — the `/effort` vocabulary itself is unchanged). Exposes the full `/effort` dial (low/medium/high/xhigh/max — 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, 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 xhigh + Dynamic Workflows 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–256) 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)." />
1442
1447
  <method id="claude-web" name="claude.ai web / desktop"
1443
1448
  provider="anthropic" billing="subscription-included"
1444
1449
  provider-jurisdiction="us"
@@ -117,9 +117,10 @@ STYLE RULES (the AI MUST follow)
117
117
  - The document opens with a phase-level Status line
118
118
  directly under its `# Phase N Roadmap` title (`Not
119
119
  started` → `In progress` from Step 1's PR → `Complete —
120
- <YYYY-MM-DD>` from the final step's PR), and its Summary
121
- Table carries a Status column mirroring each step's
122
- Status line. Same Status rule, same Stage-3 commits.
120
+ <YYYY-MM-DD>` and a ` ✅` on the title from the final
121
+ step's PR), and its Summary Table carries a Status column
122
+ mirroring each step's Status line. Same Status rule, same
123
+ Stage-3 commits.
123
124
  - Findings surfaced while executing a step are classified
124
125
  per the Overview "Triage rule" before they are acted on;
125
126
  a step's PR contains the step plus blocking fixes only.
@@ -371,7 +372,10 @@ started` to `In progress` (the parent's `### Phase {{N}}` line
371
372
  reads `In progress — phase{{N}}-roadmap.md`), and the final
372
373
  step's PR flips both to `Complete — …` (the parent's with its row
373
374
  in the "Phase Complexity Summary" table and the header
374
- `> **Status:**` line). There is no separate
375
+ `> **Status:**` line) and appends ` ✅` to this file's `# ` title
376
+ and to the parent's `### Phase {{N}}` heading, so the project
377
+ roadmap shows a finished phase the way this file shows a finished
378
+ step. There is no separate
375
379
  "update the roadmaps" chore: a step whose PR merged without its
376
380
  Status line is a lifecycle violation, and the next step's Stage 1
377
381
  (and `/roadmap-step`) refuses to start until the previous step
@@ -425,7 +429,8 @@ before declaring a step complete.
425
429
  commit sets this roadmap's phase-level `**Status:**` (under its
426
430
  title) and the parent project roadmap's Phase {{N}}
427
431
  `**Status:**` to `In progress`; on the final step, both to
428
- `Complete`.
432
+ `Complete`, with ` ✅` appended to this roadmap's `# ` title
433
+ and to the parent's `### Phase {{N}}` heading.
429
434
 
430
435
  4. **Wait for green checks, then squash-merge.** Every required
431
436
  status check (lint, type-check, test-matrix, package-smoke,
@@ -946,7 +951,11 @@ hygiene").}}
946
951
  parent project roadmap's
947
952
  Phase {{N}} `**Status:**` to
948
953
  `In progress`; on the final
949
- step, both to `Complete`.
954
+ step, both to `Complete`,
955
+ with ` ✅` appended to this
956
+ roadmap's `# ` title and to
957
+ the parent's `### Phase {{N}}`
958
+ heading.
950
959
 
951
960
  4. WAIT FOR GREEN CHECKS, THEN
952
961
  SQUASH-MERGE. Every required
@@ -1644,7 +1653,9 @@ that surface has neither dial.
1644
1653
  `**Status:** Complete —
1645
1654
  <YYYY-MM-DD>; PR #<n>;
1646
1655
  {{milestone tag}};
1647
- phase{{N}}-roadmap.md`.
1656
+ phase{{N}}-roadmap.md`
1657
+ directly under its heading,
1658
+ and the heading ends in ✅.
1648
1659
  - Its row in the "Phase
1649
1660
  Complexity Summary" table
1650
1661
  reads `Complete` (Step 1's
@@ -1662,8 +1673,9 @@ that surface has neither dial.
1662
1673
  commit: its phase-level
1663
1674
  `**Status:**` line (under the
1664
1675
  title) reads `Complete —
1665
- <YYYY-MM-DD>`, every step
1666
- heading ends in ✅, and every
1676
+ <YYYY-MM-DD>`, the title and
1677
+ every step heading end in ✅,
1678
+ and every
1667
1679
  step's Summary Table Status
1668
1680
  cell reads `Complete — PR
1669
1681
  #<n>`.
@@ -1729,9 +1741,10 @@ that surface has neither dial.
1729
1741
  remains. Every step of this roadmap, this one included,
1730
1742
  reads `**Status:** Complete — PR #…` on `main` under a ✅
1731
1743
  heading, the Summary Table's Status column and this roadmap's
1732
- phase-level Status line say `Complete`, and the parent
1733
- project roadmap's Phase {{N}} entry, its summary-table row,
1734
- and its header status line say `Complete` — all landed in
1744
+ phase-level Status line say `Complete` under a ✅ title, and the
1745
+ parent project roadmap's Phase {{N}} entry (under a ✅ heading),
1746
+ its summary-table row, and its header status line say
1747
+ `Complete` — all landed in
1735
1748
  this step's PR. This step's final response ends with two lines and
1736
1749
  nothing after them: "Step {{N}} is complete. You can now move
1737
1750
  on to Step {{N+1}}." is replaced by "Step {{N}} is complete.