diff --git a/tasks/apps.yml b/tasks/apps.yml
index a0e7a50f4023cbe1f22df6d4032115ec199d8e7b..bf552033324e7a877e1999d72cbb1d606cff171c 100644
--- a/tasks/apps.yml
+++ b/tasks/apps.yml
@@ -1,6 +1,6 @@
 ---
 - name: List currently installed apps
-  ansible.builtin.shell: yunohost app map --output-as json
+  ansible.builtin.command: yunohost app map --output-as json
   register: ynh_installed_apps_raw
   changed_when: False
 
@@ -8,7 +8,7 @@
   ansible.builtin.set_fact: ynh_installed_apps="{{ ynh_installed_apps_raw.stdout | from_json }}"
 
 - name: Install yunohost apps
-  ansible.builtin.shell: yunohost app install {{ item.link }} \
+  ansible.builtin.command: yunohost app install {{ item.link }} \
      --label "{{ item.label }}" \
      --args "{% for key, value in item.args.items() %}{{ key }}={{ value 
     }}{% if not loop.last %}&{% endif %}{% endfor %}"
diff --git a/tasks/domains.yml b/tasks/domains.yml
index db41c0a0371693fb0863265976c54efb8fc46921..7c9ad27582957e9574ed799456bd47ac54e5f80e 100644
--- a/tasks/domains.yml
+++ b/tasks/domains.yml
@@ -1,6 +1,6 @@
 ---
 - name: List currently installed domains
-  ansible.builtin.shell: yunohost domain list --output-as json
+  ansible.builtin.command: yunohost domain list --output-as json
   register: ynh_installed_domains_raw
   changed_when: False
 
@@ -8,6 +8,6 @@
   ansible.builtin.set_fact: ynh_installed_domains="{{ ynh_installed_domains_raw.stdout | from_json }}"
 
 - name: Create domains
-  ansible.builtin.shell: yunohost domain add {{ item }}
+  ansible.builtin.command: yunohost domain add {{ item }}
   with_items: "{{ ynh_extra_domains }}"
   when: item not in ynh_installed_domains.domains
diff --git a/tasks/main.yml b/tasks/main.yml
index 3d9e9baf60bb61b90bc29384bc2536aacc3c9ac0..35f49e8ba1a6446e8e447a8bb3656d1ae1244eaa 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -22,7 +22,7 @@
   when: ynh_file_install.stat.exists == False
 
 - name: Launch Yunohost postinstall
-  ansible.builtin.shell: "
+  ansible.builtin.command: "
     yunohost tools postinstall \
       --domain {{ ynh_main_domain }} \
       --password {{ ynh_admin_password }} \
@@ -34,10 +34,10 @@
   when: ynh_extra_domains
 
 - name: Run first Yunohost diagnosis
-  ansible.builtin.shell: yunohost diagnosis run
+  ansible.builtin.command: yunohost diagnosis run
 
 - name: Install domain certificates
-  ansible.builtin.shell: yunohost domain cert-install
+  ansible.builtin.command: yunohost domain cert-install
   changed_when: False
 
 - name: Add Yunohost users
diff --git a/tasks/users.yml b/tasks/users.yml
index f3e7eb14c2070c00304a78a267f0451c67aea5d8..446bfdc27ed386785fa0590e29cd11ef792120dd 100644
--- a/tasks/users.yml
+++ b/tasks/users.yml
@@ -1,6 +1,6 @@
 ---
 - name: List users
-  ansible.builtin.shell: yunohost user list --output-as json
+  ansible.builtin.command: yunohost user list --output-as json
   register: ynh_registered_users_raw
   changed_when: False
 
@@ -8,7 +8,7 @@
   ansible.builtin.set_fact: ynh_registered_users="{{ ynh_registered_users_raw.stdout | from_json }}"
 
 - name: Create missing Yunohost users
-  ansible.builtin.shell: |
+  ansible.builtin.command: |
     yunohost user create {{ item.name }} \
     -f {{ item.firstname }} \
     -l {{ item.lastname }} \