diff --git a/components/common/cpp/src/configuration.cpp b/components/common/cpp/src/configuration.cpp
index f8c982a811652252f14205b00e7f778d906ab8ed..9fd9d3081f18781ce0474438a3e1829d3b082b33 100644
--- a/components/common/cpp/src/configuration.cpp
+++ b/components/common/cpp/src/configuration.cpp
@@ -438,7 +438,7 @@ static bool findConfiguration(const string &file, const vector<string> &paths) {
 	}
 
 	if (found) {
-		_indexConfig(config);
+		//_indexConfig(config);
 		return true;
 	} else {
 		return false;
@@ -593,6 +593,9 @@ Configurable *ftl::config::configure(int argc, char **argv, const std::string &r
 
 	string root_str = (options.find("root") != options.end()) ? nlohmann::json::parse(options["root"]).get<string>() : root;
 
+	if (options.find("id") != options.end()) config["$id"] = nlohmann::json::parse(options["id"]).get<string>();
+	_indexConfig(config);
+
 	Configurable *rootcfg = create<Configurable>(config);
 	if (root_str.size() > 0) {
 		LOG(INFO) << "Setting root to " << root_str;