diff --git a/src/create_hooks.rs b/src/create_hooks.rs
index 07f249204c9d87a1be6ee5c8b1014d35ce60b73d..916e6d57fa1e1d12ac467d3d8effb1bd277760d7 100644
--- a/src/create_hooks.rs
+++ b/src/create_hooks.rs
@@ -86,12 +86,14 @@ fn create_file(folder: &PathBuf, file_name: &str, content: &str) {
 ///
 /// # Arguments
 /// * `compression`: The compression that will automatically be used to save the results folder (no, lz4, zstd, zlib or lzma) after a git commit
-pub fn create_hooks(compression: &str) {
+/// * `mode`: `mode`: The checkout mode used by gblk automatically after a git checkout: soft or hard.
+pub fn create_hooks(compression: &str, mode: &str) {
     let git_folder = get_hooks_folder();
     let post_commit_cmd = format!("gblk commit --compression {}", &compression);
     let post_commit_cmd = post_commit_cmd.as_str();
     let pre_co_cmd = "gblk pre-co";
-    let post_co_cmd = "gblk checkout";
+    let post_co_cmd = format!("gblk checkout --mode {}", mode);
+    let post_co_cmd = post_co_cmd.as_str();
     let v = vec![post_commit_cmd, pre_co_cmd, post_co_cmd];
     let file_name = vec!["post-commit", "pre-checkout", "post-checkout"];
     for (c_cmd, fname) in v.iter().zip(file_name.iter()) {