diff --git a/ansible/roles/cheaha.node/tasks/zsh.yml b/ansible/roles/cheaha.node/tasks/zsh.yml
index 8b66b1c1f157c9fe306173e01cbc40f536c798fb..5bb577cc10bee5e41cc2ba5705af6f742493f58b 100644
--- a/ansible/roles/cheaha.node/tasks/zsh.yml
+++ b/ansible/roles/cheaha.node/tasks/zsh.yml
@@ -1,7 +1,7 @@
 ---
 - name: Download and untar zsh
   ansible.builtin.unarchive:
-    src: https://www.zsh.org/pub/zsh-5.9.tar.xz
+    src: "{{ zsh_src_url }}"
     dest: /tmp
     remote_src: true
     validate_certs: no
@@ -9,19 +9,19 @@
 - name: Configure zsh
   ansible.builtin.command: ./configure
   args:
-    chdir: /tmp/zsh-5.9
+    chdir: "/tmp/zsh-{{ zsh_ver }}"
   become: true
 
 - name: Make zsh
   ansible.builtin.command: make
   args:
-    chdir: /tmp/zsh-5.9
+    chdir: "/tmp/zsh-{{ zsh_ver }}"
   become: true
 
 - name: Install zsh
   ansible.builtin.command: make install
   args:
-    chdir: /tmp/zsh-5.9
+    chdir: "/tmp/zsh-{{ zsh_ver }}"
   become: true
 
 - name: Add zsh into /etc/shells
diff --git a/ansible/roles/cheaha.node/vars/main.yml b/ansible/roles/cheaha.node/vars/main.yml
index d6c81c2de668d9e1811f655138f608c29acc4997..801effeb45e69f2064ea316f4d69d7c1ba9b4794 100644
--- a/ansible/roles/cheaha.node/vars/main.yml
+++ b/ansible/roles/cheaha.node/vars/main.yml
@@ -1,2 +1,4 @@
 ---
 # vars file for cheaha.node
+  zsh_ver: 5.7.1
+  zsh_src_url: "https://www.zsh.org/pub/old/zsh-{{ zsh_ver }}.tar.xz"