
Ansible will throw this error when you are trying to display the stdout (or) stderr of a task during playbook runtime. This error is a result of the playbook configured to use “become”. And have not been properly configured “become_method: runas” for a windows target, and as such it is attempting to use the sudo become plugin. Here are some related contents: How to view installed packages in Cygwin in Windows, how to configure Kerberos for Ansible Authentication, and how to determine Cygwin version.
TASK [Gathering Facts] **** An exception occurred during task execution. To see the full traceback, use -vvv. The error was: AttributeError: 'ShellModule' object has no attribute 'ECHO' fatal: [192.168.178.43]: FAILED! => {"msg": "Unexpected failure during module execution.", "stdout": ""}
ShellModule AttributeError ECHO error

Solution: Set “ansible_become_method: runas” in your Ansible inventory file. Otherwise, it is trying to use sudo (the default) on a Windows machine, which will not work.
ansible_become_method: runas
– Adjust the inventory file. Therefore, setting become_method to runas, which is the only method supported by Windows.
Furthermore, To view full traceback, use the command below (where createfile.ym will be replaced by your playbook). For more information, PLEASE review this link
- ansible-playbook -b -vvv createfile.yml
However, The ShellModule AttributeError ECHO error parameters are explained below
-b: run operations with become (same as —become).
-vvv: verbose mode (-vvv for more, -vvvv to enable connection debugging).
I hope you found this blog post on ShellModule AttributeError ECHO error helpful. Moreover, Please let me know in the comment session if you have any questions.