diff --git a/main.cpp b/main.cpp
index 53353e6..59165da 100644
--- a/main.cpp
+++ b/main.cpp
@@ -18,13 +18,16 @@
 #include "Coordinator.h"
 #include "Scope.h"
 
+#include <android-base/logging.h>
 #include <hidl-hash/Hash.h>
 #include <hidl-util/Formatter.h>
 #include <hidl-util/FQName.h>
 #include <hidl-util/StringHelper.h>
-#include <android-base/logging.h>
+
+#include <limits.h>
 #include <set>
 #include <stdio.h>
+#include <stdlib.h>
 #include <string>
 #include <unistd.h>
 #include <vector>
@@ -1189,6 +1192,16 @@
     return OK;
 }
 
+std::string realpath(const std::string &path) {
+    char result[PATH_MAX];
+
+    if (!realpath(path.c_str(), result)) {
+        return "";
+    }
+
+    return result;
+}
+
 static std::vector<OutputHandler> formats = {
     {"check",
      "Parses the interface to see if valid but doesn't write any files.",
@@ -1356,8 +1369,9 @@
                     exit(1);
                 }
 
-                auto root = val.substr(0, index);
-                auto path = val.substr(index + 1);
+                // bash won't expand '.' or '~' inside package root
+                const std::string root = val.substr(0, index);
+                const std::string path = realpath(val.substr(index + 1));
 
                 std::string error;
                 status_t err = coordinator.addPackagePath(root, path, &error);
