diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf
index 5949d2357..5dc2bf681 100644
--- a/src-ui/messages.xlf
+++ b/src-ui/messages.xlf
@@ -768,7 +768,7 @@
src/app/components/admin/tasks/tasks.component.html
- 16
+ 19
@@ -783,7 +783,7 @@
src/app/components/admin/tasks/tasks.component.html
- 23
+ 26
src/app/components/admin/trash/trash.component.html
@@ -1700,7 +1700,7 @@
src/app/components/common/input/tags/tags.component.ts
- 80
+ 81
src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html
@@ -1830,11 +1830,18 @@
147
+
+ Dismiss all
+
+ src/app/components/admin/tasks/tasks.component.html
+ 15
+
+
All
src/app/components/admin/tasks/tasks.component.html
- 36
+ 39
src/app/components/admin/tasks/tasks.component.ts
@@ -1842,7 +1849,7 @@
src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html
- 151
+ 154
src/app/components/common/filterable-dropdown/filterable-dropdown.component.html
@@ -1873,36 +1880,36 @@
Filter by
src/app/components/admin/tasks/tasks.component.html
- 56
+ 59
All types
src/app/components/admin/tasks/tasks.component.html
- 61
+ 64
src/app/components/admin/tasks/tasks.component.ts
- 209
+ 215
All sources
src/app/components/admin/tasks/tasks.component.html
- 70
+ 73
src/app/components/admin/tasks/tasks.component.ts
- 221
+ 227
Reset filters
src/app/components/admin/tasks/tasks.component.html
- 101
+ 104
src/app/components/document-list/document-list.component.html
@@ -1917,14 +1924,14 @@
{VAR_PLURAL, plural, =1 {1 task} other { tasks}}
src/app/components/admin/tasks/tasks.component.html
- 122
+ 125
Name
src/app/components/admin/tasks/tasks.component.html
- 144
+ 147
src/app/components/admin/tasks/tasks.component.ts
@@ -2035,7 +2042,7 @@
Created
src/app/components/admin/tasks/tasks.component.html
- 145
+ 148
src/app/components/common/dates-dropdown/dates-dropdown.component.html
@@ -2066,21 +2073,21 @@
Results
src/app/components/admin/tasks/tasks.component.html
- 147
+ 150
Info
src/app/components/admin/tasks/tasks.component.html
- 149
+ 152
Actions
src/app/components/admin/tasks/tasks.component.html
- 150
+ 153
src/app/components/admin/trash/trash.component.html
@@ -2151,18 +2158,22 @@
click for full output
src/app/components/admin/tasks/tasks.component.html
- 201
+ 204
Dismiss
src/app/components/admin/tasks/tasks.component.html
- 214
+ 217
src/app/components/admin/tasks/tasks.component.ts
- 310
+ 317
+
+
+ src/app/components/admin/tasks/tasks.component.ts
+ 351
src/app/components/document-detail/document-detail.component.ts
@@ -2177,28 +2188,28 @@
Open Document
src/app/components/admin/tasks/tasks.component.html
- 219
+ 222
Result message
src/app/components/admin/tasks/tasks.component.html
- 232
+ 235
Duplicate
src/app/components/admin/tasks/tasks.component.html
- 239
+ 242
Open
src/app/components/admin/tasks/tasks.component.html
- 247
+ 250
src/app/components/app-frame/global-search/global-search.component.html
@@ -2229,21 +2240,21 @@
Input data
src/app/components/admin/tasks/tasks.component.html
- 257
+ 260
Result data
src/app/components/admin/tasks/tasks.component.html
- 263
+ 266
No tasks match the current filters.
src/app/components/admin/tasks/tasks.component.html
- 285
+ 288
@@ -2420,60 +2431,78 @@
Dismiss selected
src/app/components/admin/tasks/tasks.component.ts
- 233
+ 239
Dismiss visible
src/app/components/admin/tasks/tasks.component.ts
- 234
+ 240
Confirm Dismiss
src/app/components/admin/tasks/tasks.component.ts
- 307
+ 314
Dismiss tasks?
src/app/components/admin/tasks/tasks.component.ts
- 308
+ 315
Error dismissing tasks
src/app/components/admin/tasks/tasks.component.ts
- 319
+ 326
+
+
+ src/app/components/admin/tasks/tasks.component.ts
+ 360
Error dismissing task
src/app/components/admin/tasks/tasks.component.ts
- 331
+ 338
+
+
+
+ Confirm Dismiss All
+
+ src/app/components/admin/tasks/tasks.component.ts
+ 348
+
+
+
+ Dismiss all tasks?
+
+ src/app/components/admin/tasks/tasks.component.ts
+ 349
Success. New document id created
src/app/components/admin/tasks/tasks.component.ts
- 377
+ 408
Duplicate of document #
src/app/components/admin/tasks/tasks.component.ts
- 387
+ 418
src/app/components/admin/tasks/tasks.component.ts
- 421
+ 452
@@ -3664,42 +3693,42 @@
{VAR_PLURAL, plural, =1 {One page} other { pages}}
src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.html
- 25
+ 28
Use metadata from:
src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.html
- 34
+ 38
Regenerate all metadata
src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.html
- 36
+ 40
Try to include archive version in merge for non-PDF files
src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.html
- 44
+ 48
Delete original documents after successful merge
src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.html
- 48
+ 52
Note that only PDFs will be included.
src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.html
- 51
+ 55
@@ -3814,7 +3843,7 @@
Saved field "".
src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.ts
- 130
+ 129
src/app/components/manage/document-attributes/custom-fields/custom-fields.component.ts
@@ -3825,7 +3854,7 @@
Error saving field.
src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.ts
- 139
+ 138
src/app/components/manage/document-attributes/custom-fields/custom-fields.component.ts
@@ -3910,11 +3939,11 @@
src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html
- 94
+ 96
src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html
- 100
+ 102
@@ -3925,29 +3954,29 @@
src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html
- 95
+ 97
src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html
- 101
+ 103
Search docs...
src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html
- 69
+ 70
src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html
- 117
+ 119
Any
src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html
- 149
+ 152
src/app/components/common/filterable-dropdown/filterable-dropdown.component.html
@@ -3958,21 +3987,21 @@
Not
src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html
- 154
+ 157
Add query
src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html
- 173
+ 176
Add expression
src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html
- 176
+ 179
@@ -4641,23 +4670,23 @@
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 197
+ 199
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 231
+ 233
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 265
+ 267
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 275
+ 277
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 313
+ 315
src/app/components/common/toast/toast.component.html
@@ -5979,11 +6008,11 @@
src/app/components/common/input/select/select.component.html
- 61
+ 62
src/app/components/common/input/tags/tags.component.html
- 65
+ 66
@@ -5994,7 +6023,7 @@
src/app/components/common/input/select/select.component.ts
- 172
+ 176
@@ -6098,7 +6127,7 @@
Private
src/app/components/common/input/select/select.component.ts
- 71
+ 72
src/app/components/common/tag/tag.component.html
@@ -6121,7 +6150,7 @@
No items found
src/app/components/common/input/select/select.component.ts
- 106
+ 110
@@ -6135,21 +6164,21 @@
Add tag
src/app/components/common/input/tags/tags.component.html
- 17
+ 18
Remove tag
src/app/components/common/input/tags/tags.component.html
- 23
+ 24
Filter documents with these Tags
src/app/components/common/input/tags/tags.component.html
- 55
+ 56
@@ -6441,7 +6470,7 @@
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 332
+ 334
src/app/components/manage/mail/mail.component.html
@@ -7150,28 +7179,28 @@
Recent Task Activity ( days)
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 145
+ 147
Total
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 150
+ 152
Successful
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 154
+ 156
Failed
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 158
+ 160
src/app/data/share-link-bundle.ts
@@ -7182,7 +7211,7 @@
Pending
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 162
+ 164
src/app/data/share-link-bundle.ts
@@ -7193,96 +7222,96 @@
No recent tasks
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 167
+ 169
Health
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 178
+ 180
Search Index
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 182
+ 184
Last Updated
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 195
+ 197
Classifier
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 200
+ 202
Run Task
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 222
+ 224
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 256
+ 258
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 304
+ 306
Last Trained
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 229
+ 231
Sanity Checker
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 234
+ 236
Last Run
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 263
+ 265
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 311
+ 313
WebSocket Connection
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 268
+ 270
OK
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 272
+ 274
AI Index
src/app/components/common/system-status-dialog/system-status-dialog.component.html
- 281
+ 283
@@ -10910,6 +10939,20 @@
361
+
+ LLM Request Timeout
+
+ src/app/data/paperless-config.ts
+ 365
+
+
+
+ Timeout in seconds for LLM requests.
+
+ src/app/data/paperless-config.ts
+ 369
+
+
Processing
diff --git a/src/locale/en_US/LC_MESSAGES/django.po b/src/locale/en_US/LC_MESSAGES/django.po
index 609030003..629693d88 100644
--- a/src/locale/en_US/LC_MESSAGES/django.po
+++ b/src/locale/en_US/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-06-03 22:14+0000\n"
+"POT-Creation-Date: 2026-06-23 14:33+0000\n"
"PO-Revision-Date: 2022-02-17 04:17\n"
"Last-Translator: \n"
"Language-Team: English\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr ""
-#: documents/filters.py:463
+#: documents/filters.py:464
msgid "Value must be valid JSON."
msgstr ""
-#: documents/filters.py:482
+#: documents/filters.py:483
msgid "Invalid custom field query expression"
msgstr ""
-#: documents/filters.py:492
+#: documents/filters.py:493
msgid "Invalid expression list. Must be nonempty."
msgstr ""
-#: documents/filters.py:513
+#: documents/filters.py:514
msgid "Invalid logical operator {op!r}"
msgstr ""
-#: documents/filters.py:527
+#: documents/filters.py:528
msgid "Maximum number of query conditions exceeded."
msgstr ""
-#: documents/filters.py:591
+#: documents/filters.py:592
msgid "{name!r} is not a valid custom field."
msgstr ""
-#: documents/filters.py:628
+#: documents/filters.py:629
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
-#: documents/filters.py:743 documents/models.py:136
+#: documents/filters.py:744 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr ""
-#: documents/filters.py:990
+#: documents/filters.py:1052
msgid "Custom field not found"
msgstr ""
@@ -1351,49 +1351,49 @@ msgstr ""
msgid "workflow runs"
msgstr ""
-#: documents/serialisers.py:463 documents/serialisers.py:815
-#: documents/serialisers.py:2681 documents/views.py:295 documents/views.py:2468
+#: documents/serialisers.py:503 documents/serialisers.py:855
+#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2482
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
-#: documents/serialisers.py:651
+#: documents/serialisers.py:691
msgid "Invalid color."
msgstr ""
-#: documents/serialisers.py:2175
+#: documents/serialisers.py:2216
#, python-format
msgid "File type %(type)s not supported"
msgstr ""
-#: documents/serialisers.py:2219
+#: documents/serialisers.py:2260
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
-#: documents/serialisers.py:2226
+#: documents/serialisers.py:2267
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
-#: documents/serialisers.py:2243 documents/serialisers.py:2253
+#: documents/serialisers.py:2284 documents/serialisers.py:2294
msgid ""
"Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
-#: documents/serialisers.py:2248
+#: documents/serialisers.py:2289
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
-#: documents/serialisers.py:2395
+#: documents/serialisers.py:2436
msgid "Invalid variable detected."
msgstr ""
-#: documents/serialisers.py:2737
+#: documents/serialisers.py:2800
msgid "Duplicate document identifiers are not allowed."
msgstr ""
-#: documents/serialisers.py:2767 documents/views.py:4345
+#: documents/serialisers.py:2830 documents/views.py:4429
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1661,32 +1661,36 @@ msgstr ""
msgid "Unable to parse URI {value}"
msgstr ""
-#: documents/views.py:288 documents/views.py:2465
+#: documents/views.py:290 documents/views.py:2479
msgid "Invalid more_like_id"
msgstr ""
-#: documents/views.py:1511
+#: documents/views.py:1513
msgid "Invalid AI configuration."
msgstr ""
-#: documents/views.py:2290 documents/views.py:2606
+#: documents/views.py:1522
+msgid "AI backend request timed out."
+msgstr ""
+
+#: documents/views.py:2304 documents/views.py:2625
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
-#: documents/views.py:4357
+#: documents/views.py:4441
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
-#: documents/views.py:4403
+#: documents/views.py:4487
msgid "Bundle is already being processed."
msgstr ""
-#: documents/views.py:4463
+#: documents/views.py:4547
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
-#: documents/views.py:4473
+#: documents/views.py:4557
msgid "The share link bundle is unavailable."
msgstr ""
@@ -1935,154 +1939,158 @@ msgid "Sets the LLM output language"
msgstr ""
#: paperless/models.py:370
+msgid "Sets the LLM timeout in seconds"
+msgstr ""
+
+#: paperless/models.py:376
msgid "paperless application settings"
msgstr ""
-#: paperless/settings/__init__.py:539
+#: paperless/settings/__init__.py:545
msgid "English (US)"
msgstr ""
-#: paperless/settings/__init__.py:540
+#: paperless/settings/__init__.py:546
msgid "Arabic"
msgstr ""
-#: paperless/settings/__init__.py:541
+#: paperless/settings/__init__.py:547
msgid "Afrikaans"
msgstr ""
-#: paperless/settings/__init__.py:542
+#: paperless/settings/__init__.py:548
msgid "Belarusian"
msgstr ""
-#: paperless/settings/__init__.py:543
+#: paperless/settings/__init__.py:549
msgid "Bulgarian"
msgstr ""
-#: paperless/settings/__init__.py:544
+#: paperless/settings/__init__.py:550
msgid "Catalan"
msgstr ""
-#: paperless/settings/__init__.py:545
+#: paperless/settings/__init__.py:551
msgid "Czech"
msgstr ""
-#: paperless/settings/__init__.py:546
+#: paperless/settings/__init__.py:552
msgid "Danish"
msgstr ""
-#: paperless/settings/__init__.py:547
+#: paperless/settings/__init__.py:553
msgid "German"
msgstr ""
-#: paperless/settings/__init__.py:548
+#: paperless/settings/__init__.py:554
msgid "Greek"
msgstr ""
-#: paperless/settings/__init__.py:549
+#: paperless/settings/__init__.py:555
msgid "English (GB)"
msgstr ""
-#: paperless/settings/__init__.py:550
+#: paperless/settings/__init__.py:556
msgid "Spanish"
msgstr ""
-#: paperless/settings/__init__.py:551
+#: paperless/settings/__init__.py:557
msgid "Persian"
msgstr ""
-#: paperless/settings/__init__.py:552
+#: paperless/settings/__init__.py:558
msgid "Finnish"
msgstr ""
-#: paperless/settings/__init__.py:553
+#: paperless/settings/__init__.py:559
msgid "French"
msgstr ""
-#: paperless/settings/__init__.py:554
+#: paperless/settings/__init__.py:560
msgid "Hungarian"
msgstr ""
-#: paperless/settings/__init__.py:555
+#: paperless/settings/__init__.py:561
msgid "Indonesian"
msgstr ""
-#: paperless/settings/__init__.py:556
+#: paperless/settings/__init__.py:562
msgid "Italian"
msgstr ""
-#: paperless/settings/__init__.py:557
+#: paperless/settings/__init__.py:563
msgid "Japanese"
msgstr ""
-#: paperless/settings/__init__.py:558
+#: paperless/settings/__init__.py:564
msgid "Korean"
msgstr ""
-#: paperless/settings/__init__.py:559
+#: paperless/settings/__init__.py:565
msgid "Luxembourgish"
msgstr ""
-#: paperless/settings/__init__.py:560
+#: paperless/settings/__init__.py:566
msgid "Norwegian"
msgstr ""
-#: paperless/settings/__init__.py:561
+#: paperless/settings/__init__.py:567
msgid "Dutch"
msgstr ""
-#: paperless/settings/__init__.py:562
+#: paperless/settings/__init__.py:568
msgid "Polish"
msgstr ""
-#: paperless/settings/__init__.py:563
+#: paperless/settings/__init__.py:569
msgid "Portuguese (Brazil)"
msgstr ""
-#: paperless/settings/__init__.py:564
+#: paperless/settings/__init__.py:570
msgid "Portuguese"
msgstr ""
-#: paperless/settings/__init__.py:565
+#: paperless/settings/__init__.py:571
msgid "Romanian"
msgstr ""
-#: paperless/settings/__init__.py:566
+#: paperless/settings/__init__.py:572
msgid "Russian"
msgstr ""
-#: paperless/settings/__init__.py:567
+#: paperless/settings/__init__.py:573
msgid "Slovak"
msgstr ""
-#: paperless/settings/__init__.py:568
+#: paperless/settings/__init__.py:574
msgid "Slovenian"
msgstr ""
-#: paperless/settings/__init__.py:569
+#: paperless/settings/__init__.py:575
msgid "Serbian"
msgstr ""
-#: paperless/settings/__init__.py:570
+#: paperless/settings/__init__.py:576
msgid "Swedish"
msgstr ""
-#: paperless/settings/__init__.py:571
+#: paperless/settings/__init__.py:577
msgid "Turkish"
msgstr ""
-#: paperless/settings/__init__.py:572
+#: paperless/settings/__init__.py:578
msgid "Ukrainian"
msgstr ""
-#: paperless/settings/__init__.py:573
+#: paperless/settings/__init__.py:579
msgid "Vietnamese"
msgstr ""
-#: paperless/settings/__init__.py:574
+#: paperless/settings/__init__.py:580
msgid "Chinese Simplified"
msgstr ""
-#: paperless/settings/__init__.py:575
+#: paperless/settings/__init__.py:581
msgid "Chinese Traditional"
msgstr ""