@@ -193,7 +193,7 @@ func getProviderOptions(model Model, providerCfg config.ProviderConfig) fantasy.
193193 }
194194
195195 switch providerCfg.Type {
196− case openai.Name:
196+ case openai.Name, azure.Name:
197197 _, hasReasoningEffort := mergedOptions["reasoning_effort"]
198198 if !hasReasoningEffort && model.ModelCfg.ReasoningEffort != "" {
199199 mergedOptions["reasoning_effort"] = model.ModelCfg.ReasoningEffort
@@ -250,16 +250,6 @@ func getProviderOptions(model Model, providerCfg config.ProviderConfig) fantasy.
250250 if err == nil {
251251 options[google.Name] = parsed
252252 }
253− case azure.Name:
254− _, hasReasoningEffort := mergedOptions["reasoning_effort"]
255− if !hasReasoningEffort && model.ModelCfg.ReasoningEffort != "" {
256− mergedOptions["reasoning_effort"] = model.ModelCfg.ReasoningEffort
257− }
258− // azure uses the same options as openaicompat
259− parsed, err := openaicompat.ParseOptions(mergedOptions)
260− if err == nil {
261− options[azure.Name] = parsed
262− }
263253 case openaicompat.Name:
264254 _, hasReasoningEffort := mergedOptions["reasoning_effort"]
265255 if !hasReasoningEffort && model.ModelCfg.ReasoningEffort != "" {
@@ -566,6 +556,7 @@ func (c *coordinator) buildAzureProvider(baseURL, apiKey string, headers map[str
566556 opts := []azure.Option{
567557 azure.WithBaseURL(baseURL),
568558 azure.WithAPIKey(apiKey),
559+ azure.WithUseResponsesAPI(),
569560 }
570561 if c.cfg.Options.Debug {
571562 httpClient := log.NewHTTPClient()