diff --git a/lib/modules/manager/circleci/__fixtures__/config2.yml b/lib/modules/manager/circleci/__fixtures__/config2.yml
index cf55b2aebc4d878e9754c89ba9884faeb72deabf..3f885f3e5c0a1596085b88a729b35ea2d15973ba 100644
--- a/lib/modules/manager/circleci/__fixtures__/config2.yml
+++ b/lib/modules/manager/circleci/__fixtures__/config2.yml
@@ -5,11 +5,11 @@ orbs:
   release-workflows: hutson/library-release-workflows@4.1.0
   # Comments help me understand my work.
   # The next line is intentionally just whitespace!
-  
+
   no-version: abc/def
 
   # Comments help me understand my work.
-  volatile: zzz/zzz@volatile
+  volatile: zzz/zzz@volatile # Comments help me understand my work.
 
 test_plan: &test_plan
   steps:
diff --git a/lib/modules/manager/circleci/extract.ts b/lib/modules/manager/circleci/extract.ts
index fe1e6adf445e226fe95001d7964aaeec6da5a187..9d971de87724c03e0045ae6f12b57e640c433721 100644
--- a/lib/modules/manager/circleci/extract.ts
+++ b/lib/modules/manager/circleci/extract.ts
@@ -29,7 +29,9 @@ export function extractPackageFile(
             lineNumber += 1;
             continue;
           }
-          const orbMatch = regEx(/^\s+([^:]+):\s(.+)$/).exec(orbLine);
+          const orbMatch = regEx(/^\s+([^:]+):\s(.+?)(?:\s*#.*)?$/).exec(
+            orbLine,
+          );
           if (orbMatch) {
             logger.trace('orbMatch');
             foundOrbOrNoop = true;