@@ -132,6 +132,13 @@ func (c *coordinator) Run(ctx context.Context, sessionID string, prompt string,
132132
133133 mergedOptions, temp, topP, topK, freqPenalty, presPenalty := mergeCallOptions(model, providerCfg)
134134
135+ if providerCfg.OAuthToken != nil && providerCfg.OAuthToken.IsExpired() {
136+ slog.Info("Token needs to be refreshed", "provider", providerCfg.ID)
137+ if err := c.refreshOAuth2Token(ctx, providerCfg); err != nil {
138+ return nil, err
139+ }
140+ }
141+
135142 run := func() (*fantasy.AgentResult, error) {
136143 return c.currentAgent.Run(ctx, SessionAgentCall{
137144 SessionID: sessionID,