4949 CONF_RECOMMENDED ,
5050 CONF_TEMPERATURE ,
5151 CONF_TOP_P ,
52+ CONF_VERBOSITY ,
5253 CONF_WEB_SEARCH ,
5354 CONF_WEB_SEARCH_CITY ,
5455 CONF_WEB_SEARCH_CONTEXT_SIZE ,
6768 RECOMMENDED_REASONING_EFFORT ,
6869 RECOMMENDED_TEMPERATURE ,
6970 RECOMMENDED_TOP_P ,
71+ RECOMMENDED_VERBOSITY ,
7072 RECOMMENDED_WEB_SEARCH ,
7173 RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE ,
7274 RECOMMENDED_WEB_SEARCH_USER_LOCATION ,
@@ -323,15 +325,17 @@ async def async_step_model(
323325
324326 model = options [CONF_CHAT_MODEL ]
325327
326- if model .startswith ("o" ):
328+ if model .startswith (( "o" , "gpt-5" ) ):
327329 step_schema .update (
328330 {
329331 vol .Optional (
330332 CONF_REASONING_EFFORT ,
331333 default = RECOMMENDED_REASONING_EFFORT ,
332334 ): SelectSelector (
333335 SelectSelectorConfig (
334- options = ["low" , "medium" , "high" ],
336+ options = ["low" , "medium" , "high" ]
337+ if model .startswith ("o" )
338+ else ["minimal" , "low" , "medium" , "high" ],
335339 translation_key = CONF_REASONING_EFFORT ,
336340 mode = SelectSelectorMode .DROPDOWN ,
337341 )
@@ -341,6 +345,24 @@ async def async_step_model(
341345 elif CONF_REASONING_EFFORT in options :
342346 options .pop (CONF_REASONING_EFFORT )
343347
348+ if model .startswith ("gpt-5" ):
349+ step_schema .update (
350+ {
351+ vol .Optional (
352+ CONF_VERBOSITY ,
353+ default = RECOMMENDED_VERBOSITY ,
354+ ): SelectSelector (
355+ SelectSelectorConfig (
356+ options = ["low" , "medium" , "high" ],
357+ translation_key = CONF_VERBOSITY ,
358+ mode = SelectSelectorMode .DROPDOWN ,
359+ )
360+ ),
361+ }
362+ )
363+ elif CONF_VERBOSITY in options :
364+ options .pop (CONF_VERBOSITY )
365+
344366 if self ._subentry_type == "conversation" and not model .startswith (
345367 tuple (UNSUPPORTED_WEB_SEARCH_MODELS )
346368 ):
0 commit comments