diff --git a/binarycpython/utils/grid.py b/binarycpython/utils/grid.py
index ff4d582c640d13485639080ebdaf2c0d0ec3707a..bfb90e8879ffa4b023025b389d31866b602426c8 100644
--- a/binarycpython/utils/grid.py
+++ b/binarycpython/utils/grid.py
@@ -1028,12 +1028,13 @@ class Population:
         # Put the values back as object properties
         self.grid_results = combined_output_dict["results"]
 
+        #################################
         # Put Ensemble results
         self.grid_ensemble_results = combined_output_dict[
             "ensemble_results"
         ]  # Ensemble results are also passed as output from that dictionary
 
-        # Add some metadata
+        # Add metadata
         self.grid_ensemble_results["metadata"] = {}
         self.grid_ensemble_results["metadata"]["population_id"] = self.grid_options[
             "_population_id"
@@ -1046,7 +1047,17 @@ class Population:
             multiply_values_dict(self.grid_ensemble_results['ensemble'], 1/self.grid_ensemble_results["metadata"]['total_probability_weighted_mass'])
             self.grid_ensemble_results["metadata"]["factored_in_probability_weighted_mass"] = True
 
-        # 
+        # Add settings of the populations
+        all_info = self.return_all_info(
+            include_population_settings=True,
+            include_binary_c_defaults=True,
+            include_binary_c_version_info=True,
+            include_binary_c_help_all=True,
+        )
+        self.grid_ensemble_results["metadata"]["settings"] = copy.deepcopy(all_info)
+
+        ##############################
+        # Update grid options
         self.grid_options["_failed_count"] = combined_output_dict["_failed_count"]
         self.grid_options["_failed_prob"] = combined_output_dict["_failed_prob"]
         self.grid_options["_failed_systems_error_codes"] = list(