diff --git a/main.go b/main.go
index 142be4f..496ca0a 100644
--- a/main.go
+++ b/main.go
@@ -375,27 +375,28 @@ func (app *App) processAutoTagDocuments() (int, error) {
 
 	log.Debugf("Found at least %d remaining documents with tag %s", len(documents), autoTag)
 
-	documents = documents[:1] // Process only one document at a time
-	docLogger := documentLogger(documents[0].ID)
-	docLogger.Info("Processing document for auto-tagging")
+	for _, document := range documents {
+		docLogger := documentLogger(document.ID)
+		docLogger.Info("Processing document for auto-tagging")
 
-	suggestionRequest := GenerateSuggestionsRequest{
-		Documents:      documents,
-		GenerateTitles: strings.ToLower(autoGenerateTitle) != "false",
-		GenerateTags:   strings.ToLower(autoGenerateTags) != "false",
+		suggestionRequest := GenerateSuggestionsRequest{
+			Documents:      []Document{document},
+			GenerateTitles: strings.ToLower(autoGenerateTitle) != "false",
+			GenerateTags:   strings.ToLower(autoGenerateTags) != "false",
+		}
+
+		suggestions, err := app.generateDocumentSuggestions(ctx, suggestionRequest, docLogger)
+		if err != nil {
+			return 0, fmt.Errorf("error generating suggestions for document %d: %w", document.ID, err)
+		}
+
+		err = app.Client.UpdateDocuments(ctx, suggestions, app.Database, false)
+		if err != nil {
+			return 0, fmt.Errorf("error updating document %d: %w", document.ID, err)
+		}
+
+		docLogger.Info("Successfully processed document")
 	}
-
-	suggestions, err := app.generateDocumentSuggestions(ctx, suggestionRequest, docLogger)
-	if err != nil {
-		return 0, fmt.Errorf("error generating suggestions for document %d: %w", documents[0].ID, err)
-	}
-
-	err = app.Client.UpdateDocuments(ctx, suggestions, app.Database, false)
-	if err != nil {
-		return 0, fmt.Errorf("error updating document %d: %w", documents[0].ID, err)
-	}
-
-	docLogger.Info("Successfully processed document")
 	return len(documents), nil
 }
 
@@ -415,29 +416,30 @@ func (app *App) processAutoOcrTagDocuments() (int, error) {
 
 	log.Debugf("Found at least %d remaining documents with tag %s", len(documents), autoOcrTag)
 
-	documents = documents[:1] // Process only one document at a time
-	docLogger := documentLogger(documents[0].ID)
-	docLogger.Info("Processing document for OCR")
+	for _, document := range documents {
+		docLogger := documentLogger(document.ID)
+		docLogger.Info("Processing document for OCR")
 
-	ocrContent, err := app.ProcessDocumentOCR(ctx, documents[0].ID)
-	if err != nil {
-		return 0, fmt.Errorf("error processing OCR for document %d: %w", documents[0].ID, err)
+		ocrContent, err := app.ProcessDocumentOCR(ctx, document.ID)
+		if err != nil {
+			return 0, fmt.Errorf("error processing OCR for document %d: %w", document.ID, err)
+		}
+		docLogger.Debug("OCR processing completed")
+
+		err = app.Client.UpdateDocuments(ctx, []DocumentSuggestion{
+			{
+				ID:               document.ID,
+				OriginalDocument: document,
+				SuggestedContent: ocrContent,
+				RemoveTags:       []string{autoOcrTag},
+			},
+		}, app.Database, false)
+		if err != nil {
+			return 0, fmt.Errorf("error updating document %d after OCR: %w", document.ID, err)
+		}
+
+		docLogger.Info("Successfully processed document OCR")
 	}
-	docLogger.Debug("OCR processing completed")
-
-	err = app.Client.UpdateDocuments(ctx, []DocumentSuggestion{
-		{
-			ID:               documents[0].ID,
-			OriginalDocument: documents[0],
-			SuggestedContent: ocrContent,
-			RemoveTags:       []string{autoOcrTag},
-		},
-	}, app.Database, false)
-	if err != nil {
-		return 0, fmt.Errorf("error updating document %d after OCR: %w", documents[0].ID, err)
-	}
-
-	docLogger.Info("Successfully processed document OCR")
 	return 1, nil
 }