How can I hide skipped tasks output in Ansible

Ansible allows you to control its output by using custom callbacks.

In this case you can simply use the skippy callback which will not output anything on a skipped task.

That said, skippy is now deprecated and will be removed in ansible v2.11.


I'm assuming you don't want to see the skipped tasks in the output while running Ansible.

Set this to false in the ansible.cfg file.

display_skipped_hosts = false

Note. It will still output the name of the task although it will not display "skipped" anymore.

UPDATE: by the way you need to make sure ansible.cfg is in the current working directory.

Taken from the ansible.cfg file.

ansible will read ANSIBLE_CONFIG, ansible.cfg in the current working directory, .ansible.cfg in the home directory or /etc/ansible/ansible.cfg, whichever it finds first.

So ensure you are setting display_skipped_hosts = false in the right ansible.cfg file.

Let me know how you go


Since ansible 2.4, a callback plugin name full_skip was added to suppress the skipping of task names and skipping keyword in the ansible output. You can try the below ansible configuration:

[defaults]
stdout_callback = full_skip