diff --git a/recipes/cq_label.expected/dry-run.json b/recipes/cq_label.expected/dry-run.json
index 05f6e3a..7d4960e 100644
--- a/recipes/cq_label.expected/dry-run.json
+++ b/recipes/cq_label.expected/dry-run.json
@@ -157,7 +157,7 @@
       "@@@STEP_LOG_LINE@json.output@      \"author\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"email\": \"cq-bot-account@gserviceaccount.com\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"message\": \"Patch Set 2: Dry run: This CL passed\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"message\": \"Patch Set 2: Dry run: This CL passed the CQ dry run.\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ], @@@",
       "@@@STEP_LOG_LINE@json.output@  \"project\": \"pigweed\", @@@",
diff --git a/recipes/cq_label.expected/passed.json b/recipes/cq_label.expected/passed.json
index f9f4a8c..646cfad 100644
--- a/recipes/cq_label.expected/passed.json
+++ b/recipes/cq_label.expected/passed.json
@@ -157,7 +157,7 @@
       "@@@STEP_LOG_LINE@json.output@      \"author\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"email\": \"cq-bot-account@gserviceaccount.com\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"message\": \"Patch Set 2: Dry run: This CL passed\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"message\": \"Patch Set 2: Dry run: This CL passed the CQ dry run.\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ], @@@",
       "@@@STEP_LOG_LINE@json.output@  \"project\": \"pigweed\", @@@",
diff --git a/recipes/cq_label.expected/wrong-author.json b/recipes/cq_label.expected/wrong-author.json
index 5bdeea1..263cbee 100644
--- a/recipes/cq_label.expected/wrong-author.json
+++ b/recipes/cq_label.expected/wrong-author.json
@@ -157,7 +157,7 @@
       "@@@STEP_LOG_LINE@json.output@      \"author\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"email\": \"test@example.com\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"message\": \"Patch Set 2: Dry run: This CL passed\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"message\": \"Patch Set 2: Dry run: This CL passed the CQ dry run.\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ], @@@",
       "@@@STEP_LOG_LINE@json.output@  \"project\": \"pigweed\", @@@",
diff --git a/recipes/cq_label.expected/wrong-patchset.json b/recipes/cq_label.expected/wrong-patchset.json
index f0b8f40..cbfa01f 100644
--- a/recipes/cq_label.expected/wrong-patchset.json
+++ b/recipes/cq_label.expected/wrong-patchset.json
@@ -157,7 +157,7 @@
       "@@@STEP_LOG_LINE@json.output@      \"author\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"email\": \"cq-bot-account@gserviceaccount.com\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"message\": \"Patch Set 1: Dry run: This CL passed\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"message\": \"Patch Set 1: Dry run: This CL passed the CQ dry run.\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ], @@@",
       "@@@STEP_LOG_LINE@json.output@  \"project\": \"pigweed\", @@@",
diff --git a/recipes/cq_label.py b/recipes/cq_label.py
index 74b299a..6105fd4 100644
--- a/recipes/cq_label.py
+++ b/recipes/cq_label.py
@@ -24,8 +24,13 @@
 from PB.go.chromium.org.luci.buildbucket.proto import common
 from PB.recipe_engine import result
 from PB.recipes.pigweed.cq_label import InputProperties
+from RECIPE_MODULES.fuchsia.auto_roller.api import (
+    FAILED_DRY_RUN_MESSAGES,
+    PASSED_DRY_RUN_MESSAGES,
+)
 
 DEPS = [
+    'fuchsia/auto_roller',
     'fuchsia/gerrit',
     'fuchsia/status_check',
     'recipe_engine/json',
@@ -95,25 +100,23 @@
                 if message['author']['email'] != cq_account:
                     continue
 
-                passed = re.search(
-                    rf'Patch Set {patch}:\s*Dry run: This CL passed',
-                    message['message'],
-                    re.IGNORECASE,
-                )
-                if passed:
-                    with api.step.nest('passed'):
-                        value = 1
-                        break
+                if not message['message'].startswith(f'Patch Set {patch}:'):
+                    continue
 
-                failed = re.search(
-                    rf'Patch Set {patch}:\s*Dry run: Failed builds',
-                    message['message'],
-                    re.IGNORECASE,
-                )
-                if failed:
-                    with api.step.nest('failed'):
-                        value = -1
-                        break
+                for msg in PASSED_DRY_RUN_MESSAGES:
+                    if msg in message['message']:
+                        with api.step.nest('passed'):
+                            value = 1
+                            break
+
+                for msg in FAILED_DRY_RUN_MESSAGES:
+                    if msg in message['message']:
+                        with api.step.nest('failed'):
+                            value = -1
+                            break
+
+                if value:
+                    break
 
             if value:
                 if dry_run:
@@ -265,11 +268,13 @@
         )
 
     def message(patch_set, passed, author=CQ_BOT_ACCOUNT):
+        passfail = FAILED_DRY_RUN_MESSAGES[0]
+        if passed:
+            passfail = PASSED_DRY_RUN_MESSAGES[0]
+
         return {
             'author': {'email': author,},
-            'message': 'Patch Set {}: Dry run: {}'.format(
-                patch_set, 'This CL passed' if passed else 'Failed builds',
-            ),
+            'message': f'Patch Set {patch_set}: {passfail}',
         }
 
     def details(*messages, **kwargs):
