@@ -395,7 +395,7 @@ func (a *agent) processGeneration(ctx context.Context, sessionID, content string
395395 defer log.RecoverPanic("agent.Run", func() {
396396 slog.Error("panic while generating title")
397397 })
398− titleErr := a.generateTitle(context.Background(), sessionID, content)
398+ titleErr := a.generateTitle(ctx, sessionID, content)
399399 if titleErr != nil && !errors.Is(titleErr, context.Canceled) && !errors.Is(titleErr, context.DeadlineExceeded) {
400400 slog.Error("failed to generate title", "error", titleErr)
401401 }
@@ -996,11 +996,17 @@ func (a *agent) UpdateModel() error {
996996 return fmt.Errorf("provider %s not found in config", largeModelCfg.Provider)
997997 }
998998
999+ var maxTitleTokens int64 = 40
1000+
1001+ // if the max output is too low for the gemini provider it won't return anything
1002+ if smallModelCfg.Provider == "gemini" {
1003+ maxTitleTokens = 1000
1004+ }
9991005 // Recreate title provider
10001006 titleOpts := []provider.ProviderClientOption{
10011007 provider.WithModel(config.SelectedModelTypeSmall),
10021008 provider.WithSystemMessage(prompt.GetPrompt(prompt.PromptTitle, smallModelProviderCfg.ID)),
1003− provider.WithMaxTokens(40),
1009+ provider.WithMaxTokens(maxTitleTokens),
10041010 }
10051011 newTitleProvider, err := provider.NewProvider(smallModelProviderCfg, titleOpts...)
10061012 if err != nil {