diff --git a/src/nix/describe-stores.cc b/src/nix/describe-stores.cc
index 027187bd9ea90a22070eb7143bba4fb6874deee9..0cc2d93378fd9f7a332fe8bab412cdb08093947f 100644
--- a/src/nix/describe-stores.cc
+++ b/src/nix/describe-stores.cc
@@ -27,7 +27,16 @@ struct CmdDescribeStores : Command, MixJSON
         if (json) {
             std::cout << res;
         } else {
-            throw Error("Only json is available for describe-stores");
+            for (auto & [storeName, storeConfig] : res.items()) {
+                std::cout << "## " << storeName << std::endl << std::endl;
+                for (auto & [optionName, optionDesc] : storeConfig.items()) {
+                    std::cout << "### " << optionName << std::endl << std::endl;
+                    std::cout << optionDesc["description"].get<std::string>() << std::endl;
+                    std::cout << "default: " << optionDesc["defaultValue"] << std::endl <<std::endl;
+                    if (!optionDesc["aliases"].empty())
+                        std::cout << "aliases: " << optionDesc["aliases"] << std::endl << std::endl;
+                }
+            }
         }
     }
 };