diff --git a/src/gitlab-tofu.sh b/src/gitlab-tofu.sh
index 7c7826e0865d8214b147d4a49f7ec1a823de66ad..aaf5dcf8ecf6d1928f017f88a54256fbe2e78512 100644
--- a/src/gitlab-tofu.sh
+++ b/src/gitlab-tofu.sh
@@ -33,6 +33,8 @@
 # CI_JOB_TOKEN:
 #   - used as default value for TF_HTTP_PASSWORD.
 #   - used as value for TF_TOKEN_<host> variable.
+# CI_PROJECT_DIR:
+#   - used as default value for root directory.
 
 # set some shell options
 set -o errexit
@@ -123,7 +125,7 @@ fi
 if [ -n "${TF_ROOT}" ]; then
   abs_tf_root=$(cd "${CI_PROJECT_DIR}"; realpath "${TF_ROOT}")
 
-  TF_CHDIR_OPT="-chdir=${abs_tf_root}"
+  tf_chdir_opt="-chdir=${abs_tf_root}"
 
   default_tf_plan_cache="${abs_tf_root}/${GITLAB_TOFU_PLAN_NAME}.cache"
   default_tf_plan_json="${abs_tf_root}/${GITLAB_TOFU_PLAN_NAME}.json"
@@ -216,7 +218,7 @@ terraform_init() {
 
   # We want to allow word splitting here for TF_INIT_FLAGS
   # shellcheck disable=SC2086
-  tofu "${TF_CHDIR_OPT}" init "${@}" -input=false ${tf_init_reconfigure_flag} ${TF_INIT_FLAGS} \
+  tofu "${tf_chdir_opt}" init "${@}" -input=false ${tf_init_reconfigure_flag} ${TF_INIT_FLAGS} \
     1>&2 || $TF_IGNORE_INIT_ERRORS
 }
 
@@ -236,18 +238,18 @@ if [ $sourced -eq 0 ]; then
     "apply")
       $TF_IMPLICIT_INIT && terraform_init
       if [ "$GITLAB_TOFU_APPLY_NO_PLAN" = false ]; then
-        tofu "${TF_CHDIR_OPT}" "${@}" -input=false -auto-approve "${GITLAB_TOFU_PLAN_CACHE}"
+        tofu "${tf_chdir_opt}" "${@}" -input=false -auto-approve "${GITLAB_TOFU_PLAN_CACHE}"
       else
         # shellcheck disable=SC2086
-        tofu "${TF_CHDIR_OPT}" "${@}" -input=false -auto-approve ${var_file_args}
+        tofu "${tf_chdir_opt}" "${@}" -input=false -auto-approve ${var_file_args}
       fi
     ;;
     "destroy")
       $TF_IMPLICIT_INIT && terraform_init
-      tofu "${TF_CHDIR_OPT}" "${@}" -auto-approve
+      tofu "${tf_chdir_opt}" "${@}" -auto-approve
     ;;
     "fmt")
-      tofu "${TF_CHDIR_OPT}" "${@}" -check -diff -recursive
+      tofu "${tf_chdir_opt}" "${@}" -check -diff -recursive
     ;;
     "init")
       # shift argument list „one to the left“ to not call 'terraform init init'
@@ -262,11 +264,11 @@ if [ $sourced -eq 0 ]; then
 
       $TF_IMPLICIT_INIT && terraform_init
       # shellcheck disable=SC2086
-      tofu "${TF_CHDIR_OPT}" "${@}" -input=false -out="${GITLAB_TOFU_PLAN_CACHE}" ${var_file_args} ${plan_args} && ret=$? || ret=$?
+      tofu "${tf_chdir_opt}" "${@}" -input=false -out="${GITLAB_TOFU_PLAN_CACHE}" ${var_file_args} ${plan_args} && ret=$? || ret=$?
 
       if [ "${GITLAB_TOFU_PLAN_WITH_JSON}" = 'true' ]; then
         if [ "$ret" -eq 0 ] || [ "$ret" -eq 2 ]; then
-          if ! tofu "${TF_CHDIR_OPT}" show -json "${GITLAB_TOFU_PLAN_CACHE}" | jq -r "${JQ_PLAN}" > "${GITLAB_TOFU_PLAN_JSON}"; then
+          if ! tofu "${tf_chdir_opt}" show -json "${GITLAB_TOFU_PLAN_CACHE}" | jq -r "${JQ_PLAN}" > "${GITLAB_TOFU_PLAN_JSON}"; then
             exit $?
           fi
 
@@ -278,29 +280,29 @@ if [ $sourced -eq 0 ]; then
       exit "$ret"
     ;;
     "plan-json")
-      tofu "${TF_CHDIR_OPT}" show -json "${GITLAB_TOFU_PLAN_CACHE}" | jq -r "${JQ_PLAN}" > "${GITLAB_TOFU_PLAN_JSON}"
+      tofu "${tf_chdir_opt}" show -json "${GITLAB_TOFU_PLAN_CACHE}" | jq -r "${JQ_PLAN}" > "${GITLAB_TOFU_PLAN_JSON}"
     ;;
     "validate")
       $TF_IMPLICIT_INIT && terraform_init -backend=false
       # shellcheck disable=SC2086
-      tofu "${TF_CHDIR_OPT}" "${@}" ${var_file_args}
+      tofu "${tf_chdir_opt}" "${@}" ${var_file_args}
     ;;
     "test")
       $TF_IMPLICIT_INIT && terraform_init -backend=false
       # shellcheck disable=SC2086
-      tofu "${TF_CHDIR_OPT}" "${@}" ${var_file_args}
+      tofu "${tf_chdir_opt}" "${@}" ${var_file_args}
     ;;
     "graph")
       $TF_IMPLICIT_INIT && terraform_init
       # shellcheck disable=SC2086
-      tofu "${TF_CHDIR_OPT}" "${@}" ${var_file_args}
+      tofu "${tf_chdir_opt}" "${@}" ${var_file_args}
     ;;
     --)
       shift
-      tofu "${TF_CHDIR_OPT}" "${@}"
+      tofu "${tf_chdir_opt}" "${@}"
     ;;
     *)
-      tofu "${TF_CHDIR_OPT}" "${@}"
+      tofu "${tf_chdir_opt}" "${@}"
     ;;
   esac
 else