@@ -29,9 +29,19 @@ const CAPS = {
2929 'claude-opus-4-8' : { context : 200000 , tools : true , vision : true , caching : true } ,
3030 'claude-sonnet-4-6' : { context : 200000 , tools : true , vision : true , caching : true } ,
3131 'claude-haiku-4-5-20251001' : { context : 200000 , tools : true , vision : true , fast : true } ,
32+ // Fable reaches the composer two ways: through the gateway as the OpenRouter basename (dotted
33+ // 5.1), and BYOK-native as the dashed id. Neither had a row, so both fell to the claude-*
34+ // heuristic's 200k — a fifth of the real window. Fable 5 / 5.1 are Pro-tier from 2026-09-08.
35+ 'claude-fable-5' : { context : 1000000 , tools : true , vision : true , caching : true } ,
36+ 'claude-fable-5.1' : { context : 1000000 , tools : true , vision : true , caching : true } ,
37+ 'claude-fable-5-1' : { context : 1000000 , tools : true , vision : true , caching : true } ,
3238 // OpenAI
3339 'gpt-4o' : { context : 128000 , tools : true , vision : true } ,
3440 'gpt-4o-mini' : { context : 128000 , tools : true , vision : true , fast : true } ,
41+ // Not covered by the gpt-4/gpt-5 heuristic below, which would also give it a 128k window; the
42+ // real one is 1.05M (OpenRouter models API, 2026-09-06) and it reads images. Without this row the
43+ // gateway picker offers it while the composer refuses attachments and the meter sizes it wrong.
44+ 'gpt-6-astra' : { context : 1050000 , tools : true , vision : true } ,
3545 'o3-mini' : { context : 200000 , tools : true , reasoning : true } ,
3646 'o1' : { context : 200000 , tools : true , reasoning : true } ,
3747 'o1-mini' : { context : 128000 , tools : false , reasoning : true } , // o1-mini has no function calling
0 commit comments