@@ -53,6 +53,7 @@ func buildCodexClientModels(models []map[string]any) []map[string]any {
5353
5454 if template , ok := templates [id ]; ok {
5555 entry := cloneCodexClientModelMap (template )
56+ applyCodexClientContextWindowOverride (entry , id , model )
5657 sanitizeCodexClientReasoningMetadata (entry )
5758 applyCodexClientVisibilityOverride (entry , id )
5859 result = append (result , entry )
@@ -97,6 +98,20 @@ func loadCodexClientModelTemplates() (map[string]map[string]any, map[string]any,
9798 return codexClientModelTemplates , codexClientDefaultTemplate , codexClientModelTemplatesErr
9899}
99100
101+ func applyCodexClientContextWindowOverride (entry map [string ]any , id string , model map [string ]any ) {
102+ contextWindow := intModelValue (model , "context_length" )
103+ if contextWindow <= 0 {
104+ if info := registry .LookupModelInfo (id ); info != nil {
105+ contextWindow = info .ContextLength
106+ }
107+ }
108+ if contextWindow <= 0 {
109+ return
110+ }
111+ entry ["context_window" ] = contextWindow
112+ entry ["max_context_window" ] = contextWindow
113+ }
114+
100115func applyCodexClientModelMetadata (entry map [string ]any , id string , model map [string ]any ) {
101116 info := registry .LookupModelInfo (id )
102117
0 commit comments