ansible.builtin.slurp – Slurps a file from remote nodes


This module is part of ansible-base and included in all Ansible installations. In most cases, you can use the short module name slurp 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.


  • This module works like ansible.builtin.fetch. It is used for fetching a base64- encoded blob containing the data in a remote file.

  • This module is also supported for Windows targets.


Parameter Choices/Defaults Comments
path / required
The file on the remote system to fetch. This must be a file, not a directory.

aliases: path



  • This module returns an ‘in memory’ base64 encoded version of the file, take into account that this will require at least twice the RAM as the original file size.

  • This module is also supported for Windows targets.

  • Supports check_mode.

See Also

See also


The official documentation on the ansible.builtin.fetch module.


- name: Find out what the remote machine's mounts are
    src: /proc/mounts
  register: mounts

- name: Print returned information
    msg: "{{ mounts['content'] | b64decode }}"

# From the commandline, find the pid of the remote machine's sshd
# $ ansible host -m slurp -a 'src=/var/run/'
# host | SUCCESS => {
#     "changed": false,
#     "content": "MjE3OQo=",
#     "encoding": "base64",
#     "source": "/var/run/"
# }
# $ echo MjE3OQo= | base64 -d
# 2179


  • Ansible Core Team

  • Michael DeHaan (@mpdehaan)