ansible.builtin.gather_facts – Gathers facts about remote hosts


This module is part of ansible-base and included in all Ansible installations. In most cases, you can use the short module name gather_facts even without specifying the collections: keyword. Despite that, we recommend you use the FQCN for easy linking to the module documentation and to avoid conflicting with other collections that may have the same module name.

New in version 2.8: of ansible.builtin


  • This module takes care of executing the configured facts modules, the default is to use the ansible.builtin.setup module.

  • This module is automatically called by playbooks to gather useful variables about remote hosts that can be used in playbooks.

  • It can also be executed directly by /usr/bin/ansible to check what variables are available to a host.

  • Ansible provides many facts about the system, automatically.


This module has a corresponding action plugin.


Parameter Choices/Defaults Comments
  • no
  • yes
A toggle that controls if the fact modules are executed in parallel or serially and in order. This can guarantee the merge order of module facts at the expense of performance.
By default it will be true if more than one fact module is used.



  • This module is mostly a wrapper around other fact gathering modules.

  • Options passed to this module must be supported by all the underlying fact modules configured.

  • Facts returned by each module will be merged, conflicts will favor ‘last merged’. Order is not guaranteed, when doing parallel gathering on multiple modules.


# Display facts from all hosts and store them indexed by I(hostname) at C(/tmp/facts).
# ansible all -m gather_facts --tree /tmp/facts


  • Ansible Core Team