diff --git a/src/data.rs b/src/data.rs
index 43c8a184babfbb2a4c949a019554264308a4f395..d995c94939b4194185577514c758c497f0642c86 100644
--- a/src/data.rs
+++ b/src/data.rs
@@ -63,7 +63,7 @@ impl Default for Data {
 	fn default() -> Self {
 		let project_dir = directories::ProjectDirs::from("org", "duniter", "gcli").unwrap();
 		if !project_dir.data_dir().exists() {
-			std::fs::create_dir(project_dir.data_dir()).expect("could not create data dir");
+			std::fs::create_dir_all(project_dir.data_dir()).expect("could not create data dir");
 		};
 		Self {
 			project_dir,