diff --git a/modules/drivers/mongo/src/metabase/driver/mongo/parameters.clj b/modules/drivers/mongo/src/metabase/driver/mongo/parameters.clj
index 8e64991d74f6c09e082a795d6525983dc55dc06c..f24e3d541d953716fdd4fe0d0e6e57fbf7221298 100644
--- a/modules/drivers/mongo/src/metabase/driver/mongo/parameters.clj
+++ b/modules/drivers/mongo/src/metabase/driver/mongo/parameters.clj
@@ -35,6 +35,10 @@
 (defn- param-value->str
   [{coercion :coercion_strategy, :as field} x]
   (cond
+    ;; #30136: Provide a way of using dashboard filter as a variable.
+    (and (sequential? x) (= (count x) 1))
+    (recur field (first x))
+
     ;; sequences get converted to `$in`
     (sequential? x)
     (format "{$in: [%s]}" (str/join ", " (map (partial param-value->str field) x)))
diff --git a/modules/drivers/mongo/test/metabase/driver/mongo/parameters_test.clj b/modules/drivers/mongo/test/metabase/driver/mongo/parameters_test.clj
index 98c6cd8015b2b804f205d6c7d8361d2ac2c8ee18..6a886ba84a2c529a813149c66fa94de4387b4f08 100644
--- a/modules/drivers/mongo/test/metabase/driver/mongo/parameters_test.clj
+++ b/modules/drivers/mongo/test/metabase/driver/mongo/parameters_test.clj
@@ -96,8 +96,8 @@
     (is (= "{$in: [1, 2, 3]}"
            (substitute {:id [1 2 3]}
                        [(param :id)]))))
-  (testing "multiple-values single (#22486)"
-    (is (= "{$in: [\"33 Taps\"]}"
+  (testing "multiple-values single (#30136)"
+    (is (= "\"33 Taps\""
            (substitute {:id ["33 Taps"]}
                        [(param :id)]))))
   (testing "multiple-values multi (#22486)"