ansible.builtin.fileglob – list files matching a pattern


This module is part of ansible-core and included in all Ansible installations. In most cases, you can use the short module name fileglob even without specifying the collections: keyword. However, 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 1.4: of ansible.builtin


  • Matches all files in a single directory, non-recursively, that match a pattern. It calls Python’s “glob” library.


Parameter Choices/Defaults Configuration Comments
string / required
path(s) of files to read



  • Patterns are only supported on files, not directory/paths.

  • Matching is against local system files on the Ansible controller. To iterate a list of files on a remote node, use the ansible.builtin.find module.

  • Returns a string list of paths joined by commas, or an empty list if no files match. For a ‘true list’ pass wantlist=True to the lookup.


- name: Display paths of all .txt files in dir
  debug: msg={{ lookup('fileglob', '/my/path/*.txt') }}

- name: Copy each file over that matches the given pattern
    src: "{{ item }}"
    dest: "/etc/fooapp/"
    owner: "root"
    mode: 0600
    - "/playbooks/files/fooapp/*"

Return Values

Common return values are documented here, the following are the fields unique to this lookup:

Key Returned Description
list / elements=path
list of files


  • Michael DeHaan