diff --git a/tools/scaffolding/scaffolder.go b/tools/scaffolding/scaffolder.go
index 0d548ecfa912223265f618798d802335a9e5bbbd..1f61828cf1488a22c97fed02b73a0200a62e40e9 100644
--- a/tools/scaffolding/scaffolder.go
+++ b/tools/scaffolding/scaffolder.go
@@ -270,6 +270,15 @@ func main() {
 		os.Exit(1)
 	}
 
+	// Fix tilde HOME path.
+	if strings.HasPrefix(dest, "~/") {
+		homeUser, err := user.Current()
+		if err != nil {
+			log.Fatal("could not get user's information", err)
+		}
+		dest = filepath.Join(homeUser.HomeDir, dest[2:])
+	}
+
 	// Check if dest exists.
 	if _, err := os.Stat(dest); !os.IsNotExist(err) {
 		log.Fatal("ERROR destination folder exists")