diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 04a0e7c67654cb5747cc6c520b58b046be84f0bd..6f4feaff1c9d8b9f9ed42d8647ee79d0e35fe795 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,7 +6,7 @@ variables:
 
 
 before_script:
-  - git config --global --add safe.directory ${CI_PROJECT_DIR}
+  - if [[ $CI_RUNNER_TAGS == *"docker,"* ]]; then git config --global --add safe.directory ${CI_PROJECT_DIR}; fi
   - python3 ./bob/devtools/bootstrap.py -vv build
   - source ${CONDA_ROOT}/etc/profile.d/conda.sh
   - conda activate base
diff --git a/bob/devtools/data/gitlab-ci/docs.yaml b/bob/devtools/data/gitlab-ci/docs.yaml
index 7cac3f2fac84ab16714b7098205a432a8402e2fe..75bf044e9f67d404835f338d734c0e77b4f3fd48 100644
--- a/bob/devtools/data/gitlab-ci/docs.yaml
+++ b/bob/devtools/data/gitlab-ci/docs.yaml
@@ -29,7 +29,7 @@ stages:
     - python3 bootstrap.py -vv channel base
     - source ${CONDA_ROOT}/etc/profile.d/conda.sh
     - conda activate base
-    - git config --global --add safe.directory ${CI_PROJECT_DIR}
+    - if [[ $CI_RUNNER_TAGS == *"docker,"* ]]; then git config --global --add safe.directory ${CI_PROJECT_DIR}; fi
     - conda clean --all
   cache:
     paths:
diff --git a/bob/devtools/data/gitlab-ci/nightlies.yaml b/bob/devtools/data/gitlab-ci/nightlies.yaml
index 82eff798d4d69f84449161e9d740410478cadf2a..a81f6afa84720753b7b0daccb1f6a7aa7710cd23 100644
--- a/bob/devtools/data/gitlab-ci/nightlies.yaml
+++ b/bob/devtools/data/gitlab-ci/nightlies.yaml
@@ -22,7 +22,7 @@ stages:
     - curl --silent "${BOOTSTRAP}" --output "bootstrap.py"
     - python3 bootstrap.py -vv channel base
     - source ${CONDA_ROOT}/etc/profile.d/conda.sh
-    - git config --global --add safe.directory ${CI_PROJECT_DIR}
+    - if [[ $CI_RUNNER_TAGS == *"docker,"* ]]; then git config --global --add safe.directory ${CI_PROJECT_DIR}; fi
     - conda activate base
     - conda clean --all
   cache:
diff --git a/bob/devtools/data/gitlab-ci/noarch.yaml b/bob/devtools/data/gitlab-ci/noarch.yaml
index a3ffb0139d6dd01156f50aeb4b992d1b4f14f284..c6ca6f5f617df42c986fe993b3fff56b4b621462 100644
--- a/bob/devtools/data/gitlab-ci/noarch.yaml
+++ b/bob/devtools/data/gitlab-ci/noarch.yaml
@@ -25,7 +25,7 @@ stages:
     - python3 bootstrap.py -vv channel base
     - source ${CONDA_ROOT}/etc/profile.d/conda.sh
     # for conda inspect during builds (on macos)
-    - git config --global --add safe.directory ${CI_PROJECT_DIR}
+    - if [[ $CI_RUNNER_TAGS == *"docker,"* ]]; then git config --global --add safe.directory ${CI_PROJECT_DIR}; fi
     - conda activate base
     - bdt ci check -vv
     - conda clean --all
diff --git a/bob/devtools/data/gitlab-ci/python-package.yaml b/bob/devtools/data/gitlab-ci/python-package.yaml
index 3bb9f85142c111450d963b1a15d6840269b8fa68..01a0e335ced59b57368c6034ccaac524f905f489 100644
--- a/bob/devtools/data/gitlab-ci/python-package.yaml
+++ b/bob/devtools/data/gitlab-ci/python-package.yaml
@@ -27,7 +27,7 @@ build:
     - docker
   stage: build
   before_script:
-    - git config --global --add safe.directory ${CI_PROJECT_DIR}
+    - if [[ $CI_RUNNER_TAGS == *"docker,"* ]]; then git config --global --add safe.directory ${CI_PROJECT_DIR}; fi
     - pip install twine pre-commit sphinx sphinx-rtd-theme
   script:
     - "[ -r .pre-commit-config.yaml ] && pre-commit run --all-files --show-diff-on-failure --verbose"
diff --git a/bob/devtools/data/gitlab-ci/single-package.yaml b/bob/devtools/data/gitlab-ci/single-package.yaml
index 346579238f69bf625786224179b5ce15198be61c..4df03e18d7d9965cca0d75b785c1b086ad7e6a26 100644
--- a/bob/devtools/data/gitlab-ci/single-package.yaml
+++ b/bob/devtools/data/gitlab-ci/single-package.yaml
@@ -26,7 +26,7 @@ stages:
     - source ${CONDA_ROOT}/etc/profile.d/conda.sh
     # for conda inspect during builds (on macos)
     - conda activate base
-    - git config --global --add safe.directory ${CI_PROJECT_DIR}
+    - if [[ $CI_RUNNER_TAGS == *"docker,"* ]]; then git config --global --add safe.directory ${CI_PROJECT_DIR}; fi
     - bdt ci check -vv
     - conda clean --all
   cache: